已知32位程序特征码,如何反推出64位的来?
2EE0E4E0 <produc | 83EC 08 | sub esp,8 |2EE0E4E3 | 56 | push esi |
2EE0E4E4 | 6A 38 | push 38 |
2EE0E4E6 | C74424 08 00000000 | mov dword ptr ss:,0 |
2EE0E4EE | FF15 249FF12E | call dword ptr ds:[<&?doAlloc@FObj@@YAPAXI@Z>] | 跨模块调用全部下断后,大约10次断到
2EE0E4F4 | 8BF0 | mov esi,eax |
2EE0E4F6 | 83C4 04 | add esp,4 |
2EE0E4F9 | 897424 08 | mov dword ptr ss:,esi |
2EE0E4FD | 85F6 | test esi,esi |
2EE0E4FF | 74 56 | je productlicensing.2EE0E557 | 不行!
2EE0E501 | C746 04 AC66F42E | mov dword ptr ds:,productlicensing.2EF466AC |
2EE0E508 | 8BCE | mov ecx,esi |
2EE0E50A | C746 30 E4D4F12E | mov dword ptr ds:,<productlicensing.&sub_2ED28620> |
2EE0E511 | 6A 00 | push 0 |
2EE0E513 | C746 34 00000000 | mov dword ptr ds:,0 |
2EE0E51A | E8 1178FFFF | call <productlicensing.sub_2EE05D30> | 因为这句是作祟。。。。内含要修改数据传输的地址
2EE0E51F | 8B46 04 | mov eax,dword ptr ds: |
2EE0E522 | 8D4E 04 | lea ecx,dword ptr ds: |
2EE0E525 | C706 9866F42E | mov dword ptr ds:,<productlicensing.&sub_2EE05F20> | C7063C63F42E mov dword ptr,2EF4633C(第1处【至少改这】修改成的地址3
2EE0E52B | 8B40 04 | mov eax,dword ptr ds: |
2EE0E52E | C74430 04 8C66F42E | mov dword ptr ds:,<productlicensing.&sub_2ED28620> |
2EE0E536 | 8B46 04 | mov eax,dword ptr ds: |
2EE0E539 | 8B7424 10 | mov esi,dword ptr ss: |
2EE0E53D | 8B40 04 | mov eax,dword ptr ds: |
2EE0E540 | 03C8 | add ecx,eax |
2EE0E542 | 890E | mov dword ptr ds:,ecx |
2EE0E544 | 74 0A | je productlicensing.2EE0E550 | 不行!
2EE0E546 | 83C1 04 | add ecx,4 |
2EE0E549 | 51 | push ecx |
2EE0E54A | FF15 C89FF12E | call dword ptr ds:[<&InterlockedIncrement>] |
2EE0E550 | 8BC6 | mov eax,esi |
2EE0E552 | 5E | pop esi |
2EE0E553 | 83C4 08 | add esp,8 |
2EE0E556 | C3 | ret |
2EE0E557 | 8B4424 10 | mov eax,dword ptr ss: |
2EE0E55B | 5E | pop esi |
2EE0E55C | C700 00000000 | mov dword ptr ds:,0 |
2EE0E562 | 83C4 08 | add esp,8 |
2EE0E565 | C3 | ret | 本帖最后由 pjy612 于 2023-4-7 13:20 编辑
{:301_1008:}
咱是萌新 不保证思路真的对...
感觉可以 自己简单弄个简单项目然后 x86 x64 都编译下,然后 看看 关键模块 特征码 大概有啥区别? 本帖最后由 冥界3大法王 于 2023-4-7 13:28 编辑
pjy612 发表于 2023-4-7 13:16
咱是萌新 不保证思路真的对...
感觉可以 自己简单弄个简单项目然后 x86 x64 都编译下,然后 ...
@pjy612
https://www.52pojie.cn/thread-1770802-1-1.html
说得贼容易,调试一下就知道了:
1.得日掉服务,这样没有它就能运行了,同时也过掉了网络验证。
2.得日掉自校验,虽然大白可行,但我还是想知道人家是如何找到的。
3.得日成注册标志,虽然有反调试,但总有能过去的调试器。。。能调试就总会有结果的。
4.程序在玩接力,一堆ProductLicenseingXX.dll传球,互相干扰,时机和方法都很重要。
最头疼的就是第2点,不易定位到。又该如何对比第2点的!发现分水岭呢? 冥界3大法王 发表于 2023-4-7 13:24
@pjy612
https://www.52pojie.cn/thread-1770802-1-1.html
说得贼容易,调试一下就知道了:
{:301_973:}
冤枉啊。。。咱也没说容易啊。。。
咱只是觉得 分析自己写的 总比 分析别人处理过的 多少直观一点。
如果 自己弄的 都已经 天差地别了 那基本可以说 没法逆推 得人工处理了。。。 pjy612 发表于 2023-4-7 13:29
冤枉啊。。。咱也没说容易啊。。。
咱只是觉得 分析自己写的 总比 分析别人处理过的 多少 ...
@pjy612
我相信那个精华不是白给的。。。是不是发现了救命的稻草?{:301_976:} 冥界3大法王 发表于 2023-4-7 13:34
@pjy612
我相信那个精华不是白给的。。。是不是发现了救命的稻草?
{:301_983:}等其他大佬帮忙... 我也就会点.Net...
你那么多威望 肯定比咱强... 这个真不会... 本帖最后由 vipcrack 于 2023-4-7 15:48 编辑
从对应函数名称来定位啊
或者找上下附近的字符串,然后对照字符串来定位 vipcrack 发表于 2023-4-7 15:46
从对应函数名称来定位啊
或者找上下附近的字符串,然后对照字符串来定位
@vipcrack
api名称跨模块调用也试了
唯一有两个可借用
但是!太多! 141个,公共交叉点
还有15的我有32位的
16只有64位的
两版本都不一样,没太好的办法比较啊。 没搞过64位的,32位和64位特征都不同的吗
页:
[1]
2