完美国际FB穿墙飞天外挂的源代码

来源:百度文库 编辑:神马文学网 时间:2024/04/25 02:33:47

{完美已经变味了.从对盗号的姑息,到周年庆的敛财.一个不以用户为根本的东东,是存不长久的.
顺便说一下,完美世界的服务器文件在网络上已经出现.恐怕完美离当年的传奇不远了.
既然这样,我为它的腐朽再加把力吧.
下面披露FB外挂的源代码.Delphi. v7平台调试通过.
基址是68-71的都可以用的一般三周换一次基址.以后基址改了.大家就自己换吧.注意,本程序基址用的二字节的,与平常网上找到的四字节数据有所不同.
顺便提醒一下,下面源码没有做防封处理.一般会在10-30分钟左右被封,想进一步做更好的,就自己学点破解吧.
转载请注明出处,谢谢---------时光牧者}
unit rom;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox6: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure CheckBox2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure CheckBox6MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure CheckBox4MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure CheckBox3MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
function FindproHandle():boolean;
{ Private declarations }
public
{ Public declarations }
Wnd:hwnd;
pid:longint;
ProHandle:THandle;
ycadd:longint;
ftadd:longint;
cqadd:longint;
yyadd:longint;
fxadd:longint;
Num:cardinal;
yc1,yc2,cq1,cq2,ft1,ft2,yy1,yy2,fx1,fx2:integer;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
cqadd:=$0000405223;   //穿墙
ycadd:=$000041EB06;   //隐藏
ftadd:=$0000450445;   //无限跳
yyadd:=$0000461898; //空中漫步,游泳基址没找到;
fxadd:=$00004584F1; //飞行
num:=0;
cq1:=49881;
cq2:=49625;
yc1:=49881;
yc2:=49369;
ft1:=362;
ft2:=2666;
yy1:=32373;//31349;
yy2:=32372;//31348;
fx1:=4469;
fx2:=4468;
end;
function TForm1.FindproHandle():boolean;
var
flag:boolean;
begin
num:=0;
flag:=true;
Wnd := FindWindow(nil,'Element Client');//查找窗口
GetWindowThreadProcessId(Wnd, @PID); //得到pID
//以完全访问权限打开进程句柄
ProHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID);
if PID=0 then
begin
showmessage('进程读取失败,可能是游戏没有启动!');
flag:=false;
end;
FindproHandle:=flag;
end;
//不在状态栏显示
procedure TForm1.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
end;
 
procedure TForm1.CheckBox1MouseUp(Sender: TObject; Button: TMouseButton;//穿墙
Shift: TShiftState; X, Y: Integer);
begin
if FindproHandle() then
begin
if Form1.CheckBox1.Checked then
WriteProcessMemory(ProHandle,Pointer(Form1.cqadd),@Form1.cq1,2,num)
else
WriteProcessMemory(ProHandle,Pointer(Form1.cqadd),@Form1.cq2,2,num);
CloseHandle(ProHandle);
end
else
CheckBox1.Checked:=false;
end;
procedure TForm1.CheckBox2MouseUp(Sender: TObject; Button: TMouseButton;//隐藏建筑
Shift: TShiftState; X, Y: Integer);
begin
if FindproHandle() then
begin
if Form1.CheckBox2.Checked then
WriteProcessMemory(ProHandle,Pointer(Form1.ycadd),@Form1.yc1,2,num)
else
WriteProcessMemory(ProHandle,Pointer(Form1.ycadd),@Form1.yc2,2,num);
CloseHandle(ProHandle);
end
else
CheckBox2.Checked:=false;
end;
procedure TForm1.CheckBox6MouseUp(Sender: TObject; Button: TMouseButton;//飞行
Shift: TShiftState; X, Y: Integer);
begin
if FindproHandle() then
begin
if Form1.CheckBox6.Checked then
WriteProcessMemory(ProHandle,Pointer(Form1.fxadd),@Form1.fx1,2,num)
else
WriteProcessMemory(ProHandle,Pointer(Form1.fxadd),@Form1.fx2,2,num);
CloseHandle(ProHandle);
end
else
CheckBox6.Checked:=false;
end;
procedure TForm1.CheckBox4MouseUp(Sender: TObject; Button: TMouseButton;//空中漫步
Shift: TShiftState; X, Y: Integer);
begin
if FindproHandle() then
begin
if Form1.CheckBox4.Checked then
WriteProcessMemory(ProHandle,Pointer(Form1.yyadd),@Form1.yy1,2,num)
else
WriteProcessMemory(ProHandle,Pointer(Form1.yyadd),@Form1.yy2,2,num);
CloseHandle(ProHandle);
end
else
CheckBox4.Checked:=false;
end;
procedure TForm1.CheckBox3MouseUp(Sender: TObject; Button: TMouseButton;//无限跳
Shift: TShiftState; X, Y: Integer);
begin
if FindproHandle() then
begin
if Form1.CheckBox3.Checked then
WriteProcessMemory(ProHandle,Pointer(Form1.ftadd),@Form1.ft1,2,num)
else
WriteProcessMemory(ProHandle,Pointer(Form1.ftadd),@Form1.ft2,2,num);
CloseHandle(ProHandle);
end
else
CheckBox3.Checked:=false;
end;
end.