sky827 发表于 2011-8-15 00:11

进进金牌网吧奖励0703脱壳去自校验去广告

【文章标题】: 进进金牌网吧奖励0703脱壳去自校验去广告
【文章作者】: sky827
【软件名称】: 进进金牌网吧奖励0703
【下载地址】: 自己搜索下载
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
1.查壳 UPX 2.93 (LZMA) *
2.脱壳
手脱吧,OD载入
101315C0 >60            pushad
101315C1    BE 00900C10   mov esi,进进金牌.100C9000
101315C6    8DBE 0080F4FF   lea edi,dword ptr ds:
101315CC    57            push edi
101315CD    89E5            mov ebp,esp
101315CF    8D9C24 80C1FFFF lea ebx,dword ptr ss:

第一次ESP定律,来到
100971B4    F8            clc
100971B5    73 21         jnb short 进进金牌.100971D8
100971B7    D017            rcl byte ptr ds:,1
100971B9    FD            std
100971BA    0C C9         or al,0C9

继续F8跟踪,来到
100971D8    60            pushad
100971D9    EB 13         jmp short 进进金牌.100971EE
100971DB    031D 4F2C6AA2   add ebx,dword ptr ds:
100971E1    D4 A1         aam 0A1
100971E3    3E:C7         ???                                    ; 未知命令
100971E5    BD 197874E3   mov ebp,E3747819
100971EA    5D            pop ebp
100971EB    CC            int3
100971EC    5D            pop ebp

第二次ESP定律,来到
100973F9    F9            stc
100973FA    EB 03         jmp short 进进金牌.100973FF
100973FC    27            daa
100973FD    1F            pop ds
100973FE    14 E9         adc al,0E9
10097400    FD            std
10097401    C2 FDFF         retn 0FFFD
10097404    8BCB            mov ecx,ebx


接着F8跟来到OEP了

10073701    55            push ebp
10073702    8BEC            mov ebp,esp
10073704    6A FF         push -1
10073706    68 70CF0C10   push 进进金牌.100CCF70
1007370B    68 B45F0710   push 进进金牌.10075FB4
10073710    64:A1 00000000mov eax,dword ptr fs:
10073716    50            push eax
10073717    64:8925 0000000>mov dword ptr fs:,esp
1007371E    83EC 58         sub esp,58
10073721    53            push ebx
10073722    56            push esi
10073723    57            push edi
10073724    8965 E8         mov dword ptr ss:,esp
10073727    FF15 9C510B10   call dword ptr ds:             ; kernel32.GetVersion
1007372D    33D2            xor edx,edx
1007372F    8AD4            mov dl,ah
10073731    8915 9C3B1210   mov dword ptr ds:,edx
10073737    8BC8            mov ecx,eax

脱壳修复吧.

运行脱壳后的程序.
出现提示:外挂程序被破坏.请到官方网站从新下载.(PS:从新应该为重新吧?)
3.处理自校验吧.提示很明显,那么F12法吧.
OD载入脱壳后的程序,运行,出现提示,点暂停,再点查看调用堆栈


调用堆栈 ,项目 14
   地址=0012FC10
   堆栈=10017596
   函数例程 / 参数=? USER32.MessageBoxA
   调用来自=123.10017590
   框架=0012FC0C
点显示堆栈来到

