尝试着给winhex增加二进制文件比较功能
原文:https://www.pediy.com/kssd/pediy10/78617.html
平时经常要对二进制文件进行比较,我比较喜欢使用WINHEX处理二进制文件,很希望它能够提供UE一样的二进制文件比较功能。
所以今天尝试给winhex增加这个功能。
1。首先给WINHEX增加一个按扭。使用资源黑客。
2.更改winhex原先的消息处理
改成
bp GetOpenFileNameA,运行.来到这里的代码处.
EDX指向最近打开的文件完整路径名
EAX=[533774]=00548D6C
把文件的路径复制到了00548D6C位置.
往下翻翻,发现这个地址00548B6C始终指向最新打开的完整文件路径。
增加以下代码:
我自己写了一个dll,用来实现文件比较。编程老是学不会,见笑了。
窗体里的代码:
说明&总结一下:
1。我的winhex是12.75 SR-R6这个版本。
2.程序里的listbox没有增加滚动条,当文件过长的时候,不能完整显示,我也不知道如何给listbox增加垂直滚动条。
3.我的winhex从破解版变成未注册版,并且运行不稳定,经常出BUG。
4.希望高手整一个给我这个菜鸟用用。
5没能很好的选择已经打开的文件,象UE那样,只能选择一个
效果图:
原来winhex有文件比较的功能.
这么老的帖子还有人顶啊...我忘记说了,我把Cmpfile.dll改成cmp.dll
0052BEEC . 68 DDBE5200 push 0052BEDD ; /FileName = "cmp"
0052BEF1 . E8 CEACEDFF call <jmp.&kernel32.LoadLibraryA> ; \LoadLibraryA
这样修改的时候就省了几个字节
这个可以下GetOpenFileNameA跟踪出来,
好象会保存文件名到一个数组那样的结构里
我现在主要搞数据库开发了,其实我很久不接触破解了