好友
阅读权限40
听众
最后登录1970-1-1
|
ps520
发表于 2010-8-14 20:08
本帖最后由 ps520 于 2010-8-16 09:49 编辑
【文章标题】: 吾爱破解网络加速器破解全历程
【文章作者】: Luck[LCG]
【作者邮箱】: 466748210@qq.com
【作者QQ号】: 466748210
【软件名称】: 吾爱超级网络加速器
【下载地址】: http://www.52pojie.cn/thread-57081-1-1.html
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
首先,请原谅我PEID的无知,user.db老了,啥壳都查不出来。
Exeinfo PE给的是:
VMProtect v.1.6x (demo) 2003-2008 PolyTech - www.vmprotect.ru
Warning , section maybe protected with VMProtect ? - unpack problem
这让我悲剧万分,老毛子的壳也是我们这些凡人随便碰的?
既然都下载了,随便调试下总可以吧~
废话真多……
Okey,我们进入调试阶段吧。
区段很明显,老毛子的VMP,而且根据这感觉以及流行趋势,是个Vmp2.05的吧?
我不懂壳的,我只会爆破~
好吧,我们继续分析。
F9运行程序,Ctrl+G,输入00401000
跟去一看,果然可爱。我觉得很像易语言的,不过不是哈~
到了00401000基本可以检查一个作者是否细心了,这里查字符串,管你加什么壳
只要没有做好文本加密,全部都要露馅~
搜索一下。
呵呵,全部暴露了。
我们不要输入密码和用户名,试试会有什么限制。
登录失败,请确认您的用户名或密码是否正确!
文本里有2段,说明分别对用户名和密码进行了isnull的检测(也就是是否为空^.^)
跟进去看看吧
0040359D /0F84 D6000000 je 00403679 'jmp掉
004036C4 /0F84 D6000000 je 004037A0 'jmp掉
再点,提示验证码错误,继续?
00403813 /0F84 05000000 je 0040381E 'nop掉
悲剧的事情来了,由字符串分析来看,附近的跳转都太短,看来是个远跳。
远跳是最悲剧的了,难以逆回啊。
那怎么办呢?
Okey,既然我们都来到了验证的入口处,何不单步下去呢?
单步吧~
设置断点,就在刚才我们nop的地方吧~
00403819 /E9 D1000000 jmp 004038EF
F2断下
004038EF 6A FF push -1
004038F1 6A 08 push 8
004038F3 68 16000116 push 16010016
004038F8 68 01000152 push 52010001
004038FD E8 F4AD0000 call 0040E6F6
00403902 83C4 10 add esp, 10
00403905 8945 F4 mov dword ptr [ebp-C], eax
00403908 68 04000080 push 80000004
0040390D 6A 00 push 0
0040390F 8B45 F4 mov eax, dword ptr [ebp-C]
00403912 85C0 test eax, eax
00403914 75 05 jnz short 0040391B
准备漫长的跟踪吧
短跳基本不哟啊管它,因为可能是些数据check啊之类的,只要没错误,就不要管
(网络验证比较悲剧)
00403AF6 /0F84 1F000000 je 00403B1B
00403AFC |B8 FE334A00 mov eax, 4A33FE ; ASCII "http://52pojie.cn"
00403B01 |50 push eax
00403B02 |8B5D FC mov ebx, dword ptr [ebp-4]
00403B05 |85DB test ebx, ebx
00403B07 |74 09 je short 00403B12
00403B09 |53 push ebx
00403B0A |E8 D5AB0000 call 0040E6E4
00403B0F |83C4 04 add esp, 4
00403B12 |58 pop eax
00403B13 |8945 FC mov dword ptr [ebp-4], eax
00403B16 |E9 9F040000 jmp 00403FBA
很明显它要飞,先记录jmp这个长跳的地址,跟过去看字符串
00403FBA
看上去不是错误信息,那我们飞过来吧
00404117 /0F8E 640B0000 jle 00404C81
很明显,继续飞跳,记录地址过去看看
万劫不复错误循环……
果然够远啊~
那我们就别跳了,直接nop
00404117 /0F8E 640B0000 jle 00404C81 ;nop掉
又碰见远眺
0040413A /0F85 EF030000 jnz 0040452F
继续跟过去看看
发现没什么不对,那就继续(如果不确定可以先下断再继续F8,方便发现错误后改回)
完美~提示登陆成功~
(注意,这里我们会发现一个bug。就是它会生成52pojie.dat,里面记录一些不可告人的数据)
进去以后,选好节点,再按确定,提示UB不足50
根据字符串解决
不足250(这个数字吉利啊)
字符串解决
然后再点按钮,你会发现一片很美好的蓝天~~~~
不过我总是连接中,从来没成功过
一直连接ing……
Okey,放点破文上来活跃气氛,顺便促进作者升级
52的东西绝不能拿出去让人随便xxoo!
既然冠之以52破解,就要像其他大大一样的悲剧一群人。
(此文发布以后,请作者更新软件时禁止之前版本登陆,直接服务端禁止。)
*七夕节补充:
所有patch记录都有了,写个lpk也就可以了,为什么这么懒,这都不想动?
--------------------------------------------------------------------------------
【经验总结】
1.VMP再拽也会悲剧,骈死于槽枥里的也有千里马
2.字符串一定要加密,否则就是通往成功的大门
3.远跳应该来多点,写法应该更猥琐点
4.关键部分没有VM,这是本软件最大的悲剧。既然都套了VMP壳子还在乎VM代码那点时间么
5.这个软件的代码部分应该注意一下,我怎么感觉加速成功还得看缘分啊~
6.之前之所以记录得很详细的原因是因为软件加了VMP,所以代码是动态加载的,必须动态patch
7.如果你使用lpk等动态patch,请注意选择时间,因为VMP速度有点慢,可能写入时代码还没有解密
8.如果你使用lpk等动态patch,可以一直读取第一个被patch的地址,如果解密后再写入数据。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于Luck[LCG], 转载请注明作者并保持文章的完整, 谢谢!
2010年08月14日 20:11:28 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|