lzover
发表于 2008-6-13 09:33:08
学习!!!!/:012 /:012
kunkun1987
发表于 2008-6-14 23:51:33
不错 支持
monsoonyes
发表于 2008-6-15 10:34:04
楼主已经很强了/:014
xyjx0044
发表于 2008-6-16 00:17:04
楼主辛苦了 回复学习下 2楼提出的方法我也要好好学习 呵呵
一品天下
发表于 2008-6-17 23:46:53
这个程序运行时会释放一个upgrade.ini配置文件
看了下,好像程序版本,广告之类的都在这里面,
破解思路就是让这个程序不去使用这个文件
我用这个思路破解过 QQ棋牌游戏伴侣3.1.2
【破解过程】1.脱壳
OD载入:
---------断在
0008B201 60 PUSHAD
0008B202 E8 03000000 CALL 0008B20A
0008B207- E9 EB045D45 JMP 4565B6F7
0008B20C 55 PUSH EBP
0008B20D C3 RETN
0008B20E E8 01000000 CALL 0008B214
0008B213 EB 5D JMP SHORT 0008B272
0008B215 BB EDFFFFFF MOV EBX,-13
----------Esp定律脱
004FC200 55 PUSH EBP ;<-OEP
004FC201 8BEC MOV EBP,ESP
004FC203 B9 04000000 MOV ECX,4
004FC208 6A 00 PUSH 0
004FC20A 6A 00 PUSH 0
004FC20C 49 DEC ECX
004FC20D^ 75 F9 JNZ SHORT QQ棋牌游.004FC208
2.去自校验
程序脱完壳变成8000K+
比较文件大小的自校验
下GetFileSize断点
----断在这里
7C810B07 >8BFF MOV EDI,EDI ; ntdll.7C910208
7C810B09 55 PUSH EBP
7C810B0A 8BEC MOV EBP,ESP
7C810B0C 51 PUSH ECX
7C810B0D 51 PUSH ECX
7C810B0E 8D45 F8 LEA EAX,DWORD PTR SS:
7C810B11 50 PUSH EAX
----返回到程序领空,一路F8下来
00491FBC .E8 DF2EF7FF CALL dumped_.00404EA0
00491FC1 .75 12 JNZ SHORT dumped_.00491FD5;关键跳
;-------将jnz nop掉--去掉了自校验
00491FC3 .B8 E0930400 MOV EAX,493E0
00491FC8 .E8 3F13F7FF CALL dumped_.0040330C
00491FCD .C1E0 02 SHL EAX,2
00491FD0 .8945 F0 MOV DWORD PTR SS:,EAX
00491FD3 .EB 11 JMP SHORT dumped_.00491FE6
00491FD5 >B8 E0930400 MOV EAX,493E0
3.去升级,去广告
这个程序运行时会释放一个upgrade.ini配置文件
看了下,好像程序版本,广告之类的都在这里面,
破解思路就是让这个程序不去读这个文件
下GetPrivateProfileStringA断点(多次shift+F9)
(看堆栈窗口)
0012EF3C 0046158D/CALL 到 GetPrivateProfileStringA
0012EF40 004F767C|Section = "Sys"
0012EF44 004F766C|Key = "Version"
0012EF48 004F765C|Default = "3.1.2"
0012EF4C 0012EF64|ReturnBuffer = 0012EF64
0012EF50 00000800|BufSize = 800 (2048.)
0012EF54 0130C968\IniFileName = "C:\Documents and Settings\Administrator\Desktop\Upgrade.ini"
----断在这里(返回到程序领空)
00461582|.E8 CD39FAFF CALL dumped_?00404F54
00461587 50 PUSH EAX ; |Section
00461588 E8 EB5EFAFF CALL <JMP.&kernel32.GetPrivateProfileStr>; \GetPrivateProfileStringA
0046158D|.8BC8 MOV ECX,EAX
0046158F|.8D95 00F8FFFF LEA EDX,DWORD PTR SS:
---将上面这两句NOP掉
00461587 50 PUSH EAX ; |Section
00461588 E8 EB5EFAFF CALL <JMP.&kernel32.GetPrivateProfileStr>; \GetPrivateProfileStringA
------------------------------------------------------------------------
结束了吧
------------------------------------------------------------------------
[ 本帖最后由 一品天下 于 2008-6-17 23:48 编辑 ]
vanbasten111
发表于 2008-6-23 19:27:47
看一下吧,谢谢!
shazhu945
发表于 2008-6-26 15:11:20
来学学、一起研究
cao2109
发表于 2008-6-27 15:19:17
飘一眼/:L /:L /:L /:L /:L
pady
发表于 2008-6-27 16:09:02
看看……学习了~
随风的心
发表于 2008-6-30 12:29:54
看看,学习中!