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

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

[复制链接]

127

主题

142

回帖

2388

积分

管理员

积分
2388
金钱
857
贡献
1262
注册时间
2023-11-3
QQ
发表于 2023-12-9 17:54:37 | 显示全部楼层 |阅读模式
SourceCode_Win7DKLauncher.txt (3.77 KB, 下载次数: 0, 售价: 5 贡献)
: o! q* Y1 b8 L. T5 B2 F. q! D+ v2 j. r1 a+ y
虽然很多朋友有了成品的工具,但是我发的是源代码。。。需要的可以拿去研究研究。。# k3 a8 R3 M5 i
( {7 A2 G: ]5 B' E7 J& V; U0 ~
  1. // Win7_DKLauncher_v1.0 : 定义控制台应用程序的入口点。2 V/ Q, Z- y1 s0 m% g/ S" \
  2. //
    9 a! V3 r$ ~: P2 e

  3. ) z; @- z. h) H% a, A  P$ n
  4. #include "stdafx.h"
    , v' K& m: `8 b% E4 V$ ~4 ]" Q+ x3 c( c
  5. #include <iostream>1 q) }2 v, e& }0 s% n
  6. #include <Windows.h>. f/ q" p8 j* A1 t/ }4 A
  7. #include <io.h>8 t: t+ p% @( |) f  t0 c2 A
  8. 0 e9 q. T* K, ^- Y% R' W
  9. * a& N6 Q: ?) z3 D7 b# {
  10. int _tmain(int argc, _TCHAR* argv[])4 y3 D0 Q6 ]# I0 j
  11. {) K6 C# `. E$ q$ ?7 G: G6 B% g, {. J
  12.         printf("Dekaron-Server Launcher by Toasty\n");5 R# W6 X/ _: W% y4 J  @2 ]

  13. & ?& ~& }& I' y$ \8 B5 N6 M
  14.         //查看文件“DekaronServer.exe”是否存在  O+ C5 J  G1 p4 v6 x: |
  15.         if(_access("DekaronServer.exe", 0) == -1)' `! [0 Q5 ?8 W0 _$ }' ?
  16.         {) ~# c. ?3 G; f+ e; Y
  17.                 printf("DekaronServer.exe not found!\n");
    - ^' I' t+ }' \4 \4 t
  18.                 printf("Program will close in 5seconds\n");
    : g6 _/ ?" a$ b4 N. ?, n3 M3 g$ r4 p; k
  19.                 Sleep(5000);
    8 K- C" S/ c$ }5 c2 J* O; T! J) k' I
  20.         }$ A* q! D9 }# r3 W1 C  z0 C
  21.         else  y! `/ e7 g, O+ [* u3 z2 V
  22.         {" c* ]3 Y" h9 @  e1 C
  23.                
    2 c) f) z' s2 v6 p1 ]. n4 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
    4 B, }! p- U) V, T- H, f2 k6 f
  25.                 STARTUPINFO si;* Z8 @: F$ n4 X- {6 l! E" `: h

  26. , q% H. a! o$ _/ X9 Z* f! T" P3 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# U5 L$ [- A% Q! A% F; U* Q8 q
  28.                 PROCESS_INFORMATION pi;
    ( I  |5 H' T7 d0 H' s: y5 R/ k

  29. ( V, E0 m6 `* v, s0 R4 ]% g: a% Q
  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 h0 R6 g' e- M4 L
  31.                 DEBUG_EVENT dbge;
    * Z) \5 H% X$ K5 }# Z  S0 S5 b
  32. $ c- J& E5 L- W8 ]5 L
  33.                 //Commandline that will used at CreateProcess
    ( f8 e! c/ o1 t" |$ D
  34.                 LPTSTR szCmdline = _tcsdup(TEXT("DekaronServer.exe"));. V! a  q9 W3 z! {6 O
  35. 9 F* X  R  v* e, C9 j3 I
  36.                 ZeroMemory( &si, sizeof(si) ); //Set memory of the startupinfo structure to Zero (because no initialization was made)
    # G6 ]$ D! ^3 k
  37.                 si.cb = sizeof(si); //Size of the Structure (see msdn)
    1 l; u2 p& t  m- I4 O. M) i
  38.                 ZeroMemory( &pi, sizeof(pi) ); //Set memory of the process_information structure to Zero (because no initialization was made)
    / x8 b- Y  k  U

  39. . W* G# J4 M$ Q; X  l7 t
  40. 5 [( T$ a5 Z) n
  41. . {, d5 s6 I# `$ _) c
  42.                 //Start DekaronServer.exe 4 e" N; n6 e! B3 d5 s: `
  43.                 //More info fore CreateProcess function at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx/ c8 @) X7 l+ v+ x9 @8 B- A4 }
  44.                 if( !CreateProcess( NULL,   // No module name (use command line): }8 e. j$ m) j' F
  45.                         szCmdline,        // Command line
    8 ~6 Q8 Q! _2 Z# K$ [; L* z
  46.                         NULL,           // Process handle not inheritable* e; n/ y, u" J  G
  47.                         NULL,           // Thread handle not inheritable
    + m- F/ ^0 l  _; V. D
  48.                         FALSE,          // Set handle inheritance to FALSE
    " Y; I4 @! o& J1 `5 M
  49.                         DEBUG_PROCESS,  // Enables Debugging for the started Process http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx
    1 a# Q) a+ g0 o3 |, p
  50.                         NULL,           // Use parent's environment block
      A/ I+ v5 g/ G- u/ f" P' Z( h
  51.                         NULL,           // Use parent's starting directory ( S+ h5 A' _2 f0 Z
  52.                         &si,            // Pointer to STARTUPINFO structure# d& F; f; N+ @2 [2 i- h
  53.                         &pi )           // Pointer to PROCESS_INFORMATION structure
    " B( t! ~5 ?, d# c! t
  54.                 ) 0 q& q2 @8 G3 b4 g0 J* _
  55.                 {
    0 M0 i0 O, K$ b
  56.                         printf( "CreateProcess failed (%d).\n", GetLastError() );. _7 R" D2 \/ e% {' z
  57.                         return 0;
    ; v6 Y0 ]2 e; X! [
  58.                 }
    ' l: ~+ d5 G+ X2 q$ w# R
  59.                 //Creating Process was sucessful
    & J7 I% W4 U& y9 h5 q
  60.                 else
    9 m* Q3 D) S' y
  61.                 {! ~: U. P5 `( D# N, m! M
  62.                         printf("Sucessfully launched DekaronServer.exe\n");
    ! M1 i/ X& k- S) z1 F4 s
  63. / e- r- ^# h- ~+ a# c. u
  64.                         //Write ProcessId and ThreadId to the DEBUG_EVENT structure9 ?3 F4 L8 @" g* p* v9 x# U
  65.                         dbge.dwProcessId = pi.dwProcessId;6 }; b. t4 m( n5 q/ x1 }$ ^
  66.                         dbge.dwProcessId = pi.dwThreadId;/ |8 K2 r' A' D, N8 \" ~
  67. ; U+ o6 u/ f) S, \8 G2 ]7 h
  68.                         while(true) //infinite loop ("Debugger")
    * e6 W; y# U' M5 X8 ^/ ]! o' F
  69.                         {# K/ D3 O; W9 m0 E+ C6 F. 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. t5 a+ Z6 i$ q4 l1 r# h$ W* j

  71. 4 b# x! x' i" i  ]% e8 D0 K
  72.                                 /*
    / Z& R; C/ Z5 S/ K- [
  73. <blockquote>通常,您必须在此处处理不同的调试事件(这些事件被写入dbge.dwDebugEventCode),
复制代码
- A- \: i" S' U5 S! Y

% M+ I: O8 {$ B; f$ @
3 l2 T" d5 n0 m# c& F  t
商业服务端 登录器 网站 出售

8

主题

222

回帖

737

积分

高级会员

积分
737
金钱
397
贡献
105
注册时间
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

主题

189

回帖

298

积分

注册会员

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

8

主题

222

回帖

737

积分

高级会员

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

2

主题

80

回帖

405

积分

中级会员

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

本版积分规则

Archiver|手机版|小黑屋|EGameol

GMT+8, 2024-11-21 19:42 , Processed in 0.064414 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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