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

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

[复制链接]

155

主题

348

回帖

5992

积分

管理员

积分
5992
金钱
1866
贡献
3623
注册时间
2023-11-3
QQ
发表于 2023-12-9 17:54:37 | 显示全部楼层 |阅读模式
SourceCode_Win7DKLauncher.txt (3.77 KB, 下载次数: 0, 售价: 5 贡献)
; Y+ \; ~+ y1 u2 R1 ?3 I) C/ R0 I& v
虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。6 B' x! G1 y* V2 b
$ j1 d2 L( h' Q9 c/ v
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。* \6 b5 K2 i+ J. a' n' P6 |
  2. //
    # `$ z3 s* x- Z& Q

  3. % J6 `; p9 g* w) v
  4. #include "stdafx.h"
    $ j( z8 o; _$ C8 p
  5. #include <iostream>3 j# j+ y9 Z* O
  6. #include <Windows.h>
    - ?4 R4 c' R2 r' A! `( @
  7. #include <io.h>, w; z* I/ [, R9 r  B9 A
  8. , T2 h1 z& ~+ C$ i& q

  9. 9 \. t# `" y) O3 l% k5 B7 L
  10. int _tmain(int argc, _TCHAR* argv[])8 D: t) c. a$ @8 O
  11. {
    5 }7 y! N# y/ K4 e% b' C- |
  12.         printf("Dekaron-Server Launcher by Toasty\n");
    * k9 ?9 P7 Q' f$ S) R; U- v- [4 d

  13. 0 ?0 H( t# [2 o' W" [
  14.         //查看文件“DekaronServer.exe”是否存在. o/ e5 W  r0 T: u/ T
  15.         if(_access("DekaronServer.exe", 0) == -1)
    . {- d+ \1 d3 u1 [  d/ t
  16.         {0 O  H6 o- b  D$ z0 x+ b
  17.                 printf("DekaronServer.exe not found!\n");
    4 X# U. G4 [/ a4 F% m- a  s
  18.                 printf("Program will close in 5seconds\n");
    - P' O. u: X8 O3 A; r2 }% t+ f& Z8 J" l# M
  19.                 Sleep(5000);2 m0 H$ s8 d0 `% {# ^
  20.         }9 n) v& w& a4 j' Z5 v4 W5 J: U
  21.         else
    : ]2 x+ P1 [5 E. k  R1 R- P9 u
  22.         {/ V/ d, a' u2 ]% l
  23.                 - i" P' ]1 i6 T( z
  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
    " M, K" K9 [/ D$ y( g. b
  25.                 STARTUPINFO si;4 U* Q9 i% d6 m5 ~$ h7 W  Z

  26. & q. U) D- c4 g/ t: `! ?+ V
  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' k; ]! l) D4 }! a# y" I
  28.                 PROCESS_INFORMATION pi;
    5 z/ j0 i0 U  a, |+ O- n. v
  29.   x3 ~( w$ S3 e2 W
  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. I  C3 p$ J1 f7 I: P9 a
  31.                 DEBUG_EVENT dbge;+ W. U0 ]" Y0 C2 f0 G7 k

  32. 3 h' b7 m; p  R$ P: P+ w
  33.                 //Commandline that will used at CreateProcess3 c5 a$ q) z0 |# Q2 j0 `" e$ l5 m
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));
    , q3 X  D3 u+ i5 U! m/ W0 I

  35. , v$ ^+ ]: V/ X5 ]3 g1 b
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)9 M& Y8 i8 F$ S3 y. e/ x& M
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn)' ~1 ]8 \. I) F# @5 m. j9 z, u
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made)" K/ E) y$ X( u) [) w/ c. ^0 [5 L

  39. # J+ ~/ M3 E1 F0 ]

  40. / P3 O+ G( P1 c& a9 i

  41. - u( w% s. n6 f" k2 C' \
  42.                 //Start DekaronServer.exe
    1 C! D2 {6 L) x1 ?+ l# X7 ^
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx
    : n1 H! o( D* O7 F( m. U
  44.                 if( !CreateProcess( NULL,   // No module name (use command line)
    8 O, t, w$ y/ d0 D, s; e( \1 S
  45.                         szCmdline,        // Command line
    6 D# Q3 |* E3 W7 f' [. c1 M
  46.                         NULL,           // Process handle not inheritable
    8 _; J, u( j1 T' C
  47.                         NULL,           // Thread handle not inheritable& w9 s3 X! U# C7 }4 ~/ B
  48.                         FALSE,          // Set handle inheritance to FALSE" Z% I% F; V+ J1 q, J
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx) O5 Q% o3 w& U# B) n/ E
  50.                         NULL,           // Use parent's environment block
    ; a8 q5 F9 J; Z9 x4 f( g
  51.                         NULL,           // Use parent's starting directory
    - s, R. J  c/ v' ^* [! [8 D
  52.                         &si,            // Pointer to STARTUPINFO structure5 a. G6 W& `, s* e& N  Y0 T
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure! i$ C% v/ E+ o/ L8 i
  54.                 )
      j, e8 a: [" p3 x8 g
  55.                 {9 S# K* Y9 m+ C# r  l4 k9 I
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );7 A2 R( h/ }. P( b  n; ~; ?- g2 X
  57.                         return 0;4 |1 _4 \& d1 Z, `- Z
  58.                 }
    . m) G0 p! j6 N
  59.                 //Creating Process was sucessful7 M4 x" E1 U; r" B0 b# I" x1 M( J
  60.                 else9 {6 K6 ]; x! j4 X4 o/ ]) |5 |5 [# |
  61.                 {8 I7 w4 K3 \. }, M; e4 s
  62.                         printf("Sucessfully launched DekaronServer.exe\n");
    " G. O2 F2 N2 S; |, v) ]0 N
  63. , i9 ~0 V& |6 g# e- }
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure
    : c  n, k( w# U) O# \
  65.                         dbge.dwProcessId = pi.dwProcessId;# l, w0 K/ i# ^5 B+ V7 o- P9 u
  66.                         dbge.dwProcessId = pi.dwThreadId;7 n4 G7 p4 J. `* ^# ~: z+ t' c/ c2 M, S
  67. 3 a4 J0 ~; q, Z8 Z& p
  68.                         while(true) //infinite loop ("Debugger")
    3 ?2 o% B' i4 o; z+ c4 Z
  69.                         {
    4 \* w% i) V0 S: u9 A; a
  70.                                 WaitForDebugEvent(&dbge, INFINITE); //Wait for an debugevent to occur http://msdn.microsoft.com/en-us/library/windows/desktop/ms681423(v=vs.85).aspx- J8 K% C5 E* g
  71. 4 t) Q3 W* O. A6 L" T
  72.                                 /*
    % V/ t& p7 p" u' ?  s5 F0 C5 v  E
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码
4 R# r' ~9 l6 f% Z# n3 c, Z

/ t+ A, ~. F% W+ j/ {
) |: {& \4 F/ N7 a; J- X! j
商业服务端 登录器 网站 出售

13

主题

251

回帖

1242

积分

金牌会员

积分
1242
金钱
814
贡献
159
注册时间
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

主题

205

回帖

345

积分

中级会员

积分
345
金钱
136
贡献
4
注册时间
2024-5-14
发表于 2024-5-14 15:56:57 | 显示全部楼层
学习学习赞赞赞

13

主题

251

回帖

1242

积分

金牌会员

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

3

主题

100

回帖

5733

积分

论坛元老

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

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-1-1 08:35 , Processed in 0.078598 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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