首页 如何给EXE文件添加按纽并响应一个对话框

如何给EXE文件添加按纽并响应一个对话框

举报
开通vip

如何给EXE文件添加按纽并响应一个对话框 如何给EXE文件添加按纽并响应一个对话框 【软件名称】: Pe_optimizer1.4 【下载地址】  http://cracking.z0ro.com/Reverse-Engineering/EXE-PE-Tools/PE%20Optimizer%201.3/PE_Optimizer.zip  【使用工具】: OD, Restorator. LordPE      如何美化DIY一个可执行文件,给一个汉化好的文件加上自己的对话框,或者直接加上帮助文本,或者显示破解组织信息,或者调用一个插件,或者加...

如何给EXE文件添加按纽并响应一个对话框
如何给EXE文件添加按纽并响应一个对话框 【软件名称】: Pe_optimizer1.4 【下载地址】  http://cracking.z0ro.com/Reverse-Engineering/EXE-PE-Tools/PE%20Optimizer%201.3/PE_Optimizer.zip  【使用工具】: OD, Restorator. LordPE      如何美化DIY一个可执行文件,给一个汉化好的文件加上自己的对话框,或者直接加上帮助文本,或者显示破解组织信息,或者调用一个插件,或者加载好看的皮肤等。下面我们以Pe_optimizer1.4为例来进行分析,探讨如何为一个exe文件添加一个对话框: 1.预备知识----对话框响应原理:   当我们按下界面上的一个菜单或者一个按钮时,DialogBoxParamA会调用窗口回调 关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函 数来处理,即把包含菜单命令   的信息作为参数送给窗口回调函数,因为一般界面中菜单或按钮有多个,所以很明显会有下面的类型的代码:      cmp     ebx, xxxx1                       比较按下的按钮ID是否等于xxxx1   jnz     short xxxxxxxx1                  如果不是,跳过继续判断,xxxxxxxx1为下一个比较的地址   call    xxxxxxxx1                        如果是,调用该按钮响应的操作   cmp     ebx, xxxx2   jnz     short xxxxxxxx2   call    xxxxxxxx2   .....................      或者   cmp eax,xxxx1                             比较点击的菜单ID是否等于xxxx1   jz xxxxxxxx1                              如果是,调用该按钮响应的操作   cmp eax,xxxx2                             不是,继续判断   jz xxxxxxxx2                                 ...................      或者   cmp ax,xxxx1                              比较点击的菜单ID是否等于xxxx1   jz xxxxxxxx1                              如果是,调用该按钮响应的操作   cmp ax,xxxx2                              不是,继续判断   jz xxxxxxxx2                                 ...................      也许还有其他形式,但总会类似以上列举的几种。   本文的例子就是第一种情况。    2. 添加按钮和对话框并汉化 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 资源   脱壳Pe_optimizer1.4 之后,我们用Restorator.exe来打开并汉化,然后在主界面对话框101上新添加一个按钮,ID改为505 (16进制1F9);       然后再添加一个对话框,将对话框的资源名(其实就是ID)称改为103 (16进制67),再在103对话框上添加一个按钮,ID与关于对话框中关闭的ID (即505)相同即可。最后保存关闭。 运行程序看看,已经出现添加的按钮,但点击不会出现我们添加的对话框,因为还没有响应代码。 3. 分析响应代码。 我们用OD载入PO,右键 -》 查找 -》 常量504 查找常量504来到比较按钮ID这里:1F7是10进制503    00406695    81FB F8010000   cmp     ebx, 1F8                             典型的ID对比   0040669B    75 05           jnz     short Pe_optim.004066A2             ID不正确则执行下一比较   0040669D    E8 66FFFFFF     call    Pe_optim.00406608               ID是的就调用00406608 执行响应操作   004066A2    81FB F6010000   cmp     ebx, 1F6   第二个ID对比,为了增加跳转代码,本行及以下二行将被修改   004066A8    75 05           jnz     short Pe_optim.004066AF             将被修改     004066AA    E8 89FCFFFF     call    Pe_optim.00406338               将被修改        004066AF    81FB F5010000   cmp     ebx, 1F5   004066B5    75 05           jnz     short Pe_optim.004066BC   004066B7    E8 C0ECFFFF     call    Pe_optim.0040537C   004066BC    81FB F7010000   cmp     ebx, 1F7                           004066C2    75 2E           jnz     short Pe_optim.004066F2    关于框的按钮ID为503,我们再看这段代码:    004066BC    81FB F7010000   cmp     ebx, 1F7            1F7是10进制503    004066C2    75 2E           jnz     short Pe_optim.004066F2     如果ID不是503,跳转到004066f2   以下就是关于对话框的响应代码 004066C4    6A 00           push    0                004066C6    68 3C664000     push    Pe_optim.0040663C   004066CB    8B45 08         mov     eax, [ebp+8]   004066CE    50              push    eax   004066CF    6A 66           push    66          66是关于对话框的ID,10进制102   004066D1    A1 DC844000     mov     eax, [4084DC]   004066D6    50              push    eax   004066D7    E8 5CDFFFFF     call      004066DC    EB 14           jmp     short Pe_optim.004066F2   004066DE    8B45 08         mov     eax, [ebp+8]   004066E1    A3 E0844000     mov     [4084E0], eax   004066E6    E8 F5FDFFFF     call    Pe_optim.004064E0   004066EB    EB 05           jmp     short Pe_optim.004066F2   …………………………………  4.补回将被修改nop掉的代码 首先找一处空间,文件末端有很多如: 0040B333, 在0040B333 处补回将要nop掉的三行1F6比较代码,  代码如下:   0040B333    81FB F6010000   cmp     ebx, 1F6                     补回修改nop掉的1F6比较代码   0040B339    75 05           jnz     short Pe_optim.0040B340   不符就转到新的1F9比较地址   0040B33B    E8 F8AFFFFF     call    Pe_optim.00406338    这一句补回不变   0040B340    81FB F9010000   cmp     ebx, 1F9                1F9是添加的按钮ID   0040B346  ^ 0F85 63B3FFFF   jnz     Pe_optim.004066AF     不符就转到下一个1F5比较   5. 以下是我们想要的对话框响应(或者调用一个插件等其它响应)代码:  接下来在我们将上面关于对话框的响应代码二进制复制,在数据窗口粘贴,并修改   在004066CF    6A 66       push    66 这句中的66为67对话框ID即103:  0040B34C    6A 00           push    0   0040B34E    68 3C664000     push    Pe_optim.0040663C   0040B353    8B45 08         mov     eax, [ebp+8]   0040B356    50              push    eax   0040B357    6A 67           push    67      67是我们添加的对话框的ID103   0040B359    A1 DC844000     mov     eax, [4084DC]   0040B35E    50              push    eax   0040B35F    E8 D492FFFF     call      0040B364    EB 14           jmp     short Pe_optim.0040B37A      6.最后是修改跳转代码  即在004066A2    81FB F6010000   cmp     ebx, 1F6  处 直接改为跳转到   0040B333 代码改成下面这样:    00406695   |81FB F8010000   cmp     ebx, 1F8   0040669B   |75 05           jnz     short Pe_optim.004066A2   0040669D   |E8 66FFFFFF     call    Pe_optim.00406608   004066A2   |E9 8C4C0000     jmp     Pe_optim.0040B333   004066A7   |90              nop   004066A8   |90              nop   004066A9   |90              nop   004066AA   |90              nop   004066AB   |90              nop   004066AC   |90              nop   004066AD   |90              nop   004066AE   |90              nop   004066AF   |81FB F5010000   cmp     ebx, 1F5   004066B5   |75 05           jnz     short Pe_optim.004066BC 然后就是保存代码,测试程序      成功,我们添加的对话框显示出来了。   当然, 我们也可依此原理给软件做进一步拓展,增强其实用功能, 比如调用一个DLL插件,启用XN资源管理器: 还可以美化软件资源 更进一步甚至加载好看的皮肤等 相关资料下载http://user.qzone.qq.com/329554301/blog/1373339679 老朽痴拙(QQ329554301)
本文档为【如何给EXE文件添加按纽并响应一个对话框】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_002492
暂无简介~
格式:doc
大小:225KB
软件:Word
页数:7
分类:互联网
上传时间:2013-07-14
浏览量:67