开始用TRW调试,
下bpx hmemcpy断点,
pmodule回到程序领空,
然后F12几下就来到了下面
:0051E377 E8A05CF1FF call 0043401C 读取注册名call
:0051E37C 8B55EC mov edx, dword ptr [ebp-14] 读注册名
:0051E37F 8B45FC mov eax, dword ptr [ebp-04]
:0051E382 0570090000 add eax, 00000970
:0051E387 E81859EEFF call 00403CA4
:0051E38C 8D55E8 lea edx, dword ptr [ebp-18]
:0051E38F A13C915400 mov eax, dword ptr [0054913C]
:0051E394 8B80E0020000 mov eax, dword ptr [eax+000002E0]
:0051E39A E87D5CF1FF call 0043401C 读取我们输入注册码call
:0051E39F 8B45E8 mov eax, dword ptr [ebp-18] 把注册码的地址输入EAX
:0051E3A2 8D55F4 lea edx, dword ptr [ebp-0C]
......
:0051E3AF E81C5BEEFF call 00403ED0 读取注册码的长度CALL
:0051E3B4 83F80C cmp eax, 0000000C
:0051E3B7 7560 jne 0051E419 看看是否等于12位如果不等跳转到错误消息框
......
:0051E3E8 8B45F4 mov eax, dword ptr [ebp-0C] 把真注册码的前七位的地址移入EAX
* Possible StringData Ref from Code Obj ->"CCB21R-"
|
:0051E3EB BA70E65100 mov edx, 0051E670 把真的前七位移入就是上面的"CCB21R-"
:0051E3F0 E8EB5BEEFF call 00403FE0 比较的CALL
:0051E3F5 751E jne 0051E415 不等跳转错误提示
:0051E3F7 8D55E4 lea edx, dword ptr [ebp-1C]
:0051E3FA 8B45FC mov eax, dword ptr [ebp-04]
:0051E3FD 8B8070090000 mov eax, dword ptr [eax+00000970]
:0051E403 E85462F6FF call 0048465C 生成注册码的CALL底下具体分析
:0051E408 8B55E4 mov edx, dword ptr [ebp-1C] 正确的注册码 D EBP-1C就可以看到了~
:0051E40B 8B45F0 mov eax, dword ptr [ebp-10] 我们的注册码
:0051E40E E8CD5BEEFF call 00403FE0 比较后五位的CALL
:0051E413 7406 je 0051E41B 正确跳转成功
F8跟进0051E403的那个CALL
:0048465C 55 push ebp
:0048465D 8BEC mov ebp, esp
:0048465F 83C4F0 add esp, FFFFFFF0
:00484662 53 push ebx
:00484663 56 push esi
:00484664 57 push edi
......
:0048469A 8BD8 mov ebx, eax
:0048469C 83FB05 cmp ebx, 00000005
:0048469F 7F13 jg 004846B4 比较我们的注册名是否有五位对就开始运算注册码
......
:004846B4 8B45F4 mov eax, dword ptr [ebp-0C] 把注册码的地址移入eax
:004846B7 33C9 xor ecx, ecx 对ECX进行清零
:004846B9 8A08 mov cl, byte ptr [eax] 移入注册码的第一位到CL
:004846BB 8B45F4 mov eax, dword ptr [ebp-0C]
:004846BE 33DB xor ebx, ebx
:004846C0 8A5801 mov bl, byte ptr [eax+01] 移入注册码的第二位到BL
:004846C3 8B45F4 mov eax, dword ptr [ebp-0C]
:004846C6 0FB67002 movzx esi, byte ptr [eax+02] 移入注册码的第三位到SI
:004846CA 8B45F4 mov eax, dword ptr [ebp-0C]
:004846CD 0FB67803 movzx edi, byte ptr [eax+03] 移入注册码的第四位到DI
:004846D1 8B45F4 mov eax, dword ptr [ebp-0C]
:004846D4 0FB64004 movzx eax, byte ptr [eax+04] 移入注册码的第五位到AX
:004846D8 8945F0 mov dword ptr [ebp-10], eax 把第五位保存到EBP-10的内存里面,等等下使用
:004846DB 8D040B lea eax, dword ptr [ebx+ecx] 1位2位相加
:004846DE 03FE add edi, esi 3位4位相加
:004846E0 F7EF imul edi (1位+2位)*(3位*4位)
:004846E2 F76DF0 imul [ebp-10] 再乘以第5位的ASCII
:004846E5 B9A0860100 mov ecx, 000186A0
:004846EA 99 cdq
:004846EB F7F9 idiv ecx 然后 (1位+2位)*(3位*4位)/186a0
:004846ED 8BDA mov ebx, edx 余数就是的10进制就是注册码的后五位了 用 ? edx 命令就可以看到了~
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>