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

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

[复制链接]

157

主题

364

回帖

6955

积分

管理员

积分
6955
金钱
1986
贡献
4448
注册时间
2023-11-3
QQ
发表于 2023-12-9 17:54:37 | 显示全部楼层 |阅读模式
SourceCode_Win7DKLauncher.txt (3.77 KB, 下载次数: 0, 售价: 5 贡献) 8 m7 y2 D8 |: j; A9 b
/ @. D0 X) B8 R1 z  U! u! @! O
虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。/ J2 i% J2 |# `3 I8 o

$ R9 v$ `& p8 j+ V& Z  ?/ X
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。# u3 e9 o& M+ J" f( T/ a& ~! @
  2. //
    6 A$ ^/ o1 Y5 s2 q4 C

  3. : Y% P' q# C6 @. l' q' z* R
  4. #include "stdafx.h"# v5 U2 Y* S  c4 P% G) |, a2 z  R
  5. #include <iostream>
    $ E8 L4 A2 G& ^6 z- f% s) f& m  K, ~
  6. #include <Windows.h>
    ; ?: r3 [* }: Z! W1 i
  7. #include <io.h>
    7 R  \1 A( n+ _$ L1 h# D% M
  8. 4 `( C( {/ e, k8 K

  9. 6 \# ?9 q/ _* r
  10. int _tmain(int argc, _TCHAR* argv[])6 k4 [) X( q6 f  |! T% L* Q
  11. {
    5 X6 h1 u: |) @4 ^+ A% V
  12.         printf("Dekaron-Server Launcher by Toasty\n");% ?  b! J" w2 H  t( x

  13. ! M6 Y( o5 Y/ j# G
  14.         //查看文件“DekaronServer.exe”是否存在
    % B2 T/ T' I+ m+ y4 x( U' V
  15.         if(_access("DekaronServer.exe", 0) == -1), [3 ^7 @7 C. Q& `* k* o
  16.         {; a# Z* s/ N; J* j& s' J# U
  17.                 printf("DekaronServer.exe not found!\n");9 _( s8 y" k, [# |) K! _: [7 \
  18.                 printf("Program will close in 5seconds\n");
    * i+ F9 w6 F: B% ~' b# e$ j
  19.                 Sleep(5000);+ I, D' `5 K3 ]
  20.         }
    . n- p! g6 t) ?0 q7 A. G" ~; I+ a
  21.         else! T  ?4 z) ^* T2 x
  22.         {
    , `& _. o/ B; I* p7 I( R
  23.                
    # R  |6 u/ M: n) F
  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
    3 v" U; L6 _/ f& `: O
  25.                 STARTUPINFO si;
    ' t" H0 O) c( e

  26. , b5 s- z  U0 b4 o5 P! O& M3 {
  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
    : @  _# D& d2 J0 c# W: H/ b1 J
  28.                 PROCESS_INFORMATION pi;2 S/ k* y3 i' T5 M! @
  29.   u! C! B" A3 A) F/ s8 W) A" S/ @  h! j
  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).aspx4 f" }3 U2 t# C) b6 |& u
  31.                 DEBUG_EVENT dbge;0 A+ d4 y* C% d

  32. & _& w! O* P1 n; F, G0 G
  33.                 //Commandline that will used at CreateProcess
    ! f/ q; _9 j! w1 Y
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));! T& y, B2 H$ R7 u7 b
  35. ! Q& R% E: @8 r; \
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)
    ( C3 u4 B% L4 a" m
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn)  m. ]  J) A# j
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made): d5 x# ^) C6 `8 Q, F: [& d4 ^

  39. & P. Q8 H0 l  V( A( C+ G

  40. 8 r$ w2 ~9 e" ^% Q/ _9 A0 p

  41. 9 V7 i+ v5 _% ?7 {; V
  42.                 //Start DekaronServer.exe / H$ D( q6 Q( }9 O3 o" e
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx' ?" B( E& R3 u+ u% }% w& Q! O4 a
  44.                 if( !CreateProcess( NULL,   // No module name (use command line)
    - N1 `- L: ^  X6 M
  45.                         szCmdline,        // Command line! q1 i- {. X7 e& @
  46.                         NULL,           // Process handle not inheritable
    9 `7 ^& x) j, s
  47.                         NULL,           // Thread handle not inheritable
    $ C) h& r# S+ B6 r
  48.                         FALSE,          // Set handle inheritance to FALSE
    8 m) l- W6 V% g: s7 ~7 ?
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx; _3 b8 U8 d1 ^) t1 U' ?7 y% l
  50.                         NULL,           // Use parent's environment block
    - N; |, ~! w$ z( [  s* }! M) x# |
  51.                         NULL,           // Use parent's starting directory 8 |7 O8 B- u* @, u
  52.                         &si,            // Pointer to STARTUPINFO structure
    $ C& C2 p7 F8 p; `7 Y" c* |( `$ `
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure
    # I, g7 H( ~4 o& U
  54.                 ) , k) G% T5 E7 e5 Q+ D) [' s
  55.                 {
    : \/ \6 m& H' }( R' c. O
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );
    5 v" s. W7 X- h2 r, P3 H
  57.                         return 0;& J* q# ]2 p2 n9 X- r9 X! M
  58.                 }
    ' U( T9 n1 k* k3 K1 e; N
  59.                 //Creating Process was sucessful
    % G- o  m$ k. i! ]
  60.                 else; v# i' D' h' L. i% \
  61.                 {5 p6 R7 t4 c+ r, |% W, r- k
  62.                         printf("Sucessfully launched DekaronServer.exe\n");
    8 L& W! D4 |9 @: r" ?7 h; r0 ^
  63. - f5 e' w3 H* K  c! V
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure
    3 E0 c% O7 K: J
  65.                         dbge.dwProcessId = pi.dwProcessId;* W: P4 O/ ~" ]% z$ p" e8 m: C. J
  66.                         dbge.dwProcessId = pi.dwThreadId;  ~7 n+ Q& o- X$ i/ A2 m/ W

  67. * H% _, J0 W8 z) x1 z" a
  68.                         while(true) //infinite loop ("Debugger")! _3 [9 Y% R+ d3 n) {0 u
  69.                         {
    , U9 T6 V0 x7 B! R! _: {+ J- a* V, x
  70.                                 WaitForDebugEvent(&dbge, INFINITE); //Wait for an debugevent to occur http://msdn.microsoft.com/en-us/library/windows/desktop/ms681423(v=vs.85).aspx2 t' z$ t5 |7 y5 A# O" n2 @
  71.   N! Q- }' }* v) K5 @: C5 A/ C5 d8 T
  72.                                 /*6 V, y$ N" t- l* {
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码
5 @$ k& U% D2 @: L6 H% H* [

3 \. a7 t8 e: g) r
7 {) R1 J" ]7 u3 S: s
商业服务端 登录器 网站 出售

15

主题

257

回帖

1228

积分

金牌会员

积分
1228
金钱
892
贡献
59
注册时间
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

主题

257

回帖

1228

积分

金牌会员

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

3

主题

102

回帖

6917

积分

论坛元老

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

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-3-13 02:59 , Processed in 0.037361 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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