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

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

[复制链接]

160

主题

385

回帖

7424

积分

管理员

积分
7424
金钱
2131
贡献
4748
注册时间
2023-11-3
QQ
发表于 2023-12-9 17:54:37 | 显示全部楼层 |阅读模式
SourceCode_Win7DKLauncher.txt (3.77 KB, 下载次数: 0, 售价: 5 贡献) $ y  d3 s. H% }

; S8 }# W8 w; d% j* I2 D/ r虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。+ R* b) \, X1 o) E6 d) C9 i; N8 ?

7 P0 H* ~7 x0 z' N, q6 v/ B
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。
    ; h% @2 j, q7 X
  2. //2 P) s6 R+ P/ Y

  3. $ R7 m0 W- ~  d1 L0 W
  4. #include "stdafx.h"4 Q5 U* X4 h3 w- M( V. [' E
  5. #include <iostream>
    / ^& [4 ^( W; ^5 ~& K$ _
  6. #include <Windows.h>" v* Y7 t: I/ g2 b  Z
  7. #include <io.h>
    6 I6 a% f% N5 f# B" u+ s/ w
  8. . z3 J+ N' h, r' ?5 U

  9. ! A- a0 ^1 `* E. |' ^
  10. int _tmain(int argc, _TCHAR* argv[])" b: M8 ?" M9 {: F% M/ ^- P3 T
  11. {
    " r2 W" ]5 h- ]' d0 z$ D& S; e
  12.         printf("Dekaron-Server Launcher by Toasty\n");
    $ I2 {( r9 R! L6 g/ F- A7 Y, u

  13. & c) K8 P/ c! H9 I" |- s+ T6 \4 X
  14.         //查看文件“DekaronServer.exe”是否存在+ w$ l* n; m1 p% v
  15.         if(_access("DekaronServer.exe", 0) == -1)
    0 b; e5 e8 g3 o7 ^/ \- H$ `- F
  16.         {9 N& @9 F2 ~5 D9 H* N! H
  17.                 printf("DekaronServer.exe not found!\n");$ V5 T6 z& u- I7 C
  18.                 printf("Program will close in 5seconds\n");" I( \; X& w) }: p9 I, O/ |
  19.                 Sleep(5000);2 |" o: [2 |5 w4 N1 n1 o1 B
  20.         }" F+ V$ o* `/ M0 a- p
  21.         else% |  A" `& C( m/ o0 p+ C) t
  22.         {
    ; s* t7 K! v. m0 J
  23.                
    , a1 U# J; e# r# d' g. l( T" g
  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 _* w/ F6 _6 |. t6 Y
  25.                 STARTUPINFO si;
    / M+ Y, @+ q; _) W- C
  26. - {- n8 v  i* A1 F# \
  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
    / p* E' d* D) ]' Q' S; X
  28.                 PROCESS_INFORMATION pi;9 O+ v6 q2 A/ d  O1 c7 H
  29. ! c7 s) d; v, X9 E0 z% B
  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
    1 k$ S7 h) _  i0 d
  31.                 DEBUG_EVENT dbge;; y6 ?1 G+ `4 l7 \! L

  32. 3 W4 U8 W, d2 b! [$ O
  33.                 //Commandline that will used at CreateProcess
    : Z- m/ K  o# m
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));
    ! z" P9 ?- N3 z4 P0 J
  35. 6 H5 E6 j6 O4 e
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)7 S" f5 |4 Y# R2 i  ]) M
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn)8 _5 M5 N- z# Q
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made)
    : `6 }# z% G. r* f

  39.   v& t1 f4 l% y! g; X, q
  40. / ?1 c7 m. \  Z; h: n/ W9 M

  41. & u, i. t, s+ n
  42.                 //Start DekaronServer.exe , O. q! k! S# y3 z% N! q
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx
    2 R  v) Y/ b( Y
  44.                 if( !CreateProcess( NULL,   // No module name (use command line)
    2 _' |- ~2 c  ?
  45.                         szCmdline,        // Command line2 q& b% ?  s$ q5 ^+ |5 ?/ m' d
  46.                         NULL,           // Process handle not inheritable$ s+ {. n& w9 l* q9 B
  47.                         NULL,           // Thread handle not inheritable' f! \0 I2 Y, g( h- ^& G7 B
  48.                         FALSE,          // Set handle inheritance to FALSE0 ^2 x" R5 P8 B/ ~3 Z
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx
    , y; U. r* J! {8 i* x+ e
  50.                         NULL,           // Use parent's environment block) h7 |: q7 w- E
  51.                         NULL,           // Use parent's starting directory . T6 L' ^% n) j
  52.                         &si,            // Pointer to STARTUPINFO structure. Q& C& }* z! f8 m2 ^9 r
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure& O7 }  Q2 X$ g+ E8 g- U& c) r
  54.                 )
    7 q6 @. A  D5 k. x& F) F, D! g
  55.                 {; _4 ^# W. s& `# m: _* q
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );0 E+ b' y3 V$ k' ^2 R6 q" h1 N! N- D1 [
  57.                         return 0;+ L  ^0 y# q9 e  L
  58.                 }
    9 f# L9 p5 Z/ \) p
  59.                 //Creating Process was sucessful: B2 y8 k5 y' ~' b' ~+ ~0 P, J! A! S
  60.                 else. v9 \& H- I6 Z% k, E) f
  61.                 {, K$ c" {: J+ h& T- V3 \
  62.                         printf("Sucessfully launched DekaronServer.exe\n");
    3 X  o; ]0 P! G  }" W
  63. % y3 }& \0 B  u
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure$ k$ A- p7 v* h( k0 N
  65.                         dbge.dwProcessId = pi.dwProcessId;7 L4 M# X$ J2 R' Z9 ?3 [
  66.                         dbge.dwProcessId = pi.dwThreadId;
    2 w1 f" H/ D" m3 U; s$ |, Z

  67. # g  M4 O, u% ^3 A4 Z, [0 M
  68.                         while(true) //infinite loop ("Debugger")
    , ^$ L8 y5 q3 `' ?: [( n, X' S
  69.                         {7 {8 L) x- X" h  ~" x" K! ~/ U
  70.                                 WaitForDebugEvent(&dbge, INFINITE); //Wait for an debugevent to occur http://msdn.microsoft.com/en-us/library/windows/desktop/ms681423(v=vs.85).aspx$ S2 K1 a6 }! \* K0 U- X

  71. 1 z: z+ l4 d3 q! z( R
  72.                                 /*. b7 H! v  g, o7 I
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码
& b4 ?. Y: `" m9 q. q! i2 {

$ U& s: l# t7 C6 _+ x: i' u6 y+ r" U$ p) p% Q
商业服务端 登录器 网站 出售

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

回帖

7917

积分

论坛元老

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

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-2 08:45 , Processed in 0.037447 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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