QQ棋牌游戏伴侣3.5.2去校验+去更新校验+去广告
声明:QQ棋牌游戏伴侣3.5.2,这个记牌功能比较强大(个人观点),不过广告太多了,看着烦,由此有了此破解;本人菜鸟一个,高手路过~~~~~
[写此文章本来为了让大家动手练习,但大家都要求成品,故再贴上附件,
程序太大,我加上PESpin 0.3x - 1.xx -> cyberbob 压缩壳
昨天加的壳,杀毒软件显示有毒,现在重新加了个,做个免杀的,放心使用吧,
本人不才,承蒙老大厚爱评为精华,感激之情难以表达,:lol
一、脱壳
用PEID查壳:ASPack 2.12 -> Alexey Solodovnikov
脱壳方法ESP定律,在这就不罗嗦了,怕被人扔鸡蛋,:lol
不过脱好要处理下附加数据,
双击运行,点了没反应,看来有文件有自校验;
二、去自校验
先看看脱壳前的程序大小和脱壳后的程序大小,发现脱壳后的程序比脱壳前大很多(脱壳前只有660KB,脱壳后有7.8M)
由此想到此自校验是程序大小校验,用2 OD进行比较,关注je,jne等跳转,跳转以原程序为准,
用2个OD分别载入脱壳后及未脱壳的程序,下bp CreateFileA断点(原程序需到达OEP后下bp CreateFileA断点),
再单步走,注意看je,jne跳转,看哪个没跳;
下面是原程序部分:
004B98D8 8B45 E4 mov eax,dword ptr ss:
004B98DB 8B55 F8 mov edx,dword ptr ss:
004B98DE 8B12 mov edx,dword ptr ds:
004B98E0 E8 ABB5F4FF call QQ棋牌游.00404E90
004B98E5 75 12 jnz short QQ棋牌游.004B98F9 ; 原程序跳转没实现
004B98E7 B8 E0930400 mov eax,493E0
004B98EC E8 0B9AF4FF call QQ棋牌游.004032FC
004B98F1 C1E0 02 shl eax,2
004B98F4 8945 F0 mov dword ptr ss:,eax
下面是脱壳后部分:
004B98D8 > \8B45 E4 mov eax,dword ptr ss:
004B98DB .8B55 F8 mov edx,dword ptr ss:
004B98DE .8B12 mov edx,dword ptr ds:
004B98E0 .E8 ABB5F4FF call unpack1.00404E90
004B98E5 75 12 jnz short unpack1.004B98F9 ;脱壳后程序跳转实现,此处NOP
004B98E7 .B8 E0930400 mov eax,493E0
004B98EC .E8 0B9AF4FF call unpack1.004032FC
004B98F1 .C1E0 02 shl eax,2
004B98F4 .8945 F0 mov dword ptr ss:,eax
发现有一处跳转在原程序未跳,但在脱壳后程序跳转,此处NOP掉;
双击可以运行,发现过一段时间,程序就自动更新,看来也是程序大小变了,产生的自动更新校验;
三、去自动更新校验
OD载入,查找ASCII码:
地址=00502461
反汇编=mov ecx,unpack1.005025AC
文本字串=发现新的版本,软件开始自动升级。正在下载升级文件...
双击进去,往上拉,发现有个跳可以跳过去,改JMP后可以去掉自动更新;
005023E5|.833D 80E45000>cmp dword ptr ds:,0
005023EC|.0F85 74010000 jnz unpack1.00502566 ;此处可以跳过自动更新,改JMP
005023F2|.8D55 F0 lea edx,
005023F5|.A1 ECE95000 mov eax,dword ptr ds:
005023FA|.8B00 mov eax,dword ptr ds:
005023FC|.E8 3FEEF5FF call unpack1.00461240
00502401|.8B45 F0 mov eax,
00502404|.8D55 F4 lea edx,
00502407|.E8 FC76F0FF call unpack1.00409B08
0050240C|.8B45 F4 mov eax,
0050240F|.8D55 FC lea edx,
00502412|.E8 D16EF0FF call unpack1.004092E8
00502417|.8B45 FC mov eax,
0050241A|.E8 2D29F0FF call unpack1.00404D4C
0050241F|.8B55 FC mov edx,
00502422|.807C02 FF 5Ccmp byte ptr ds:,5C
00502427|.74 0D je short unpack1.00502436
00502429|.8D45 FC lea eax,
0050242C|.BA A0255000 mov edx,unpack1.005025A0 ;\
00502431|.E8 1E29F0FF call unpack1.00404D54
00502436|>8B87 28020000 mov eax,dword ptr ds:
0050243C|.33D2 xor edx,edx
0050243E|.8B08 mov ecx,dword ptr ds:
00502440|.FF51 64 call dword ptr ds:
00502443|.8B87 3C020000 mov eax,dword ptr ds:
00502449|.B2 01 mov dl,1
0050244B|.8B08 mov ecx,dword ptr ds:
0050244D|.FF51 64 call dword ptr ds:
00502450|.6A 01 push 1
00502452|.6A 3C push 3C
00502454|.A1 90E85000 mov eax,dword ptr ds:
00502459|.8B00 mov eax,dword ptr ds:
0050245B|.8B80 08030000 mov eax,dword ptr ds:
00502461|.B9 AC255000 mov ecx,unpack1.005025AC ;发现新的版本,软件开始自动升级。正在下载升级文件...
00502466|.BA E8255000 mov edx,unpack1.005025E8 ;QQ 棋牌游戏伴侣
0050246B|.E8 EC21F9FF call unpack1.0049465C
00502470|.8B87 24020000 mov eax,dword ptr ds:
00502476|.BA 00265000 mov edx,unpack1.00502600 ;正在下载升级文件...
四、去网页
网页是在中间跳出,没规律且次数多
OD载入,下bp ShellExecuteExA,运行,过一会才能断下(因为在程序运行中跳出网页)
找到段首下断,shift+F9运行,慢慢跟,把调用此API 的CALL nop掉
0048C702|.8A55 FB mov dl,byte ptr ss:
0048C705|.8B45 FC mov eax,
0048C708|.8B30 mov esi,dword ptr ds:
0048C70A|.FF96 A0000000 call dword ptr ds: ;此CALL NOP
0048C710|.E9 9B000000 jmp unpack去.0048C7B0
0048C715|>8B45 FC mov eax,
0048C718|.8B88 D0000000 mov ecx,dword ptr ds:
0048C71E|.8D55 F0 lea edx,
再运行程序,这世界清净了,only you!---------引用大话西游的话!
此篇破解到此为止,感谢各位大大门能看完;
本人菜鸟一个,有问题欢迎交流!
[ 本帖最后由 8568309 于 2009-2-11 09:01 编辑 ] 找了好久了。。。谢谢共享。 发布出啦。菜鸟不会整 附件呢?? 晕,成品在哪里? very good!:handshake 現在在公司,晚上回去發上來,讓大家久等了 写的非常详细,适合我等新手看,学习了 很适合入门的文章,加精鼓励!:) 太厉害了.. 要是做成录像就好了