传奇3G大补贴V1.94G破解之本地服务器版源程序 ( 积分:1, 回复:0, 阅读:13 ) 分类:Internet/TCPIP ( 版主:luyear, robertcool ) 来自:scottrayn, 时间:2005-12-30 18:29:00, ID:3314213 [显示:小字体 | 大字体]
unit Main;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ScktComp;
const Head = 'HTTP/1.1 200 OK'; //Date1 = 'Date: Thu, 12 May 2005 05:16:59 GMT'; Server = 'Server: Apache/2.0.54 (Win32) PHP/4.3.11'; Powered = 'X-Powered-By: PHP/4.3.11'; Len1 = 'Content-Length: 382'; Content = 'Content-Type: text/html'; Space = Char(#13) + Char(#10);
const Address1 = $471E7E; PokeValue1 = $90; Address2 = $471E7F; PokeValue2 = $90; Address3 = $471EAA; PokeValue3 = $EB; Address4 = $471EB4; PokeValue4 = $8E; NumberOfBytes = 1;
type TFrmMain = class(TForm) BTNStart: TButton; Label1: TLabel; Edit1: TEdit; Panel1: TPanel; TS1: TServerSocket; procedure BTNStartClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TS1ClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure TS1ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); private { Private declarations } public { Public declarations } end;
var FrmMain: TFrmMain; H: HWND; ProcessId: Integer; ThreadId: Integer; buf: PChar; lpNumberOfBytesWrite: Cardinal; implementation
{$R *.dfm}
procedure TFrmMain.BTNStartClick(Sender: TObject); var X: Integer; begin H := FindWindow(nil, '传奇3大补帖1.94'); if H = 0 then begin Application.MessageBox('本程序只适用于传奇3大补帖1.94版,' + #13 + #13 + '请先运行传奇3大补帖1.94。', '错误'); exit; end;
X := StrtoInt(Edit1.Text); if (X >= 65535) or (X <= 1024) then begin Application.MessageBox('该端口保留,请使用大于1024且小于65535的端口!', '错误'); exit; end;
TS1.Port := StrtoInt(Edit1.Text); try begin ThreadId := GetWindowThreadProcessId(H, @ProcessId); H := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId); GetMem(buf, 1); buf^ := Chr(PokeValue1); WriteProcessMemory(H, ptr(Address1), buf, NumberOfBytes, lpNumberOfBytesWrite); buf^ := Chr(PokeValue2); WriteProcessMemory(H, ptr(Address2), buf, NumberOfBytes, lpNumberOfBytesWrite); buf^ := Chr(PokeValue3); WriteProcessMemory(H, ptr(Address3), buf, NumberOfBytes, lpNumberOfBytesWrite); buf^ := Chr(PokeValue4); WriteProcessMemory(H, ptr(Address4), buf, NumberOfBytes, lpNumberOfBytesWrite); FreeMem(buf); CloseHandle(H);
TS1.Active := True; Edit1.Enabled := False; BTNStart.Enabled := False; end; except begin Application.MessageBox('您所选用的端口,有可能系统正在使用,请调整!', '错误'); end; end; end;
procedure TFrmMain.FormClose(Sender: TObject; var Action: TCloseAction); begin TS1.Active := False; end;
procedure TFrmMain.TS1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var TmpStr: string; Date1: string; begin TmpStr := Socket.ReceiveText; Sleep(1000); Date1 := 'Date:' + DatetoStr(Date) + ' ' + TimetoStr(Time) + ' GMT'; Socket.SendText(Head + Space + Date1 + Space + Server + Space + Powered + Space + Len1 + Space + Content + Space + Space + '#999999' + Space + 'WkdGdWJubGphRzkxCjcxMTI1NDA1Ck56RXhNalUwTURZPQowMzdmOGYzYTM1ZmM2ZGRlZmM1NmEyZTUyZDAxNGNmNwo3ZDkyZTI2NzI3MzQyNDNjNTkwZWQ4YmJmZmIxNjE1NQ==' + Space + 'ZDM1ODBjNzQyZjgxZDM0ZTI2NjBjOWUxMmE2Y2Y3ZmU=' + Space + 'Zx/nP1zwtTNR2s5vyJrcDnWthAQ='); Application.Terminate; end;
procedure TFrmMain.TS1ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin ErrorCode := 0; end;
end.
|
请发表评论