找回密码
 立即注册
查看: 3032|回复: 5

[技术文章] Dekaron-用于Win7 / Win2k8R2的服务器启动器

[复制链接]

136

主题

189

回帖

3845

积分

管理员

积分
3845
金钱
1345
贡献
2175
注册时间
2023-11-3
QQ
发表于 2023-12-9 17:54:37 | 显示全部楼层 |阅读模式
SourceCode_Win7DKLauncher.txt (3.77 KB, 下载次数: 0, 售价: 5 贡献) 7 q7 m, d! j# }9 ~0 ?0 m4 C

  `8 K4 X9 y# n8 Z7 Y8 h( h虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。( _* r+ d  B; U. U
, l- J! \* r+ g
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。
    $ ]. p% p- W0 d3 P" D9 {
  2. //# l% G4 t! C; A  k% w

  3. * A6 V5 k# q. ~5 C
  4. #include "stdafx.h"
    & e0 o/ c: ~( ~7 }* d, l: N5 A
  5. #include <iostream>
    # ^1 j( @( h# j0 N8 ~; c" |
  6. #include <Windows.h>- j* g& x* Q9 z# v* _2 z
  7. #include <io.h>; e) d* N. u' q, V: r" P9 Z) g1 A

  8. + d% f! q% K; M4 y3 i& l
  9. 2 W  R5 q' o  ?' x1 l! x
  10. int _tmain(int argc, _TCHAR* argv[])) s4 D, @! M# C- T
  11. {
    0 X: p( ~. W% B  L, y1 w7 a
  12.         printf("Dekaron-Server Launcher by Toasty\n");
    " u. D( }- \: @6 U2 D

  13. ( @7 c6 r! Y: a% D! k
  14.         //查看文件“DekaronServer.exe”是否存在
    + w% L  D, {; v' f" E/ [, w4 J" q- W
  15.         if(_access("DekaronServer.exe", 0) == -1)
    3 T7 V8 x1 F# j9 T7 _$ W" T
  16.         {
    & d! f8 t' \1 f' n9 C5 A
  17.                 printf("DekaronServer.exe not found!\n");% w, \, j+ f1 ]+ X6 f) C& V
  18.                 printf("Program will close in 5seconds\n");' j( U  ^# l$ a5 k
  19.                 Sleep(5000);* Z8 Y* F; l6 o# ]$ q1 [
  20.         }+ o1 n1 n0 R4 W0 B. G* e
  21.         else7 ?+ ^4 M# }5 a9 H0 f, |/ Q, T7 N
  22.         {
    / F( a2 w3 d) a! ]0 t
  23.                 ' J* I- [% x2 Q* s( o
  24.                 //Only needed for the CreateProcess function below, no more use in this programm. More info at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms686331(v=vs.85).aspx  ~% ?9 m3 `; z8 P' d3 G/ x% ?
  25.                 STARTUPINFO si;+ p; t! ~9 t7 u0 A
  26. . f) w. G1 a$ @$ p
  27.                 //Structure where the CreateProcess function will write the ProcessID and ThreadID of the created Process. More info at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms684873(v=vs.85).aspx
    . Y( D; c6 ~5 l6 w: Y# ]( [7 j
  28.                 PROCESS_INFORMATION pi;' x& |% Z& z$ f0 S0 _0 N
  29. / c9 e9 }4 k8 B9 d. z
  30.                 //Debug event structure, needed for WaitForDebugEvent and ContinueDebugEvent. More info at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms679308(v=vs.85).aspx1 w0 H% y. J0 Z* M  ]! U8 ?1 Q. Q
  31.                 DEBUG_EVENT dbge;
    ( I0 d# G* o- b

  32.   w& ?; s% u1 `1 T1 j
  33.                 //Commandline that will used at CreateProcess
    3 h0 Y$ |. B4 y
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));
    : u1 |& k) |3 }$ t4 i
  35. 4 k' ?  X5 ^8 R: R4 T. O
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)' G" H% n8 }6 g. p% X
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn)
    4 e; z1 }9 d# V7 \
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made)
    # Y, t+ F& y( {# {3 B; A, v
  39. 3 C! \' U- H# X' q" s

  40. # D7 \5 D* m' |* C/ w
  41. ' ~; `8 y  e9 v9 _
  42.                 //Start DekaronServer.exe
    1 p( _& t# N5 s. K& N9 j
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx3 I" `9 b5 A+ C' u* `
  44.                 if( !CreateProcess( NULL,   // No module name (use command line)8 U" G5 Z& x7 T
  45.                         szCmdline,        // Command line# u2 q- ]9 b/ h$ R; O/ X
  46.                         NULL,           // Process handle not inheritable
    0 j( l5 N5 q3 G: h* o8 B; ~- p  s
  47.                         NULL,           // Thread handle not inheritable! o9 _& w! `2 R
  48.                         FALSE,          // Set handle inheritance to FALSE9 G/ R& M3 }! W2 A$ D% J3 O" K
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx
    ; o  M" g, `" c8 m% E+ u
  50.                         NULL,           // Use parent's environment block3 `$ k8 G2 {" x
  51.                         NULL,           // Use parent's starting directory " `! N% Q& [# y8 A9 z8 M& F
  52.                         &si,            // Pointer to STARTUPINFO structure
    : b+ V9 Y! l+ v  u
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure
    , _2 W5 h4 K6 T& }0 n! C) j; R* H
  54.                 )
    - Y+ w5 k) I* l, U6 h  c
  55.                 {
    * J9 b/ J& ?! G2 J
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );
    ! e* T0 O! ~% T* ^( o
  57.                         return 0;
    ) Q! D$ ~7 C; }- \7 h9 |# F) l- g
  58.                 }
    + }' q7 Y4 T& [& d8 g9 r8 W
  59.                 //Creating Process was sucessful
    1 D" p5 W, z$ N4 F% x4 D- a
  60.                 else
    $ [) G1 h) U; H& [
  61.                 {
      m9 {- [+ r' W& V! J
  62.                         printf("Sucessfully launched DekaronServer.exe\n");0 S6 O$ `/ E& C9 i" r( m2 w8 \

  63. " \% M3 V7 T; F
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure
    4 e% ~2 `) e, j% a) ~+ D
  65.                         dbge.dwProcessId = pi.dwProcessId;! n7 B% m3 A, m/ t* g1 c
  66.                         dbge.dwProcessId = pi.dwThreadId;# F3 J& Y! a- I6 u" S6 K, a

  67. 4 U+ K% [! E4 _; E5 ~. X
  68.                         while(true) //infinite loop ("Debugger")# P6 O2 M  v& f2 H) @. @: J4 L
  69.                         {- d4 C8 W2 ?1 \
  70.                                 WaitForDebugEvent(&dbge, INFINITE); //Wait for an debugevent to occur http://msdn.microsoft.com/en-us/library/windows/desktop/ms681423(v=vs.85).aspx4 I) ]: T2 K, L' H
  71. ' I' j1 K3 ]+ ?
  72.                                 /*- ?  {9 b; C  B- Q  n7 Q+ h
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码

7 E! Q; [% T- C8 R0 |1 v
6 a1 K0 k: S1 h1 r7 h1 S; H9 R$ n% Y; A
商业服务端 登录器 网站 出售

8

主题

231

回帖

863

积分

高级会员

积分
863
金钱
528
贡献
91
注册时间
2023-11-10
发表于 2023-12-18 20:34:07 | 显示全部楼层
我是来学习的!

21

主题

378

回帖

1013

积分

高级会员

积分
1013
金钱
445
贡献
169
注册时间
2024-1-20
发表于 2024-1-21 13:37:44 | 显示全部楼层
感谢楼主分享,我是来学习的

0

主题

189

回帖

298

积分

注册会员

积分
298
金钱
106
贡献
3
注册时间
2024-5-14
发表于 2024-5-14 15:56:57 | 显示全部楼层
学习学习赞赞赞

8

主题

231

回帖

863

积分

高级会员

积分
863
金钱
528
贡献
91
注册时间
2023-11-10
发表于 2024-5-25 11:48:57 | 显示全部楼层
每天报道一次!

2

主题

83

回帖

971

积分

高级会员

积分
971
金钱
876
贡献
10
注册时间
2023-11-15
QQ
发表于 2024-6-5 17:06:28 | 显示全部楼层
学些大神分享,受用了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EGameol

GMT+8, 2025-4-4 12:16 , Processed in 0.058761 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表