【文章标题】: 王牌拍拍信息提取器V1.0分析破解
【文章作者】: 不死神鸟
【作者邮箱】: [email]wafyl@163.com[/email]
【作者主页】:
http://7758721.126.com
【作者QQ号】: 6944455
【软件名称】: 王牌拍拍信息提取器V1.0
【软件大小】: 871 KB
【下载地址】:
http://www.21cn2.com/down/qq.rar
【加壳方式】: 无壳
【保护方式】: Microsoft Visual C++ 6.0 [覆盖]
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: PEID,OllyDbg
【操作平台】: windows 2000/xp
【软件介绍】: 能提取拍拍网的买家和卖家
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
首先用PEID察看该软件,结果显示Microsoft Visual C++ 6.0 [覆盖]无壳
然后打开OllyDbg,载入目标程序,入口点在00403831
00403831 >/$ 55 PUSH EBP
00403832 |. 8BEC MOV EBP,ESP
00403834 |. 6A FF PUSH -1
00403836 |. 68 F0624000 PUSH 王牌拍拍.004062F0
0040383B |. 68 A44C4000 PUSH 王牌拍拍.00404CA4 ; SE 处理程序安装
00403840 |. 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00403846 |. 50 PUSH EAX
00403847 |. 64:8925 00000>MOV DWORD PTR FS:[0],ESP
查找超级字符串后发现程序有可疑点,并未找到相关资源,很显然是被做了手脚,这时我们下bp MessageBoxExA
拦截弹出消息框断点,下好断点后按F9运行程序,这时候目标程序已经被启动,我在用户名处随便写了个用户名,
然后点保存,目标程序被成功拦截,观察右下角的锥栈,0012F350 77D5052F /CALL 到 MessageBoxExA 来自 USER32.77D5052A
在该位置上按回车键,这时候目标跟入77D5052F 5D POP EBP的位置,我们在此处按ALT+F9键,
按完后回发现目标程序右打开了一个窗口,这个就是输入用户名后,我们按确认按钮执行的地方,弹出了一个消息框
上面写着:注册提示 点击确定后将会关闭本程序,请重新打开本程序以验证是否成功,然后我点了一下 确定 按钮
这时你会发现程序停在了krnln模块,这很显然是个易语言写的程序,加密手法是用易语言伪装的C++,
目标停在了10062146 5F POP EDI ; 00A95250的位置上,
接着我们继续按F9键,大概按了27次ALT+F9键后返回到主程序0040F458中,
0040F458 83C4 28 ADD ESP,28
这时候我再次查找超级字符串,下面写着[共找到字串161],到了这里已经完全可以看到相关资源了,不过先别高兴
接下来我们就要找到注册的关键,鼠标向下找,找到00412908,显示如下
超级字串参考+ , 条目 83
地址=00412908
反汇编=MOV EAX,王牌拍拍.00409918
文本字串= 正****式**版
在00412908的位置双击鼠标左键,来到了
00412908 B8 18994000 MOV EAX,王牌拍拍.00409918 ; 正****式**版
到了这里就离成功不远了,首先先向上找,看看有没有跳转指令
004128E5 /0F84 99000000 JE 王牌拍拍.00412984 若相等则跳转为正式版(这是我自己后加上的解释)
004128EB |6A 00 PUSH 0
004128ED |68 00000000 PUSH 0
004128F2 |6A FF PUSH -1
004128F4 |6A 0C PUSH 0C
004128F6 |68 02000116 PUSH 16010002
004128FB |68 01000152 PUSH 52010001
00412900 |E8 5B2B0000 CALL 王牌拍拍.00415460
00412905 |83C4 18 ADD ESP,18
00412908 |B8 18994000 MOV EAX,王牌拍拍.00409918 ; 正****式**版
在离00412908不远的上方我找到了一个跳转004128E5 /0F84 99000000 JE 王牌拍拍.00412984
我把它改一下,在JE 王牌拍拍.00412984的位置上双击鼠标左键,这时候弹出了汇编对话框,
我把JE 00412984改成JNE 00412984,然后按右键选择复制可执行文件-选择,这时你会发现OD又打开了一个窗口,
000128E5 0F85 99000000 JNZ 00012984
在这里再按一下右键,在弹出的菜单里选择 保存文件,然后将文件名改成破解.exe,这是我随便写的,以便于日后区分
然后保存该文件,关闭OllyDbg,打开破解.exe,这时你会发现试用版已经变成了正式版,这时我测试一下它的功能,发现
无法使用[导出列表]功能,并提示未注册,接下来我们重复以前的操作,重新打开OllyDbg,然后载入破解.exe,
下bp MessageBoxExA 拦截弹出消息框断点,F9运行程序,这时候目标程序已经被启动,我在用户名处随便写了个用户名,
然后点保存,目标程序被成功拦截,观察右下角的锥栈,0012F350 77D5052F /CALL 到 MessageBoxExA 来自 USER32.77D5052A
在该位置上按回车键,这时候目标跟入77D5052F 5D POP EBP的位置,我们在此处按ALT+F9键,
按完后回发现目标程序右打开了一个窗口,这个就是输入用户名后,我们按确认按钮执行的地方,弹出了一个消息框
上面写着:注册提示 点击确定后将会关闭本程序,请重新打开本程序以验证是否成功,然后我点了一下 确定 按钮
这时你会发现程序停在了krnln模块,接着我们继续按F9键,大概按了27次ALT+F9键后返回到主程序0040F458中,
这时候我再次查找超级字符串,在超级字串参考的第一行,醒目的写着
超级字串参考+ , 条目 0
地址=0040F017
反汇编=MOV EAX,破解.00409236
文本字串=试*用*版*本*不*能*导*出*列*表\n\n\n\n需*要*完*整*使*用*本*功*能*请*先*注*册!
,双击跟进,来到了0040F017 B8 36924000 MOV EAX,破解.00409236
在它的上一行,我看到了一个跳转指令,我怀疑他就是我要找的功能限制,
0040F011 /0F85 94000000 JNZ 破解.0040F0AB 若不相等则跳转为 导出列表功能锁定 (这是我自己后加上的解释)
把JNZ改成JE,然后重复上述的保存程序的方法,在这里我在重申一次,
在这里再按一下右键,在弹出的菜单里选择 保存文件,然后将文件名改成破解1.exe,这是我随便写的,以便于日后区分
然后保存该文件,关闭OllyDbg.打开破解1.exe文件,这时点 导出列表 按钮,弹出保存对话框,这说明功能已经被激活,
我这篇文章是写给新手们的,希望对你们会有所帮助,各位高人就不要取笑我了。
--------------------------------------------------------------------------------
【经验总结】
本文中有几个重点
bp MessageBoxExA 拦截弹出消息框断点
004128E5 /0F84 99000000 JE 王牌拍拍.00412984 JE改成JNE
0040F011 /0F85 94000000 JNZ 破解.0040F0AB JNE改成JE
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2007年03月31日 下午 06:20:02