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

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

[复制链接]

160

主题

384

回帖

7382

积分

管理员

积分
7382
金钱
2118
贡献
4720
注册时间
2023-11-3
QQ
发表于 2023-12-9 17:54:37 | 显示全部楼层 |阅读模式
SourceCode_Win7DKLauncher.txt (3.77 KB, 下载次数: 0, 售价: 5 贡献)
9 T/ ^' ~9 Z$ a# W3 K+ J4 L& t% @  T* Y5 g* K
虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。6 t& _% }& G2 e2 Y/ S) O% @

0 R+ T$ y$ n: y. |: l! \) G. h8 S. G
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。
    / y7 ]- l2 `% e
  2. //
    + O& {' u3 v( t" R* o* @
  3. ) h( G* d5 R0 ~& J; Z# V5 T& [
  4. #include "stdafx.h"
    ! p+ a, j  L4 ]% v: g$ d
  5. #include <iostream>
    & T% Y: U8 A7 F  Y0 {4 @. ?  @
  6. #include <Windows.h>( P" c+ N* Z" N! q2 ?
  7. #include <io.h>
    + P$ L; u) h7 E4 g
  8. # T) O; l9 Y7 B$ i
  9. ' T3 d' O$ p- |! b! r* z
  10. int _tmain(int argc, _TCHAR* argv[])
    6 r1 e" V+ w8 j6 c* t0 c
  11. {
    % K5 e+ b, v, a: W
  12.         printf("Dekaron-Server Launcher by Toasty\n");, S* o7 K/ M1 t% J! W. F6 ?8 I
  13. . C/ y0 K$ [* ]& W% }
  14.         //查看文件“DekaronServer.exe”是否存在) f- H+ W# N$ j3 e. D9 b* A( P3 |
  15.         if(_access("DekaronServer.exe", 0) == -1)3 M& V6 `" r$ f0 m! W
  16.         {. L- l+ G7 r6 Z( D! J
  17.                 printf("DekaronServer.exe not found!\n");
    , i  O6 z) d  U; j# [: ^' N; [
  18.                 printf("Program will close in 5seconds\n");
    : A0 ~/ `6 C( q* K
  19.                 Sleep(5000);
    ; v0 l  a* n  {* F
  20.         }2 ?6 j  t- g& t7 @$ w' G0 V% n
  21.         else$ c0 d+ T# w9 n/ t' `8 x' E
  22.         {) s1 m9 n" x; D- F+ O% X
  23.                
    - D9 c9 W9 V" V: [0 w' u2 F# D
  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$ t: s$ M3 e# C1 J
  25.                 STARTUPINFO si;
    ; @) q7 T3 |) I0 q3 Q) W4 i

  26.   ?8 `  ^! @9 d" H& e1 h5 T- R& ]
  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  Z1 B7 _( k+ Y. w! y
  28.                 PROCESS_INFORMATION pi;
    & R" U2 ]% }) z7 `
  29. 8 ~" C! V9 ]( _2 }  u9 O+ |1 C5 ^
  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& i1 b3 ?+ v6 B+ ?9 X
  31.                 DEBUG_EVENT dbge;
    4 f6 c: V, t. d

  32. % M2 O! m- i) S% B# b/ X
  33.                 //Commandline that will used at CreateProcess
    5 r3 r5 F' ]# E  q
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));8 g; Z8 h2 U9 T% z
  35. $ U2 z- N4 R, k3 T4 O8 F7 z- u
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)* e& s- l3 ]' N4 b9 I
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn)
    $ D. ^) d' K! N( L7 {
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made)
    " e- d+ C; z' z2 g& I3 N4 j
  39. ; [: r+ x/ Y, c$ Y, e* `+ T" H$ K  [+ D

  40. 0 b  W2 ~& i9 x6 @' u

  41. " h  T3 F' W- u) a; V0 h3 F
  42.                 //Start DekaronServer.exe
    8 R0 r5 s" p4 q5 x( n
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx
    9 Q9 v0 m# I9 J6 h) k
  44.                 if( !CreateProcess( NULL,   // No module name (use command line)
    & o7 |0 a% i& C! T2 I! e# L
  45.                         szCmdline,        // Command line
    9 r" u, o: p- ?
  46.                         NULL,           // Process handle not inheritable- T: K, V5 d: ^5 n8 O
  47.                         NULL,           // Thread handle not inheritable
    ( W8 C+ M/ k7 y! o) N
  48.                         FALSE,          // Set handle inheritance to FALSE3 x& Z7 p5 e$ P/ v& l' \
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx$ w' q3 x  E4 s, G6 k
  50.                         NULL,           // Use parent's environment block' X4 {+ j$ s' v0 w4 n, o# a5 z
  51.                         NULL,           // Use parent's starting directory # ~" D. _3 |" E, [5 F
  52.                         &si,            // Pointer to STARTUPINFO structure
    - I" m% o$ l; y( [4 B
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure) |* y" [! X  ]' N9 |
  54.                 )
    - y+ {' S$ U$ N' R! T, X( U
  55.                 {
    ( w9 A, O! ]+ _5 q( O  z6 d5 M
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );
    ! K& c' G  n' _; v6 j
  57.                         return 0;! k4 m# A: D: h  v1 \
  58.                 }/ S1 `0 C0 o9 R* F9 F" l
  59.                 //Creating Process was sucessful
    $ j: r7 i  d1 N
  60.                 else' ^& ~  C: {5 R, A9 P" M! C
  61.                 {
    # m  R8 u; d( L( @4 \
  62.                         printf("Sucessfully launched DekaronServer.exe\n");" h6 Q0 X( f5 P. u: l1 m/ I/ w
  63. $ f* U1 ?" _6 d; t  n7 g+ n
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure
    2 L  P6 r* h) c0 T, T
  65.                         dbge.dwProcessId = pi.dwProcessId;' o9 h- f! p: O3 U% E
  66.                         dbge.dwProcessId = pi.dwThreadId;* c" S% U( f9 l9 O& S
  67. 7 T/ x. k' ^' F
  68.                         while(true) //infinite loop ("Debugger")6 `) Y# Q0 \7 T6 S: N( i9 s$ `: }% O
  69.                         {
    - f9 p% u2 |0 p  X! q
  70.                                 WaitForDebugEvent(&dbge, INFINITE); //Wait for an debugevent to occur http://msdn.microsoft.com/en-us/library/windows/desktop/ms681423(v=vs.85).aspx% A, v# J: _; A3 a: @% Y9 m4 E
  71. : A% u+ x3 l8 }/ J& d% c
  72.                                 /*+ b6 Q# N6 Q6 s
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码
; }, Z" T5 D7 W1 ~5 a' C( B4 z
: N5 l7 ^) @# M7 n/ Q- G1 T) w; a

/ x  d: _& v! [& C. m4 G8 _$ b) M
商业服务端 登录器 网站 出售

15

主题

259

回帖

1275

积分

金牌会员

积分
1275
金钱
920
贡献
76
注册时间
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

主题

259

回帖

1275

积分

金牌会员

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

3

主题

102

回帖

7777

积分

论坛元老

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

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-4-24 17:44 , Processed in 0.047582 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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