`
az7772010
  • 浏览: 203112 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

delphi修改exe指定地址的内容

 
阅读更多

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.

分享到:
评论

相关推荐

    修改EXE文件内指定IP地址并执行

    这个程序是一个游戏的登录器,因为服务器的IP地址总是变化,所以写了这么一个程序,很简单,但希望能帮上您什么忙.程序是Delphi 7开发的,直接就可以执行.

    Delphi开发技巧之-文件操作

    修改文本文件 允许在资源管理器中拖放文件 减小EXE文件大小 列举驱动器 列出目录下的子目录 创建快捷方式 创建目录 删除文件到回收站 判断文件夹是否共享 剪贴板存放多个控件流 加载CDROM图标 压缩和解压流 取MP3的...

    Delphi万能设置修改文件图标源码SetFileIcon

    Delphi SetFileIcon 万能设置修改文件图标源码。指定后缀名、文件描述、文件图标、默认打开程序den等等。DelphiXE3编写。

    EXE程序转SWF格式Flash文件,Delphi源代码.rar

    前段时间烈火下载给大家提供了一款Flash文件转EXE的Delphi源代码,我们知道SWF转EXE是很常见的,那么反相转换(EXE转Flash)你有没有见过呢?今天就带给大家这样的源程序。SWF就Flash的一种生成格式,依靠自已公司的...

    delphi通用函数单元一

    {* 设置文件时间 Example: FileSetDate('c:\Test\Test1.exe',753160662); } function GetFileDate(FileName: string; var CreationTime, LastWriteTime, LastAccessTime: TFileTime): Boolean; {测试通过} {* 取...

    Delphi使用微软Directshow实现流媒体音频转换.rar

    Delphi流媒体音频转换程序,采用微软公司提供的DirectX-&gt;DirectShow实现了网络流媒体到指定格式音频文件的转换.&lt;1&gt;. res文件夹中是源代码  &lt;2&gt;. text中是一点点心得  &lt;3&gt;. Bin文件夹中是生成的目标(windows服务)...

    Autoupgrader for Delphi XE5 Full Source

    (2)单击add按钮,添加本次升级文件的http下载地址,格式如:http://192.168.1.104:8080/update/project1.exe,千万别写错了。AutoUpgrader只支持http方式。不要填错。Upgrade method默认;可以在“Release Notes ...

    Delphi开发范例宝典目录

    实例254 修改IE标题栏内容 327 实例255 隐藏IE浏览器的右键关联菜单 328 实例256 设置IE的默认主页 329 第8章 数据库技术 331 8.1 连接数据库 332 实例257 通过Internet登录SQL数据库 332 实例258 用...

    Delphi手机照片和视频整理工具

    自己做的小工具,实现简便的手机照片和手机视频整理,以摄像日期(修改日期)批量重命名和整理照片和视频,并存放到指定文件夹,压缩包保护源代码和EXE可执行文件

    delphi EhLib 9.5.012 Full Source 专业版 .rar

    的新功能和更改中的内容history-eng.html。 此版本库中有关新功能的更多详细信息 可以在文件中找到-关于EhLib 9.5 Eng.doc 要在IDE中安装该库的新版本,请使用安装程序 。\ Installer \ EhLibInstaller.exe ...

    图片批量缩小尺寸(png).exe

    批量修改png文件尺寸大小,保证不修改png文件格式,c#技术将图片按照比例缩放,并且重新绘制图片,并且以png格式存储

    一款改自IPHook的IP数据包监控过滤程序

    delphi下的应用程序为:IPPacketMonitor.exe,它使用IPHook.sys。 任何人可以自己编译和修改这个驱动程序,使之能够按照一定的方式运行,这里给出的只是本人的一个想法,希望能给各位带来一点帮助。任何应用程序都...

    点聚weboffice7

    weboffice 7.0版本信息与下载 更新时间: 2013年 9月 4日 12:16 ...增强版用于特殊订制开发用户,提供了office区域控制实现了在office中控制特殊区域选择定好的内容或者控制指定区域编辑权限;也提供了pdf的生成功能;

    易语言程序免安装版下载

    修改BUG:VCL相关支持库部分组件在修改个别属性或调用个别方法后不可见,并改进了Delphi版本的支持库SDK。 15. 修改BUG:高级表格在列类型为数值型时,添加新行且省略标题的情况下,会导致程序异常。 16. 修改BUG...

    类似ACDSee源码

    请用delphi6.0分别编译四个工程,然后将生成的 .exe或.dll文件 放置同一目录就可以了。 任何人都可以随意复制,传播本软件。但若您修改了 其中的代码,我希望您能够寄给我一份。谢谢! 姜亮 ...

    Way v2.4 (远程控制)

    17、二进制修改支持到0x200的偏移量修改。 18、IP通知,分Email通知(动态IP适用)和内置IP服务侍待器(局域网适用),不需要Email通知请清空SMTP和Email。 19、更改了配置采用重载服务断后立即有效。 20、由于采用...

    网管教程 从入门到精通软件篇.txt

     bootcfg /rebuild 重复全部 Windows 安装过程并允许用户选择要添加的内容。  注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。  bootcfg /scan 扫描用于 Windows 安装的...

    ZapMQ:简单高效的消息代理

    :gear: 安装下载并运行ZapMQ-Installer.exe,指定要安装的文件夹,然后单击“下一步”,“下一步”,“下一步” ...安装完成后,在服务列表中将安装并已经运行ZapMQ服务(当然,如果没有问题) :high_voltage: ...

    C#微软培训资料

    &lt;&lt;page 1&gt;&gt; page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 ... 比尔....这一天 微软公司正式推出了其下一代...

Global site tag (gtag.js) - Google Analytics