10017582    81E6 00100000   and esi,1000
10017588    8D0470          lea eax,dword ptr ds:
1001758B    50            push eax
1001758C    52            push edx
1001758D    51            push ecx
1001758E    6A 00         push 0
10017590    FF15 04560B10   call dword ptr ds:[<&USER32.MessageBoxA>>; USER32.MessageBoxA

向上找在端首下断
100174F0    83EC 64         sub esp,64                        下断
100174F3    56            push esi
100174F4    8B7424 74       mov esi,dword ptr ss:
100174F8    57            push edi
100174F9    8B7E 08         mov edi,dword ptr ds:
100174FC    57            push edi
100174FD    E8 9E060100   call 123.10027BA0
10017502    83C4 04         add esp,4
10017505    85C0            test eax,eax
10017507    74 10         je short 123.10017519

4.OD重新运行程序

00174F0    83EC 64         sub esp,64 断下.
注意右下角窗口

0012FC90   100341C1返回到 123.100341C1
0012FC94   0012FCA0
0012FC98   00000003
0012FC9C   0012FCB4
0012FCA0   00000000
0012FCA4   00000000
0012FCA8   00000000
0012FCAC   10011D28返回到 123.10011D28 来自 123.1001643D

在0012FCAC   10011D28返回到 123.10011D28 来自 123.1001643D 右键反汇编中跟随
来到

10011CDC|. /0F84 0C000000 je 123.10011CEE      跳转不实现,则下面的JMP能跳过提示
10011CE2|. |C745 F8 01000>mov ,1      改NOP
10011CE9|. |E9 47000000   jmp 123.10011D35
10011CEE|> \C745 F8 00000>mov ,0
10011CF5|.68 04000080   push 80000004
10011CFA|.6A 00         push 0
10011CFC|.68 7A830B10   push 123.100B837A
10011D01|.68 01030080   push 80000301
10011D06|.6A 00         push 0
10011D08|.68 10000000   push 10
10011D0D|.68 04000080   push 80000004
10011D12|.6A 00         push 0
10011D14|.68 DA830B10   push 123.100B83DA
10011D19|.68 03000000   push 3
10011D1E|.BB F0740110   mov ebx,123.100174F0
10011D23|.E8 15470000   call 123.1001643D                        ;提示CALL
10011D28|.83C4 28       add esp,28
10011D2B|.6A 00         push 0
10011D2D|.E8 29470000   call 123.1001645B
10011D32|.83C4 04       add esp,4
10011D35|>8B45 F8       mov eax,

10011CDC|. /0F84 0C000000 je 123.10011CEE     改NOP
保存运行OK。

5。去广告。查找字符串吧
E语言的,好像以前查找字符串的方法不好用。只好用老方法吧。
(当程序字符串隐藏时,F8走,使程序运行,F7跟进程序运行的CALL,再寻找字符串!)
如果有人知道更好方法的告诉下,谢谢。
1. 100737DC|.E8 67E90000   call 1231.10082148   出现程序窗口
下断点,重新运行,F7跟进F8走
2.10082158|.E8 AD8E0000   call 1231.1008B00A      出现程序窗口
下断点,重新运行,F7跟进F8走
3.1008B04E|.FF50 50       call dword ptr ds: 出现程序窗口
下断点,重新运行,F7跟进F8走
4.10028F47|.E8 8FD4FEFF   call 1231.100163DB      出现程序窗口
下断点,重新运行,F7跟进F8走
5.来到了
100163DB/$B8 06000000   mov eax,6
100163E0|.E8 40000000   call 1231.10016425   过了这个CALL后能查查字符串了
100163E5|.FC            cld
100163E6|.DBE3          finit
100163E8|.E8 EDFFFFFF   call 1231.100163DA

熟识了吧.现在可以查字符串了.
能找到可能有用的.
http://www.338mu.com/cf/cfwg.htm 程序窗口中的广告
http://www.338mu.com/官网=弹出的广告

双击来到
100110C5|.BB 06000000   mov ebx,6
100110CA|.E8 35FFFFFF   call 1231.10011004
100110CF|.68 04000080   push 80000004
100110D4|.6A 00         push 0
100110D6|.68 7E820B10   push 1231.100B827E                     ;http://www.338mu.com/
100110DB|.68 01000400   push 40001
100110E0|.68 BC4B0116   push 16014BBC
100110E5|.68 6F000152   push 5201006F
100110EA|.68 04000000   push 4

修方很多.我一般给它个错误的地址如
push 10066EF0
修改保存,运行OK,去广告成功.



--------------------------------------------------------------------------------
【版权声明】: 本文原创于52pojie, 转载请注明作者并保持文章的完整, 谢谢!
                                                       2011年08月15日 00:10:55

qzy0549 发表于 2011-8-15 08:45

本帖最后由 qzy0549 于 2011-8-15 08:59 编辑

闲的无聊,下了个程序研究了一下,整体无难度,对楼主的去广告那段我吐槽一下

程序脱壳去自校验后OD载入 直接就能查找到字符串

并不需要楼主说的那么麻烦

1001108E    E8 71FFFFFF   call 123.10011004
10011093    68 04000080   push 0x80000004
10011098    6A 00         push 0x0
1001109A    68 5D820B10   push 123.100B825D                        ; http://www.338mu.com/cf/cfwg.htm
1001109F    68 01000400   push 0x40001
100110A4    68 BF4B0116   push 0x16014BBF
100110A9    68 6F000152   push 0x5201006F
100110AE    68 04000000   push 0x4
100110B3    B8 03000000   mov eax,0x3
100110B8    BB F06E0610   mov ebx,123.10066EF0
100110BD    E8 75530000   call 123.10016437
100110C2    83C4 34         add esp,0x34
100110C5    BB 06000000   mov ebx,0x6
100110CA    E8 35FFFFFF   call 123.10011004
100110CF    68 04000080   push 0x80000004
100110D4    6A 00         push 0x0
100110D6    68 7E820B10   push 123.100B827E                        ; http://www.338mu.com/
100110DB    68 01000400   push 0x40001

sky827 发表于 2011-8-15 12:02

qzy0549 发表于 2011-8-15 08:45 static/image/common/back.gif
闲的无聊,下了个程序研究了一下,整体无难度,对楼主的去广告那段我吐槽一下

程序脱壳去自校验后OD载 ...

{:1_937:}难道是OD插件问题?

Smoke 发表于 2011-8-16 16:56

不错,支持下~

吾爱、硬币 发表于 2011-8-16 16:58

本帖最后由 吾爱、硬币 于 2011-8-16 16:58 编辑

膜拜.....~~支持分析

chesion001 发表于 2011-8-16 19:14

我戳。。分析很详细。

老万 发表于 2011-8-16 21:10

谢谢分享,学习了

ya6218 发表于 2011-8-16 21:41

学系了

qq964040 发表于 2011-8-17 18:49

个个都是高手啊。。佩服佩服

hhwsljb 发表于 2011-8-18 21:02

学习了,很详细
页: [1] 2 3
查看完整版本: 进进金牌网吧奖励0703脱壳去自校验去广告