找回密码
 立即注册
查看: 5960|回复: 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 贡献) 7 L3 I5 N, N- |9 M) e
. n" ?7 B* D" {* Y! J( h
虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。% j+ w8 x3 l" F; Q6 C' D0 `" ~4 x
# c" d* B! X$ I
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。4 O  F1 s! [3 y
  2. //
    8 d( k/ ?# B2 J+ Q$ z% p

  3. % I& r0 E1 a' Y% r1 S
  4. #include "stdafx.h"
    , I* Y8 x4 r$ F6 J5 m* z3 `: D
  5. #include <iostream>
    $ {' }6 K" c# M3 O6 m; g
  6. #include <Windows.h>
    * y5 @; J- b  }% A! e( @* P  Z
  7. #include <io.h>
    1 e7 U5 V* F1 [: N) D/ p0 ]& U

  8.   ]; R' |: _' i" f6 |7 w3 c
  9. , B3 K) f( u% E2 h4 b
  10. int _tmain(int argc, _TCHAR* argv[])
    ) S9 X6 K5 R0 D3 ?# Y) \
  11. {# T) A# V" I) h" w  s! S
  12.         printf("Dekaron-Server Launcher by Toasty\n");
    5 A1 ~: C( X" H! n
  13. 4 ?9 R- Q! K, v& O; \3 N' B: r
  14.         //查看文件“DekaronServer.exe”是否存在' w: T5 D0 @; O
  15.         if(_access("DekaronServer.exe", 0) == -1); ?8 H; S4 Y: b2 o, }  r% P0 _0 |
  16.         {
    + w: n3 I" G, j' R/ Q8 a
  17.                 printf("DekaronServer.exe not found!\n");
    3 u6 X9 f: _6 N
  18.                 printf("Program will close in 5seconds\n");, Z7 r$ b1 r' r& ]( {) ?
  19.                 Sleep(5000);; R5 {9 e2 m" F8 o" J. T& e
  20.         }2 M2 M5 S% N+ T2 T2 ?) o
  21.         else9 s: ~4 z$ X$ ~" r2 h' E# Z! ]
  22.         {
    3 `  L- F3 C. A/ |4 ^0 C0 i6 `
  23.                
    " ?# v' l% b  X+ l# S8 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
    / z+ a6 j; L# x! c  F" L
  25.                 STARTUPINFO si;
    $ p- U  ^/ ^4 a
  26. # {$ h* w$ h# g. d* T; G! w1 \) b3 H
  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
    ' e# r! M  W* q- P' x- _  ?
  28.                 PROCESS_INFORMATION pi;
    1 e/ r- t4 }6 \# |0 M* R8 ^) m
  29. " y) \& z) g+ N: P  N( d6 \- b6 K& V/ f
  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
    ' G8 }" Q# f' N6 z
  31.                 DEBUG_EVENT dbge;+ P; o3 \; a4 H) n/ k8 f

  32. 0 ~7 b. ]& p- H/ ^
  33.                 //Commandline that will used at CreateProcess
    * Q+ [8 w1 {& v* i9 d7 C/ G+ c
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));0 L- I: e3 e& G& s, T) y

  35. , m$ g, \/ C% z3 C
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)
    1 H# m1 J3 V+ V% b$ v8 s
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn), [7 X2 w: g# F! j' R: C' y
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made)
    7 V9 |6 c4 z# Y5 R2 E- Y
  39. & D. e% Y( p) b( O* v; L
  40. * N% N& z3 k' u' A

  41. ! ?3 w# C7 a* p
  42.                 //Start DekaronServer.exe 0 l- Q  `3 J+ D! i$ C  M
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx
    " t' v$ m0 L' ]2 @  ?* D: a
  44.                 if( !CreateProcess( NULL,   // No module name (use command line)
      x8 _; N; L7 Z4 j
  45.                         szCmdline,        // Command line( d1 F' P7 H" t
  46.                         NULL,           // Process handle not inheritable
    ' ?! Y* P9 V1 o7 B
  47.                         NULL,           // Thread handle not inheritable2 o" ~$ M. Q" t' h7 M
  48.                         FALSE,          // Set handle inheritance to FALSE
    / x* R4 V( x4 N& ^3 O2 F
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx3 v$ y5 ~( s6 O) H, x
  50.                         NULL,           // Use parent's environment block
    9 j; D& n- g5 l: }# c' \
  51.                         NULL,           // Use parent's starting directory ) K4 u3 t! R" ~  N* z' I
  52.                         &si,            // Pointer to STARTUPINFO structure% W5 A* u3 M- J0 F  \# A: c9 E
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure
    7 `3 ^$ C8 d/ J6 S$ l
  54.                 )
    + B6 r7 S! N1 Y/ n% J5 ]
  55.                 {# U$ V/ C; p; n( P. ^
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );
    $ U& W% o4 q  F. ?2 \
  57.                         return 0;
    9 g! }4 h6 A7 E1 x/ y; M5 ~; k
  58.                 }
    1 J3 m) M1 a) J( ]; d- d  v0 ]
  59.                 //Creating Process was sucessful
    7 l; A: y% Y3 \8 @; }, ~8 K5 n
  60.                 else
    # x; _+ g% Q5 L6 X& B  l
  61.                 {
    " u+ S2 p) r! Y$ B
  62.                         printf("Sucessfully launched DekaronServer.exe\n");
    ( i5 X( t: `+ P4 L7 i4 e
  63. $ q1 M) j4 y. o: a
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure9 j! @& ^+ F! Y+ R' J9 h7 @
  65.                         dbge.dwProcessId = pi.dwProcessId;$ O' M! ^$ |+ i* x0 ~+ a. n" @
  66.                         dbge.dwProcessId = pi.dwThreadId;
    0 e$ k4 `$ `# S! B& i% N) M( k

  67. # _6 A1 J; M& ~  z* q, c6 H
  68.                         while(true) //infinite loop ("Debugger")% `: g% j' x4 W( J( ^- i/ y
  69.                         {
    : B. g! T$ \  i2 H7 D. C6 g
  70.                                 WaitForDebugEvent(&dbge, INFINITE); //Wait for an debugevent to occur http://msdn.microsoft.com/en-us/library/windows/desktop/ms681423(v=vs.85).aspx& Y6 B5 @! D( G3 R$ O5 p9 X

  71. ' ?) X+ e6 `& Q3 E  S: r
  72.                                 /*
    4 L6 }$ j# I( [: U8 R7 N2 d6 b
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码

! r, j/ e$ l' B& S: F+ j
. C0 A7 _: {$ f4 v+ p0 J& ]& M5 r, 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

回帖

7937

积分

论坛元老

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

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-3 08:18 , Processed in 0.036189 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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