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

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

[复制链接]

160

主题

385

回帖

7427

积分

管理员

积分
7427
金钱
2133
贡献
4749
注册时间
2023-11-3
QQ
发表于 2023-12-9 17:54:37 | 显示全部楼层 |阅读模式
SourceCode_Win7DKLauncher.txt (3.77 KB, 下载次数: 0, 售价: 5 贡献)
" L- k4 B- P% }3 c& ]- [1 y$ Z+ v# S/ G5 D; i1 p
虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。
& F+ K3 F  V8 ]; v( V% s
  Q' d, l0 b$ T9 X8 Y- N6 B  G4 q
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。
    0 _9 s$ {% y; Q6 m8 s  e
  2. //
    * }( C$ `: ]+ m2 |4 F5 |! _
  3. 3 @' Z* j) D9 `  @2 a; E+ {3 Q
  4. #include "stdafx.h"% T% a4 E2 _) `4 g( G
  5. #include <iostream>
    & E( r5 d3 {& {* X2 ^5 ^
  6. #include <Windows.h>- z; H  S) |: Z4 T& n0 Q4 o
  7. #include <io.h>* u0 S; R7 i2 O$ ^7 O7 \$ Z

  8. % ?$ Q+ h5 v- {& }: n+ }2 a9 V

  9. 4 z; O  J9 p2 W, W
  10. int _tmain(int argc, _TCHAR* argv[]). {5 |9 T! ^& z; k' f0 [8 q
  11. {
    7 U/ Q' ?! }/ A+ e9 ^& c! D
  12.         printf("Dekaron-Server Launcher by Toasty\n");& O/ k3 t1 \2 H7 \9 r! w9 i
  13. 9 \3 n* ^9 U: h  X( D: _7 Q
  14.         //查看文件“DekaronServer.exe”是否存在, b3 Z& M. k2 H& c( t( S) G
  15.         if(_access("DekaronServer.exe", 0) == -1)
    1 I% C0 E9 W* u7 W) f" v3 m
  16.         {( o% d3 h6 o1 M& I2 A! }
  17.                 printf("DekaronServer.exe not found!\n");
    * L$ L- s9 I$ i1 V0 P) A6 z' c
  18.                 printf("Program will close in 5seconds\n");
    % l; N2 p: q# B3 B& E
  19.                 Sleep(5000);
    0 K) }- D) o7 O+ L9 D+ K
  20.         }% a. c& B( O7 q0 l
  21.         else
    * h% d  x) `1 g* ?4 S: E1 z
  22.         {
    9 R1 S2 Y+ S1 r0 ^9 a$ R
  23.                 $ Z7 G6 d  j' G! z9 b
  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$ _7 w+ @5 L# V7 t$ \$ p$ \& G$ T
  25.                 STARTUPINFO si;
    ! w2 p. B% d* i0 \( O( ^  ^

  26. 9 F! d( _" e5 r9 {; g  G# G
  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
    / u( b0 ~& s) O$ t
  28.                 PROCESS_INFORMATION pi;9 V+ A- S+ r* m5 p& ~# |$ [8 w
  29. * o  I; A) `9 o; C3 }* @. a' f  I
  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).aspx
    , @9 G/ ]( `) i# v" ]: n# F
  31.                 DEBUG_EVENT dbge;5 V5 H: \8 z: J- H9 Z6 u

  32. ) Y9 _" R' \2 l5 k/ ?% ?% O1 a' b7 a1 ~0 ^
  33.                 //Commandline that will used at CreateProcess
    1 V1 f9 e' f9 j  [! t( ~7 ]
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));3 ^& Q* y5 B6 \( J8 A/ B5 \, T

  35. 2 E7 n3 e+ Y* ?% I; v( ~* ?
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)
    & i; J5 l8 D* u# k$ T* S$ @
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn). |- v% g9 M7 E3 r" |2 ?& V3 o5 U
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made)" \7 D/ Y+ j9 c4 g( V

  39. , P7 D4 v" t3 i: N+ @* s
  40. 7 h( f/ Y& J5 H! ?0 R) C: D

  41. / r. @! [: F2 L; {
  42.                 //Start DekaronServer.exe , h0 |$ S2 V4 M* p; T% `
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx- Y2 o5 x0 m, h' ?, L4 `* u9 }) O
  44.                 if( !CreateProcess( NULL,   // No module name (use command line)
    ! t7 d  o( \. v: |
  45.                         szCmdline,        // Command line
    1 @! R. p1 `# F2 n3 s7 r3 y9 I
  46.                         NULL,           // Process handle not inheritable" I2 H6 @+ m  V! ~. x1 @8 e' @- w
  47.                         NULL,           // Thread handle not inheritable
    ( b+ U5 ~: k3 B" s
  48.                         FALSE,          // Set handle inheritance to FALSE* ~  b+ l& u7 E; c" ]- _& D  v
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx
    2 K4 d& U$ Y& |5 Y, c8 K) C
  50.                         NULL,           // Use parent's environment block1 N' P3 Z/ A: H6 _+ s4 y" O
  51.                         NULL,           // Use parent's starting directory
    " M8 K  C* Z# t- P
  52.                         &si,            // Pointer to STARTUPINFO structure
    8 L; B" ]: Z, k7 G5 z% J
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure
    ' S1 S3 t+ U/ {, V7 G. [; r
  54.                 ) # ?5 @! b; H+ ~
  55.                 {
    + J' R4 ~& v* j* X2 F
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );
    ! k4 r. p+ u* N) _5 w2 A( T4 J7 w) U; }
  57.                         return 0;5 o% W/ C1 Y9 y4 |
  58.                 }
    / |; C$ a% }5 t/ L# t9 V% L
  59.                 //Creating Process was sucessful9 u7 Q+ A* Z1 A( u! C9 ]
  60.                 else
    , Z$ v: H$ U7 o9 B7 p# R1 h+ }
  61.                 {
    * U# z1 n" Y. `; U4 z8 b. V% f
  62.                         printf("Sucessfully launched DekaronServer.exe\n");7 e2 |' y8 Y) B' `) y! V' X

  63. - R5 ^, T! a  D/ \
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure
    ; o) @( Q$ n% k
  65.                         dbge.dwProcessId = pi.dwProcessId;2 C/ i) Z: k  _0 b6 O8 e- B3 h
  66.                         dbge.dwProcessId = pi.dwThreadId;8 V! W) |. e1 i6 z4 N5 R5 D7 R
  67. ( a" f/ H+ W& l  X
  68.                         while(true) //infinite loop ("Debugger")! o1 T6 r3 `8 y, \6 E: u3 D) M
  69.                         {
    , r5 e$ L9 L5 E% D$ v) ~% `7 M
  70.                                 WaitForDebugEvent(&dbge, INFINITE); //Wait for an debugevent to occur http://msdn.microsoft.com/en-us/library/windows/desktop/ms681423(v=vs.85).aspx8 x+ i2 p) W9 R3 A

  71. ' @6 j( ~" f- ?/ t2 @+ r, p9 V- m
  72.                                 /** t1 a+ U* J# a1 @
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码

9 h! t1 r) s7 j
* J+ G( O. ~6 H
; ]+ C8 I% X; Z
商业服务端 登录器 网站 出售

15

主题

260

回帖

1292

积分

金牌会员

积分
1292
金钱
931
贡献
81
注册时间
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

主题

207

回帖

355

积分

中级会员

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

15

主题

260

回帖

1292

积分

金牌会员

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

3

主题

102

回帖

7957

积分

论坛元老

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

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-3 15:16 , Processed in 0.040842 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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