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

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

[复制链接]

134

主题

166

回帖

2947

积分

管理员

积分
2947
金钱
980
贡献
1667
注册时间
2023-11-3
QQ
发表于 2023-12-9 17:54:37 | 显示全部楼层 |阅读模式
SourceCode_Win7DKLauncher.txt (3.77 KB, 下载次数: 0, 售价: 5 贡献)   T1 J8 g/ ?$ E/ e) t* b8 a
, b9 u9 B& n2 B. q
虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。& u/ l( ]' n; y1 B+ v7 a
* S2 M" l, \1 }+ G0 _. ?% o
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。& t  t2 t& x# j4 V- v
  2. //
    9 i" g2 Z( d1 h2 H* M

  3. 0 M( j/ d8 O" W. ?
  4. #include "stdafx.h"6 Z1 L, o: x5 m+ w
  5. #include <iostream>6 _- n3 C) T. h8 H- K, D/ B
  6. #include <Windows.h>
    6 b) o4 P# g3 m/ R$ p! c2 _' P
  7. #include <io.h>
    $ z4 s  i6 o* O  ]# p; A1 D' T
  8. 2 t; H1 S2 _7 {( @: O0 O

  9. - X8 b* P; }( ?/ \9 I2 `
  10. int _tmain(int argc, _TCHAR* argv[])
    , _7 o% O) X/ o9 l6 ^. ^1 P
  11. {
    7 F  H8 l, }6 |3 X  x9 C
  12.         printf("Dekaron-Server Launcher by Toasty\n");  ~$ J( }/ n' S6 D3 ^6 g( l) Q

  13. / X3 ]; A. p. O; _. |+ G" b
  14.         //查看文件“DekaronServer.exe”是否存在
    7 D1 C- G; v( j- T4 S
  15.         if(_access("DekaronServer.exe", 0) == -1)
    # c9 L  P- n+ j3 G) [) D( R# x
  16.         {0 B' k+ f$ q" U/ ^+ |/ x
  17.                 printf("DekaronServer.exe not found!\n");8 t# s/ L- F# q+ l! {
  18.                 printf("Program will close in 5seconds\n");
    : H  m% d2 S' F! v
  19.                 Sleep(5000);
    5 _. K, c/ F. r. E: g, B$ w
  20.         }% W6 Y' [- v6 X
  21.         else
    6 x# x# u" u5 B! c
  22.         {
    1 i% j* M; i9 \+ ]0 Y' R5 y7 U2 W
  23.                 % C5 d6 c: A5 _1 e: m/ V( A4 ^
  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
    6 D# x0 |) r. w
  25.                 STARTUPINFO si;3 {$ ]1 @" a( V1 r! S' N- p
  26. ( V$ T7 S0 O7 q& V
  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
    , k8 j$ T. W5 ?$ y1 D
  28.                 PROCESS_INFORMATION pi;  _) l2 N" M* b3 M. K5 ^
  29. . d9 i0 c% u% ?, A0 D3 |; R7 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).aspx
    ; R4 ~9 S; ?% I. p$ T
  31.                 DEBUG_EVENT dbge;
    9 G: d5 e* d8 M5 }9 E
  32. 2 J  W& @. X6 J5 k7 {
  33.                 //Commandline that will used at CreateProcess
    7 ?% d. h' R- _3 p4 r2 b2 [
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));; J  b3 O9 h! m9 c9 q8 N
  35. 4 C( n! F4 U% m6 }5 H4 |3 M
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)
    # _( v" w: s- s% j7 E9 J4 S
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn)
    ) a, ~% N* T' d5 j% J* i$ W
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made)% @9 s- \* \& q
  39. 0 d  [" s9 f# k- ]( P" U

  40. & z7 Q8 O8 ^1 D
  41. ! K3 D6 r; s8 x8 p% P$ _
  42.                 //Start DekaronServer.exe : u4 P( r- ]$ \* T$ }0 D% S
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx! }: n$ @7 N' T* j& W: T. f
  44.                 if( !CreateProcess( NULL,   // No module name (use command line)
    + U  \9 h! Z2 i7 W5 ]* {% y
  45.                         szCmdline,        // Command line: R% t( Z+ k5 c; \. V
  46.                         NULL,           // Process handle not inheritable
    ) F( d/ s$ J9 y( \0 L
  47.                         NULL,           // Thread handle not inheritable9 h9 m% X2 V% E6 h9 l) p9 g8 c
  48.                         FALSE,          // Set handle inheritance to FALSE. H6 r0 r0 c3 L% O) o
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx
    - @4 r* ?5 k2 I* A2 L/ O
  50.                         NULL,           // Use parent's environment block* v2 |, J0 N  b, G. T8 {
  51.                         NULL,           // Use parent's starting directory 5 I# ?( G9 l: |$ b  D  E0 Y( h
  52.                         &si,            // Pointer to STARTUPINFO structure
    , l" I1 M! Y! C) m; ?) }% X- t+ w
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure
    ' Y. D4 n$ K/ C! s- J3 C8 C
  54.                 ) 1 ]7 @  i7 d2 y! Z- {$ f, Q
  55.                 {' p) U  e4 M; k& M
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );
    9 l( ~$ I1 {- q. @. p7 d
  57.                         return 0;8 r" D2 C7 |; }5 Y) P5 P( O& u- `
  58.                 }
    # j0 ^! |  R6 h  o' \
  59.                 //Creating Process was sucessful8 C$ B% L; K2 c, [: F: g
  60.                 else$ j; S3 S0 f8 }' ]. S4 _
  61.                 {
    : C3 {: |1 e" g; \" A
  62.                         printf("Sucessfully launched DekaronServer.exe\n");
    0 a+ [# E& N  {* W: Q+ i" x

  63. 0 v9 `! N: Q; R3 u  y6 c! N
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure; l" z5 Y( h, q9 e5 `' @- A0 H
  65.                         dbge.dwProcessId = pi.dwProcessId;
    & @3 |4 ~# A8 l6 e9 ^
  66.                         dbge.dwProcessId = pi.dwThreadId;
    ' b0 u; i, A7 E; r% G
  67. 3 H$ P0 x8 W! Z' B8 M
  68.                         while(true) //infinite loop ("Debugger")( q- H4 ^- P: o/ |! C9 L
  69.                         {
    3 @/ p1 q' l/ E- `; E" b
  70.                                 WaitForDebugEvent(&dbge, INFINITE); //Wait for an debugevent to occur http://msdn.microsoft.com/en-us/library/windows/desktop/ms681423(v=vs.85).aspx
    4 @* k2 r/ E: n2 E1 o1 b8 V8 _" ?

  71. 3 ~4 E* A! @- t# z
  72.                                 /*4 x. j9 s+ M8 ^
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码

2 o: ^7 e( f  z/ [# I; u. E5 Y5 H7 ]. p6 ]+ l- A
) R0 a0 J/ \2 [0 Y
商业服务端 登录器 网站 出售

8

主题

228

回帖

783

积分

高级会员

积分
783
金钱
451
贡献
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

主题

228

回帖

783

积分

高级会员

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

2

主题

81

回帖

549

积分

中级会员

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

本版积分规则

Archiver|手机版|小黑屋|EGameol

GMT+8, 2025-1-18 15:47 , Processed in 0.060829 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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