首页
社区
课程
招聘
[原创]Hex Comparison注册分析
发表于: 2023-8-24 09:20 11405

[原创]Hex Comparison注册分析

2023-8-24 09:20
11405

本文仅用于学习用途,支持正版

在学习Flexlm ECC patch过程中,需要对比下别人patch的exe和原本exe的差异,使用到这款Hex Comparison这款二进制比较工具.那么就先来学习一下这款软件的注册机制.


看来我们需要输入正确格式的邮箱地址

到这里看到邮箱地址是没问题了,下一步搞定注册码

很快就定位到了0040DEB0这个地址引用了

先来看一下第127-130行:

通过浏览周边发现这么个模式即

猜测并结合OD调试可以把unknown_libname_46改名BInitStr,sub_4CDA5C改名为BReleaseStr.
其次,从形式上看sub_40BE50(v36[0]),像是要把字符串的第一个字符传递进函数去做运算,但是结合调试发现其实传递进去的就是第一个字符的引用,函数里面还是要通过这个字符来使用这个字符串中的其他字符



运行发现注册失败,接着在IDA中分析,发现在_TForm3_BitBtn2Click函数内还有一个判断的地方

a. IDA有些变量识别的不准确需要配合调试使用,也可能是自己使用IDA不熟练,没有掌握到窍门.碰到有赋值使用的变量和没赋值就使用的变量要特别关注.
b. 注册成功后发现这个软件不能正确的比较前言提到的两个exe差异的地方,以前这个软件工作的好好的.
c. 附件文件仅供参考,不能正确运行.
d. 如果错误,请大家指正,我会及时修正.

unknown_libname_46(v36);
TControl::GetText(a1[191]);
*(_BYTE *)(dword_4DB510 + 1236) = sub_40BE50(v36[0]);
          sub_4CDA5C(v36, 2);
unknown_libname_46(v36);
TControl::GetText(a1[191]);
*(_BYTE *)(dword_4DB510 + 1236) = sub_40BE50(v36[0]);
          sub_4CDA5C(v36, 2);

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 2
支持
分享
最新回复 (2)
雪    币: 2948
活跃值: (30846)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2023-8-24 14:15
1
雪    币: 206
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
感谢分享经验
2023-11-12 12:27
0
游客
登录 | 注册 方可回帖
返回
//