delphi修改exe指定地址的内容
项目 Project1.exe
------------------
program Project1;
uses
<wbr> Forms,Windows, Messages,SysUtils,<br><wbr> Unit1 in 'Unit1.pas' {Form1};</wbr></wbr>
{$R *.res}
begin
<wbr> Application.Initialize;<br><wbr>// Application.Title := 'TestOD';<br><wbr>
MessageBox(Application.Handle,pchar(inttostr(Application.Handle)),pchar('hello1'),0);<br><wbr>
MessageBox(Application.Handle,pchar('abc1'),pchar('hello1'),0);<br><wbr> Application.Run;<br><wbr> Application.Terminate;<br><wbr> Application.CreateForm(TForm1, Form1);</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
end.
===================================
项目 Project2.exe
------------------
unit Unit2;
interface
uses
<wbr> Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,<br><wbr> Dialogs, StdCtrls,Tlhelp32;</wbr></wbr>
type
<wbr> TForm1 = class(TForm)<br><wbr><wbr><wbr> Button1:
TButton;<br><wbr><wbr><wbr> Button2:
TButton;<br><wbr><wbr><wbr> ListBox1:
TListBox;<br><wbr><wbr><wbr> procedure
Button1Click(Sender: TObject);<br><wbr><wbr><wbr> procedure
Button2Click(Sender: TObject);<br><wbr> private<br><wbr><wbr><wbr> { Private
declarations }<br><wbr> public<br><wbr><wbr><wbr> { Public
declarations }<br><wbr> end;<br><wbr> function FindProcessID(s:string):integer;<br>
var<br><wbr> Form1: TForm1;<br><wbr><wbr><wbr> NewSpeed :
array[0..2] of byte =($71,$7A,$66); //qzf</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
<wbr>Gameh:HWND;<br><wbr>GamePid:DWORD;<br><wbr>Gamehprocess: THandle;<br><wbr>WriteByte:DWORD;<wbr><wbr><wbr>
//实际写入字节数</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
begin
<wbr> //获取游戏窗口句柄<br><wbr> //Gameh:=findwindow(nil,'xxxx');<br><wbr> //gameh := 1048984;<br><wbr><wbr><wbr>
//获取进程ID<br>
//<wbr> GetWindowThreadprocessID<wbr>(Gameh,GamePid);<br><wbr> GamePid := FindProcessID('Project1.exe');<br><wbr> //获取进程句柄<br><wbr><wbr>
gamehProcess:=OpenProcess(windows.PROCESS_ALL_ACCESS,false,GamePid);<br><wbr> //44CB9C 通过OD分析的地址,进而修改了它的内容<br><wbr>
Writeprocessmemory(gamehProcess,Pointer($44CB9C)<wbr>
,@NewSpeed[0],3,<wbr> WriteByte);<br><wbr> //result:=Writebyte;<br><wbr> showmessage('修改成功!');<br>
end;<br>
function FindProcessID(s:string):integer;<br>
var<br>
found,find:boolean;<br>
FSnapshotHandle:tHANDLE;<br>
lppe:TProcessEntry32;<br>
begin<br>
FSnapshotHandle := CreateToolhelp32Snapshot<wbr>(TH32CS_SNAPPROCESS, 0);
//CreateToolhelp32Snapshot<wbr>函数得到进程快照<br>
Find:=False;<br>
lppe.dwSize := Sizeof(lppe); //初始化<br>
found := Process32First(FSnapshotHandle, lppe); //Process32First
得到一个系统快照里第一个进程的信息<br>
while found do<br><wbr><wbr><wbr> begin<br><wbr><wbr><wbr> if
LowerCase(ExtractFileName(lppe.szExeFile))=LowerCase(s) then<br><wbr><wbr><wbr><wbr><wbr>
begin<br><wbr><wbr><wbr><wbr><wbr>
Result:=lppe.th32ProcessID; //找到进程返回ID<br><wbr><wbr><wbr><wbr><wbr>
find:=true;<br><wbr><wbr><wbr><wbr><wbr>
CloseHandle(FSnapshotHandle);<br><wbr><wbr><wbr><wbr><wbr>
exit;<br><wbr><wbr><wbr><wbr><wbr>
end;<br><wbr><wbr><wbr><wbr><wbr>
found := Process32Next(FSnapshotHandle, lppe);<br><wbr><wbr><wbr> end;<br>
CloseHandle(FSnapshotHandle);<br>
if find=False then<br>
Result:=0; //找不到进程返回0<br>
end;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
procedure TForm1.Button2Click(Sender: TObject);
var<wbr><wbr><br><wbr> ProcessName : string;
//进程名<wbr><wbr><br><wbr> ProcessID<wbr> : integer;
//进程表示符<wbr><wbr><br><wbr> i :
integer;<wbr><wbr><wbr><br><wbr>
ContinueLoop:BOOL;<wbr><wbr><wbr><br><wbr> FSnapshotHandle:THandle; //进程快照句柄<br><wbr> FProcessEntry32:TProcessEntry32;
//进程入口的结构体信息<wbr><wbr><br>
begin<wbr><wbr><br><wbr>
FSnapshotHandle:=CreateToolhelp32Snapshot<wbr>(TH32CS_SNAPPROCESS,0);
//创建一个进程快照<wbr><wbr><br><wbr>
FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);<wbr><wbr><wbr><br><wbr>
ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);
//得到系统中第一个进程<br><wbr> //循环例举<br><wbr> while ContinueLoop<wbr>
do<wbr><wbr><br><wbr> begin<br><wbr><wbr><wbr> ProcessName
:= FProcessEntry32.szExeFile;<br><wbr><wbr><wbr> ProcessID :=
FProcessEntry32.th32ProcessID;<br><wbr><wbr><wbr>
Listbox1.Items.add('应用程序名 :'+ProcessName +'#进程ID:'+
inttostr(ProcessID));<br><wbr><wbr><wbr>
ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);<wbr><wbr><wbr><br><wbr>
end;<wbr><wbr><wbr><br>
end;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
end.
相关推荐
这个程序是一个游戏的登录器,因为服务器的IP地址总是变化,所以写了这么一个程序,很简单,但希望能帮上您什么忙.程序是Delphi 7开发的,直接就可以执行.
修改文本文件 允许在资源管理器中拖放文件 减小EXE文件大小 列举驱动器 列出目录下的子目录 创建快捷方式 创建目录 删除文件到回收站 判断文件夹是否共享 剪贴板存放多个控件流 加载CDROM图标 压缩和解压流 取MP3的...
Delphi SetFileIcon 万能设置修改文件图标源码。指定后缀名、文件描述、文件图标、默认打开程序den等等。DelphiXE3编写。
前段时间烈火下载给大家提供了一款Flash文件转EXE的Delphi源代码,我们知道SWF转EXE是很常见的,那么反相转换(EXE转Flash)你有没有见过呢?今天就带给大家这样的源程序。SWF就Flash的一种生成格式,依靠自已公司的...
{* 设置文件时间 Example: FileSetDate('c:\Test\Test1.exe',753160662); } function GetFileDate(FileName: string; var CreationTime, LastWriteTime, LastAccessTime: TFileTime): Boolean; {测试通过} {* 取...
Delphi流媒体音频转换程序,采用微软公司提供的DirectX->DirectShow实现了网络流媒体到指定格式音频文件的转换.<1>. res文件夹中是源代码 <2>. text中是一点点心得 <3>. Bin文件夹中是生成的目标(windows服务)...
(2)单击add按钮,添加本次升级文件的http下载地址,格式如:http://192.168.1.104:8080/update/project1.exe,千万别写错了。AutoUpgrader只支持http方式。不要填错。Upgrade method默认;可以在“Release Notes ...
实例254 修改IE标题栏内容 327 实例255 隐藏IE浏览器的右键关联菜单 328 实例256 设置IE的默认主页 329 第8章 数据库技术 331 8.1 连接数据库 332 实例257 通过Internet登录SQL数据库 332 实例258 用...
自己做的小工具,实现简便的手机照片和手机视频整理,以摄像日期(修改日期)批量重命名和整理照片和视频,并存放到指定文件夹,压缩包保护源代码和EXE可执行文件
的新功能和更改中的内容history-eng.html。 此版本库中有关新功能的更多详细信息 可以在文件中找到-关于EhLib 9.5 Eng.doc 要在IDE中安装该库的新版本,请使用安装程序 。\ Installer \ EhLibInstaller.exe ...
批量修改png文件尺寸大小,保证不修改png文件格式,c#技术将图片按照比例缩放,并且重新绘制图片,并且以png格式存储
delphi下的应用程序为:IPPacketMonitor.exe,它使用IPHook.sys。 任何人可以自己编译和修改这个驱动程序,使之能够按照一定的方式运行,这里给出的只是本人的一个想法,希望能给各位带来一点帮助。任何应用程序都...
weboffice 7.0版本信息与下载 更新时间: 2013年 9月 4日 12:16 ...增强版用于特殊订制开发用户,提供了office区域控制实现了在office中控制特殊区域选择定好的内容或者控制指定区域编辑权限;也提供了pdf的生成功能;
修改BUG:VCL相关支持库部分组件在修改个别属性或调用个别方法后不可见,并改进了Delphi版本的支持库SDK。 15. 修改BUG:高级表格在列类型为数值型时,添加新行且省略标题的情况下,会导致程序异常。 16. 修改BUG...
请用delphi6.0分别编译四个工程,然后将生成的 .exe或.dll文件 放置同一目录就可以了。 任何人都可以随意复制,传播本软件。但若您修改了 其中的代码,我希望您能够寄给我一份。谢谢! 姜亮 ...
17、二进制修改支持到0x200的偏移量修改。 18、IP通知,分Email通知(动态IP适用)和内置IP服务侍待器(局域网适用),不需要Email通知请清空SMTP和Email。 19、更改了配置采用重载服务断后立即有效。 20、由于采用...
bootcfg /rebuild 重复全部 Windows 安装过程并允许用户选择要添加的内容。 注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。 bootcfg /scan 扫描用于 Windows 安装的...
:gear: 安装下载并运行ZapMQ-Installer.exe,指定要安装的文件夹,然后单击“下一步”,“下一步”,“下一步” ...安装完成后,在服务列表中将安装并已经运行ZapMQ服务(当然,如果没有问题) :high_voltage: ...
<<page 1>> page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 ... 比尔....这一天 微软公司正式推出了其下一代...