- UID
- 45135
注册时间2008-2-10
阅读权限20
最后登录1970-1-1
以武会友
TA的每日心情 | 怒 2017-7-19 15:45 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
【破解作者】 yayazhi
【作者邮箱】 [email protected]
【使用工具】 TheOD,ImportREC v1.7c,PEiD0.94
【破解平台】 WinXP SP3
【破解软件】 QQ游戏通用刷分器包月版
【软件介绍】 QQ外挂
【保护方式】 Themida 1.8.x.x -> Oreans Technologies
【破解声明】 我是一只小菜鸟,偶得一点经验愿与大家分享,失误之处敬请各位大侠多多指教
========================================================================================
1.PEID查壳
Themida 1.8.x.x -> Oreans Technologies *
2.脱壳
========================================================================================
OD载入停在这里
006AC014 > B8 00000000 mov eax, 0 <---------停在这里
006AC019 60 pushad
006AC01A 0BC0 or eax, eax
006AC01C 74 68 je short QQ游戏通.006AC086
006AC01E E8 00000000 call QQ游戏通.006AC023
006AC023 58 pop eax
006AC024 05 53000000 add eax, 53
006AC029 8038 E9 cmp byte ptr ds:[eax], 0E9
006AC02C 75 13 jnz short QQ游戏通.006AC041
006AC02E 61 popad
006AC02F EB 45 jmp short QQ游戏通.006AC076
006AC031 DB2D 37C06A00 fld tbyte ptr ds:[6AC037]
打开内存code段下内存写入断点;Shift+F9,小心被壳检测到,要隐藏好od哦:)
0083D829 F3:A4 rep movs byte ptr es:[edi], byte ptr ds:><-在这里F7,F8各一次,再Shift+F9;
0083D82B C685 71096908 5>mov byte ptr ss:[ebp+8690971], 56
0083D832 68 396D1FD4 push D41F6D39
0083D837 FFB5 31356908 push dword ptr ss:[ebp+8693531]
0083D83D 8D85 72EC6D08 lea eax, dword ptr ss:[ebp+86DEC72]
0083D843 FFD0 call eax
0083D845 68 00800000 push 8000
0083D84A 6A 00 push 0
0083D84C 52 push edx
0084F93C 8908 mov dword ptr ds:[eax], ecx<-------到了这里
0084F93E AD lods dword ptr ds:[esi]
0084F93F C746 FC 0000000>mov dword ptr ds:[esi-4], 0
0084F946 89B5 C50C6908 mov dword ptr ss:[ebp+8690CC5], esi
0084F94C 83F8 FF cmp eax, -1
0084F94F 0F85 20000000 jnz QQ游戏通.0084F975
0084F955 813E DDDDDDDD cmp dword ptr ds:[esi], DDDDDDDD
0084F95B 0F85 14000000 jnz QQ游戏通.0084F975
0084F961 C706 00000000 mov dword ptr ds:[esi], 0
取消内存断点,接着F8往下,不要打断跳转,直到下面
0084EEE1 C785 B9116908 0>mov dword ptr ss:[ebp+86911B9], 0 ; 到这注意了
0084EEEB C785 01116908 0>mov dword ptr ss:[ebp+8691101], 0
0084EEF5 83BD 3A7D7708 0>cmp dword ptr ss:[ebp+8777D3A], 0
0084EF5B ^\0F85 EAFFFFFF jnz QQ游戏通.0084EF4B
0084EF61 8BC1 mov eax, ecx
0084EF63 F7D0 not eax
0084EF65 3985 09076908 cmp dword ptr ss:[ebp+8690709], eax
0084EF6B 0F84 1D000000 je QQ游戏通.0084EF8E ; magic jmp
0084EF71 B8 00000000 mov eax, 0
0084EF76 0BC0 or eax, eax
0084EF78 0F85 0A000000 jnz QQ游戏通.0084EF88
0084F0D8 FF95 8D1F6908 call dword ptr ss:[ebp+8691F8D]
0084F0DE 59 pop ecx
0084F0DF 5E pop esi
0084F0E0 83BD 3D306908 0>cmp dword ptr ss:[ebp+869303D], 1
0084F0E7 0F84 39000000 je QQ游戏通.0084F126 这四个je全部nop掉
0084F0ED 3B8D BD036908 cmp ecx, dword ptr ss:[ebp+86903BD]
0084F0F3 0F84 2D000000 je QQ游戏通.0084F126
0084F0F9 3B8D BD046908 cmp ecx, dword ptr ss:[ebp+86904BD]
0084F0FF 0F84 21000000 je QQ游戏通.0084F126
0084F105 3B8D 810A6908 cmp ecx, dword ptr ss:[ebp+8690A81]
0084F10B 0F84 15000000 je QQ游戏通.0084F126
0084F111 8D9D CB937708 lea ebx, dword ptr ss:[ebp+87793CB]
0084F117 FFD3 call ebx
Ctrl+G:ZwFreeVirtualMemory
7C92D370 > B8 53000000 mov eax, 53
7C92D375 BA 0003FE7F mov edx, 7FFE0300
7C92D37A FF12 call dword ptr ds:[edx]
7C92D37C C2 1000 retn 10 <-------在这F2
一直Shift+F9运行,这时要注意EDI的变化,直到EDI有重复的值变化,我这里运行两次就可以了。
取消F2断点,打开内存在code段下内存访问断点。shift+f9就到OEP了。
0040B250 68 0CB94000 push QQ游戏通.0040B90C ; ASCII "VB5!6&vb6chs.dll"
0040B255 E8 EEFFFFFF call QQ游戏通.0040B248
0040B25A 0000 add byte ptr ds:[eax], al
0040B25C 68 00000030 push 30000000
0040B261 0000 add byte ptr ds:[eax], al
========================================================================================
3.修复
自动查找,找不到有用的信息,手动查找下。把RVA填1000,就能找到,修复可以运行,PEID-Microsoft Visual Basic 5.0 / 6.0。 |
|