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

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

[复制链接]

157

主题

361

回帖

6695

积分

管理员

积分
6695
金钱
1935
贡献
4242
注册时间
2023-11-3
QQ
发表于 2023-12-9 17:54:37 | 显示全部楼层 |阅读模式
SourceCode_Win7DKLauncher.txt (3.77 KB, 下载次数: 0, 售价: 5 贡献) 6 Y, W# m" H, Y5 c

1 A# U  e" `. a8 R  c7 u9 v3 i4 n虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。
2 G" m! A" b/ Q$ E
, o4 k& e6 |; N& i9 S8 X
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。! Y7 o2 ^& |! V; Y0 F
  2. /// `1 n# h) D1 M& G$ S8 G6 I/ v
  3.   c( F$ |+ d* g' y) U+ _, I& u
  4. #include "stdafx.h"$ S, q6 e6 i- |
  5. #include <iostream>6 t# z' K, q- }; m- I1 T7 b
  6. #include <Windows.h>! v" o4 P0 \  h3 i3 d! e
  7. #include <io.h>
    8 n& G1 t) C4 \7 j: j* S
  8.   C2 w( e& H( W: Q

  9. ! N+ V% l9 F, E% Q
  10. int _tmain(int argc, _TCHAR* argv[])
    - v: `; v8 P# G; h# |
  11. {
    2 }4 o8 ^  n" A/ r9 E1 E" b
  12.         printf("Dekaron-Server Launcher by Toasty\n");
    5 v# k6 w% b2 u; `; ]4 m2 U
  13. * O5 t* H, H5 c6 v& D
  14.         //查看文件“DekaronServer.exe”是否存在* z6 f- s5 p6 ?4 @" F
  15.         if(_access("DekaronServer.exe", 0) == -1)6 ]% `( q# a# P2 w
  16.         {
    ) S: j' I$ Q8 n, p0 Z; \% t4 P  j/ K
  17.                 printf("DekaronServer.exe not found!\n");- a! ^0 S1 V. C/ Z
  18.                 printf("Program will close in 5seconds\n");4 B; p$ {" B+ z# v9 s' n
  19.                 Sleep(5000);3 Q$ b2 E2 _6 S
  20.         }& t9 m. ^0 j; I8 n: ^+ h
  21.         else5 C. q0 ?( H- m! d
  22.         {
    + v, u9 h8 T0 h  x5 ~" N. {: T" c
  23.                
      a* N8 Y+ z" p' z- j: [2 ]; h4 G- \
  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* u2 P1 u6 P% f  e" S! \
  25.                 STARTUPINFO si;
    / _" H5 P) O4 ^* W; q) b8 \

  26. $ S% D+ h' D- T' @
  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
    9 s9 V! N. M: \& g
  28.                 PROCESS_INFORMATION pi;" l' B, B& }; Z

  29. 1 A0 {# j" ?; X
  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- S; b# E- j  Z, `
  31.                 DEBUG_EVENT dbge;
    ! h0 t1 E' ]1 \; L
  32. , x9 y: e" y! `  Z/ k- j* [2 l! ]
  33.                 //Commandline that will used at CreateProcess
    * h& n  o9 \  h. T* }. f' s0 O
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));
    / g5 H! q: U8 ^: [7 F! F& ]
  35. $ X2 T  Q' |$ B, v/ f( k
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)% p" x+ D$ T( c5 Y
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn)
    . h. a. @, l5 T; b, g
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made)
    0 [! \& u8 b/ S5 t) y
  39. 0 H9 _! H7 z  ?

  40. " R+ T* h& a6 N. W
  41. . {+ L$ C! A( h: v. H
  42.                 //Start DekaronServer.exe ( z3 g/ n4 P* d. |$ e7 y0 H' ~
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx* X, a7 |3 y. {+ F! F
  44.                 if( !CreateProcess( NULL,   // No module name (use command line)
    " |2 }, s/ y9 K+ u* x
  45.                         szCmdline,        // Command line
    , n' a, ^" ^: o" O5 i' ^
  46.                         NULL,           // Process handle not inheritable
    8 L# S# C% p! G! C: r- m. i# S% Y# _
  47.                         NULL,           // Thread handle not inheritable8 C  E2 K& j0 G
  48.                         FALSE,          // Set handle inheritance to FALSE
    $ N% t3 u4 u! ^" J8 `! i
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx( Z: Q+ r- R1 m# |* J" ^
  50.                         NULL,           // Use parent's environment block
    5 x% W; e$ z7 y  D( d- A
  51.                         NULL,           // Use parent's starting directory 4 n) v) K  d" n9 W
  52.                         &si,            // Pointer to STARTUPINFO structure7 o& H; D1 u9 l2 w2 Q/ I
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure% l7 l# X5 Q. H5 J8 x1 o3 ?: r
  54.                 )
    1 M7 @: h/ {7 J7 A# z, t
  55.                 {
    % V! g2 j- C' Y) H5 u8 \
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );
    ( P5 o4 S+ c' p* ]4 O5 r9 y  Q* m7 z
  57.                         return 0;: {6 m9 j' a0 V" e# Z
  58.                 }4 H# I& X2 H+ v6 r8 \4 M5 Y) R
  59.                 //Creating Process was sucessful3 ]4 B$ C  B; t
  60.                 else! j: H  s/ J# i& V( S% d( b
  61.                 {
    " @8 ~  X* x$ x/ z; u2 X3 L
  62.                         printf("Sucessfully launched DekaronServer.exe\n");) _3 D0 V( W0 m3 X) E; |  _

  63. & G; G. G+ x  v9 O6 F9 Y
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure) |" F1 {6 j3 y4 [5 A) Z( _
  65.                         dbge.dwProcessId = pi.dwProcessId;
    " I: D6 s- f* E5 Z6 v6 U
  66.                         dbge.dwProcessId = pi.dwThreadId;
    % l" ]; ~+ f& J3 Y9 o, J: n
  67. , r' Q5 X5 s* E+ e' R9 U
  68.                         while(true) //infinite loop ("Debugger")
    # _" |% |8 F6 G4 d7 W) b
  69.                         {
    - @' k: n/ d: H/ C) w
  70.                                 WaitForDebugEvent(&dbge, INFINITE); //Wait for an debugevent to occur http://msdn.microsoft.com/en-us/library/windows/desktop/ms681423(v=vs.85).aspx
    ) r: M. _, ~, x1 y/ ?4 q

  71. ) t0 G' I2 P2 m3 Y/ G/ n
  72.                                 /*; b" O' P7 K. s7 k' _4 ?- \( i
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码

- D, Q; u/ K( d. @4 }
' C* [! g7 X( x. t6 ~" w! l. M) l( N1 B$ R. c6 p4 S3 `
商业服务端 登录器 网站 出售

15

主题

256

回帖

1259

积分

金牌会员

积分
1259
金钱
865
贡献
118
注册时间
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

回帖

352

积分

中级会员

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

15

主题

256

回帖

1259

积分

金牌会员

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

3

主题

102

回帖

6421

积分

论坛元老

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

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-2-9 07:16 , Processed in 0.070975 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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