好友
阅读权限40
听众
最后登录1970-1-1
|
我是用户
发表于 2013-5-30 19:38
本帖最后由 我是用户 于 2013-6-23 13:49 编辑
【软件名称】: PilotEdit5.9
【作者邮箱】: 2714608453@qq.com
【下载地址】: http://www.crsky.com/soft/13264.html
【加壳方式】: Microsoft Visual C++ 8.0
【使用工具】: OD
【操作平台】: XP SP2
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
前言:
今天的软件比较简单,这段时间要考试,可能更新的比较慢,望谅解,如果你觉得有对你帮助的话,就加些分吧,嘿嘿~~~
1.查壳
用PEID查壳,显示Microsoft Visual C++ 8.0 *。
如图1:
2.分析
未注册版本有30天天数限制,打开程序,弹出试用框。
如图2:
输入假码和用户名和假码,弹出错误提示。
如图3:
Ctrl+N,下断MessageBoxW,重新输入用户名和假码,程序断下。
如图4:
此时堆栈回溯,在堆栈窗口中找到0012AED8 |0077E983 返回到 PilotEdi.0077E983 来自 PilotEdi.00442A9A这条。
如图5:
此时代码窗口如图6所示:
然后我们往上找,找到关系代码处。
[C] 纯文本查看 复制代码 0077E85B |> /837D F0 00 /cmp [local.4],0x0
0077E85F |. |0F85 71030000 |jnz PilotEdi.0077EBD6
0077E865 |. |51 |push ecx
0077E866 |. |8BCC |mov ecx,esp
0077E868 |. |89A5 FCF6FFFF |mov [local.577],esp
0077E86E |. |8D45 E8 |lea eax,[local.6]
0077E871 |. |50 |push eax
0077E872 |. |E8 E93BC8FF |call PilotEdi.00402460
0077E877 |. |8985 E0F6FFFF |mov [local.584],eax
0077E87D |. |8D4D E4 |lea ecx,[local.7]
0077E880 |. |51 |push ecx
0077E881 |. |E8 AA91F6FF |call PilotEdi.006E7A30
0077E886 |. |83C4 08 |add esp,0x8
0077E889 |. |8985 DCF6FFFF |mov [local.585],eax
0077E88F |. |C645 FC 01 |mov byte ptr ss:[ebp-0x4],0x1
0077E893 |. |8B55 E4 |mov edx,[local.7]
0077E896 |. |52 |push edx
0077E897 |. |68 78438D00 |push PilotEdi.008D4378 ; %
0077E89C |. |68 0F270000 |push 0x270F
0077E8A1 |. |68 0F270000 |push 0x270F
0077E8A6 |. |68 E0E4AB00 |push PilotEdi.00ABE4E0 ; 1
0077E8AB |. |E8 94A8CFFF |call PilotEdi.00479144
0077E8B0 |. |83C4 14 |add esp,0x14
0077E8B3 |. |33C0 |xor eax,eax
0077E8B5 |. |75 33 |jnz short PilotEdi.0077E8EA ; 死都不跳
0077E8B7 |. |68 E0E4AB00 |push PilotEdi.00ABE4E0 ; 1
0077E8BC |. |E8 6FF8FFFF |call PilotEdi.0077E130 ; 可跳
0077E8C1 |. |83C4 04 |add esp,0x4
0077E8C4 |. |85C0 |test eax,eax
0077E8C6 |. |75 22 |jnz short PilotEdi.0077E8EA
0077E8C8 |. |68 883DAC00 |push PilotEdi.00AC3D88 ; ###我是用户$$$V5.9.0
0077E8CD |. |E8 3ECCCFFF |call PilotEdi.0047B510 ; 取长度
0077E8D2 |. |83C4 04 |add esp,0x4
0077E8D5 |. |85C0 |test eax,eax
0077E8D7 |. |76 22 |jbe short PilotEdi.0077E8FB ; 跳向失败
0077E8D9 |. |68 E0E4AB00 |push PilotEdi.00ABE4E0 ; 1
0077E8DE |. |E8 8DF1FFFF |call PilotEdi.0077DA70
0077E8E3 |. |83C4 04 |add esp,0x4
0077E8E6 |. |85C0 |test eax,eax
0077E8E8 |. |74 11 |je short PilotEdi.0077E8FB ; 关键跳
0077E8EA |> |C745 F0 010000>|mov [local.4],0x1 ; 跳过验证框
0077E8F1 |. |C705 6CD4AB00 >|mov dword ptr ds:[0xABD46C],0x1 ; 注册标志位
0077E8FB |> |837D F0 00 |cmp [local.4],0x0 ; 未跳过验证框
0077E8FF |. |0F85 C0020000 |jnz PilotEdi.0077EBC5
0077E905 |. |837D EC 00 |cmp [local.5],0x0
0077E909 |. |0F84 83000000 |je PilotEdi.0077E992
0077E90F |. |68 28A99400 |push PilotEdi.0094A928 ; 5
0077E914 |. |68 80438D00 |push PilotEdi.008D4380 ; U
0077E919 |. |68 FA000000 |push 0xFA
0077E91E |. |68 FA000000 |push 0xFA
0077E923 |. |68 A8BFA400 |push PilotEdi.00A4BFA8 ; U
0077E928 |. |E8 17A8CFFF |call PilotEdi.00479144
0077E92D |. |83C4 14 |add esp,0x14
0077E930 |. |6A 00 |push 0x0
0077E932 |. |6A 10 |push 0x10
0077E934 |. |51 |push ecx
0077E935 |. |8BCC |mov ecx,esp
0077E937 |. |89A5 F8F6FFFF |mov [local.578],esp
0077E93D |. |68 A8BFA400 |push PilotEdi.00A4BFA8 ; U
0077E942 |. |E8 E92AC8FF |call PilotEdi.00401430
0077E947 |. |8985 D8F6FFFF |mov [local.586],eax
0077E94D |. |8D8D F4F6FFFF |lea ecx,[local.579]
0077E953 |. |51 |push ecx
0077E954 |. |E8 B78DF6FF |call PilotEdi.006E7710
0077E959 |. |83C4 08 |add esp,0x8
0077E95C |. |8985 D4F6FFFF |mov [local.587],eax
0077E962 |. |8B95 D4F6FFFF |mov edx,[local.587]
0077E968 |. |8995 D0F6FFFF |mov [local.588],edx
0077E96E |. |C645 FC 02 |mov byte ptr ss:[ebp-0x4],0x2
0077E972 |. |8B8D D0F6FFFF |mov ecx,[local.588]
0077E978 |. |E8 632CC8FF |call PilotEdi.004015E0
0077E97D |. |50 |push eax
0077E97E |. |E8 1741CCFF |call PilotEdi.00442A9A ; 错误对话框
0077E983 |. |C645 FC 01 |mov byte ptr ss:[ebp-0x4],0x1
如图7所示:
注册标志位保存在0x00ABD46C中,0x1表示已注册,0x0表示未注册。
[local.4]为1则跳过试用框,0为显示试用框。
是否注册可以在程序里的关于里看出。
跳向0077E8EA处的跳转有三处。
0077E8B5是不可能跳的。
0077E8C6是对用户名进行验证。
0077E8D9是对注册码进行验证。
注册信息是以文件的形式保存的,路径如下:
C:\Documents and Settings\Administrator\Application Data\PilotEdit\
有兴趣的朋友可以跟下0077E130和0077DA70这两个CALL,他们代码都是一样的.
在0077E130中:
[C] 纯文本查看 复制代码 0077E674 . C785 80E9FFFF >mov dword ptr ss:[ebp-0x1680],0x1 ; 注册标志
0077E738 . C785 78E9FFFF >mov dword ptr ss:[ebp-0x1688],0x0 ; 未注册标志
如果你不想去研究他的算法的话,我们之前所说的完全够用了。
程序重启时会运行上述代码进行验证。我们将0077E8B5处改为jmp,然后保存。
运行如下:
如图8:
=================================================================
传送门:
破解实战-第一战:http://www.52pojie.cn/thread-197281-1-1.html
破解实战-第二战:http://www.52pojie.cn/thread-197598-1-1.html
破解实战-第三站:http://www.52pojie.cn/thread-197957-1-1.html
破解实战-第四站:http://www.52pojie.cn/thread-198203-1-1.html
破解实战-第五战:http://www.52pojie.cn/thread-198365-1-1.html
破解实战-第六战:http://www.52pojie.cn/thread-198930-1-1.html
破解实战-第七战:http://www.52pojie.cn/thread-199459-1-1.html
破解实战-第八战:http://www.52pojie.cn/thread-199834-1-1.html
破解实战-第九战:http://www.52pojie.cn/thread-200655-1-1.html
破解实战-第十战:http://www.52pojie.cn/thread-200798-1-1.html
|
免费评分
-
查看全部评分
本帖被以下淘专辑推荐:
- · 破解教程|主题: 126, 订阅: 213
- · 教程|主题: 123, 订阅: 88
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|