找回密码
 立即注册
查看: 5955|回复: 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 贡献) / X8 K% A2 U- |& ]' e$ t5 z

% N; c& Z3 }) }- |4 D3 p虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。
$ |) C( M# o+ }$ c+ j1 E) y+ ~
8 ^, s$ ~9 C3 F7 W& ~
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。7 M# L4 P& x; ]! I
  2. //: \# O7 M- M, T

  3. 8 }; i9 z1 m/ _* A) f
  4. #include "stdafx.h"
    / a( k8 s: I2 W  D/ M
  5. #include <iostream>+ ^2 H2 E" }& Y1 N
  6. #include <Windows.h>
    , M8 M, N' ?0 {7 h" K
  7. #include <io.h>; `; T. v* Z! N* t

  8. " o4 A1 L1 v, b" }. l1 h7 |
  9. % F: b6 n$ f8 X4 V: ?3 g/ [
  10. int _tmain(int argc, _TCHAR* argv[])
    8 G+ u9 q" f0 `4 i3 ]
  11. {
    7 Z& h8 q3 {8 Q1 |
  12.         printf("Dekaron-Server Launcher by Toasty\n");
    9 l  N; d  z  T( W, w

  13. / z+ F2 C# ~/ E( `+ N3 |* T
  14.         //查看文件“DekaronServer.exe”是否存在
    7 U- s  y. K+ w8 U6 x$ a0 L" _8 A
  15.         if(_access("DekaronServer.exe", 0) == -1)
    2 q/ y/ x0 m/ i, [- Q' n/ X
  16.         {
      x2 _" W7 h5 x* I+ M
  17.                 printf("DekaronServer.exe not found!\n");
    2 f, x/ ^8 _- A5 c! Q1 R4 J, t: i: U0 K
  18.                 printf("Program will close in 5seconds\n");
    . J. Q# v+ V% E& R# b
  19.                 Sleep(5000);
    2 G) V1 |' O# j/ {4 l" R
  20.         }3 l7 T9 }3 X" B4 i
  21.         else
    # \8 H* J; U2 a' Q& b8 \
  22.         {
    " t5 ^7 a4 ^" ~& I. M7 j  C
  23.                 - G( A. p8 G& ^; y: G# a
  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
    2 j( H  d* i( W5 _# f, G
  25.                 STARTUPINFO si;5 ]! a: {* l/ G+ i' k
  26. " ?( ]; y: M1 @+ N
  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
    6 V8 ?+ q1 P% M! ]
  28.                 PROCESS_INFORMATION pi;8 o8 U4 m4 b- O1 g( {3 f

  29. - `2 F; s% s' w; e" 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).aspx+ r4 z, \% [) [6 S' o
  31.                 DEBUG_EVENT dbge;, ]/ e5 l* \9 }, t3 L/ V) R

  32. 7 e; _- C$ D7 M8 P  y* v
  33.                 //Commandline that will used at CreateProcess
    ; d; F  z- k( u0 q' k
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));
    5 C2 J9 F* ]) G; L; X6 \7 k
  35. 8 c9 O5 A5 K  ?# J
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)
    ! Y% ^0 T5 [4 L0 X" }
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn)/ N; Z0 o6 A# l
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made)
    ( x2 S( v3 x% l/ A& b; H2 @

  39. * I- {' C: v  `; N7 Z: @, ~8 ?
  40. 4 E" ^) w& p+ n, p1 ~( N3 x. x% J
  41. ) r+ _9 v( W" ^( L1 X4 W- A
  42.                 //Start DekaronServer.exe # @/ r  N  D4 _/ K
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx
    4 W. u, b9 d. b( [4 J# q1 ~# ~$ t, a
  44.                 if( !CreateProcess( NULL,   // No module name (use command line)
    8 E; |* v  T  C3 H- j) E: y
  45.                         szCmdline,        // Command line- Y$ _* D% I' Q
  46.                         NULL,           // Process handle not inheritable
    2 J1 v$ f2 ^$ Y( k) X
  47.                         NULL,           // Thread handle not inheritable
    9 c7 \$ _' z) l
  48.                         FALSE,          // Set handle inheritance to FALSE
    * x" G/ F. L  I  I* H
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx
    + b, i  q) @& t
  50.                         NULL,           // Use parent's environment block
    4 o# T! T) Z6 m1 Z, r3 ~/ O
  51.                         NULL,           // Use parent's starting directory
    4 Y" \! K8 E6 o: m- L, C
  52.                         &si,            // Pointer to STARTUPINFO structure' L* ~2 ]' t5 p* a5 E# c5 y
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure+ P+ N& \' d  q, h
  54.                 ) . t2 T. v$ Y5 u
  55.                 {
    2 t, ~- v6 S* v
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );
    8 P! r/ d, y+ N, U5 W  n" C
  57.                         return 0;
    6 |; G" y$ C+ j% y: q* @
  58.                 }& i. C# T  F) b$ R& `5 ^4 M" U2 Z% P
  59.                 //Creating Process was sucessful+ V+ m; H( L0 G7 ?$ _
  60.                 else3 z, h$ r' f6 d, S# p+ W2 W2 g
  61.                 {
    & x+ {6 @& ?6 V- h& P$ I
  62.                         printf("Sucessfully launched DekaronServer.exe\n");: h( K6 j1 R# n1 ~/ {! F# L
  63. 5 u5 e$ [5 s. e2 F
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure
    . S% q# Q' Z5 N& {) {
  65.                         dbge.dwProcessId = pi.dwProcessId;
    5 e+ F3 l4 }, B
  66.                         dbge.dwProcessId = pi.dwThreadId;0 c- U1 s" c- }5 t
  67. 6 m) H+ n  o1 u, ]$ l7 w, s
  68.                         while(true) //infinite loop ("Debugger")
    & G" k+ U' C3 p- K# y% X
  69.                         {. D) |- k: Y% d3 r& \* |9 x; ]
  70.                                 WaitForDebugEvent(&dbge, INFINITE); //Wait for an debugevent to occur http://msdn.microsoft.com/en-us/library/windows/desktop/ms681423(v=vs.85).aspx* e5 e. y7 {. E) @$ s
  71. , ~8 w4 Z& `$ U( V5 d$ T
  72.                                 /*
    6 \7 u$ P9 ~- H$ ^
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码

5 m$ C- ~  `7 |+ T4 {2 x" Q# z0 c
% _/ Q. d0 I6 K) E- B( m9 n
! O' @' a2 T& E& F% G  j
商业服务端 登录器 网站 出售

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-2 16:40 , Processed in 0.034782 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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