fenginsc 发表于 2015-1-29 21:02

【AZ02】如何清除程序暗桩?第二课【再探弹窗暗桩】

本帖最后由 fenginsc 于 2015-1-30 17:45 编辑

上一课我们学习了基本的弹窗暗桩的清除方法,今天我们要介绍的是一种更复杂一点的弹窗暗桩。废话不多说开始正题。
首先这个就是我们今天的主角:(运行分析结果:该程序会在运行几秒后弹窗若干次)

我们打开OD。还像上一节课一样右键扫描ASCII字符串


但是你会发现,什么!没有了?
别急,这就是我今天要教给大家的新方法。
我们在下面的HEX数据框里单击右键,查找→二进制字符串


根据前面弹窗的地址(www.52pojie.cn)在ASCII那里输入。



点击确定以后就会发现搜索到了


然后我们在第一个w那里也就是HEX的第一个77那里右键选择断点→内存访问



ok,按F9运行程序吧
程序运行到这里会停下来



我们F8单步下去


到这里会发现弹出一个窗口,在上面一行下断。为什么要在上面一行下断,这只是一个调用CALL,你只把这里NOP是不行的,如果后面还有这个暗桩也会在这里停下来。
继续F8,可以发现我们出来了
继续F8返回到004010BB。看图片上的分析



可以发现004010B6和004010C0这两个是弹窗CALL。那还有两个CALL(00401199和004011A0)我们也要去分析一下
如图



这两个CALL并没有什么用,只是混淆视听罢了。
我们继续F8.发现跳到循环结构去了,至此暗桩分析完毕
只需把004010B6和004010C0 NOP即可。
00401057    55            push ebp
00401058    8BEC            mov ebp,esp
0040105A    81EC 04000000   sub esp,0x4
00401060    68 05000080   push 0x80000005
00401065    6A 00         push 0x0
00401067    A1 58524800   mov eax,dword ptr ds:
0040106C    85C0            test eax,eax
0040106E    75 05         jnz X暗桩2.00401075
00401070    B8 DC7B4600   mov eax,暗桩2.00467BDC
00401075    50            push eax
00401076    68 01000000   push 0x1
0040107B    BB 80164000   mov ebx,暗桩2.00401680
00401080    E8 83040000   call 暗桩2.00401508
00401085    83C4 10         add esp,0x10
00401088    8945 FC         mov dword ptr ss:,eax
0040108B    6A 00         push 0x0
0040108D    FF75 FC         push dword ptr ss:
00401090    6A FF         push -0x1
00401092    6A 08         push 0x8
00401094    68 04000116   push 0x16010004
00401099    68 01000152   push 0x52010001
0040109E    E8 5F040000   call 暗桩2.00401502
004010A3    83C4 18         add esp,0x18
004010A6    8B5D FC         mov ebx,dword ptr ss:
004010A9    85DB            test ebx,ebx
004010AB    74 09         je X暗桩2.004010B6
004010AD    53            push ebx
004010AE    E8 43040000   call 暗桩2.004014F6
004010B3    83C4 04         add esp,0x4
004010B6    E8 13000000   call 暗桩2.004010CE
004010BB    E8 D9000000   call 暗桩2.00401199
004010C0    E8 15000000   call 暗桩2.004010DA
004010C5    E8 D6000000   call 暗桩2.004011A0
004010CA    8BE5            mov esp,ebp
004010CC    5D            pop ebp
004010CD    C3            retn
nop之后:

00401057    55            push ebp
00401058    8BEC            mov ebp,esp
0040105A    81EC 04000000   sub esp,0x4
00401060    68 05000080   push 0x80000005
00401065    6A 00         push 0x0
00401067    A1 58524800   mov eax,dword ptr ds:
0040106C    85C0            test eax,eax
0040106E    75 05         jnz X暗桩2.00401075
00401070    B8 DC7B4600   mov eax,暗桩2.00467BDC
00401075    50            push eax
00401076    68 01000000   push 0x1
0040107B    BB 80164000   mov ebx,暗桩2.00401680
00401080    E8 83040000   call 暗桩2.00401508
00401085    83C4 10         add esp,0x10
00401088    8945 FC         mov dword ptr ss:,eax
0040108B    6A 00         push 0x0
0040108D    FF75 FC         push dword ptr ss:
00401090    6A FF         push -0x1
00401092    6A 08         push 0x8
00401094    68 04000116   push 0x16010004
00401099    68 01000152   push 0x52010001
0040109E    E8 5F040000   call 暗桩2.00401502
004010A3    83C4 18         add esp,0x18
004010A6    8B5D FC         mov ebx,dword ptr ss:
004010A9    85DB            test ebx,ebx
004010AB    74 09         je X暗桩2.004010B6
004010AD    53            push ebx
004010AE    E8 43040000   call 暗桩2.004014F6
004010B3    83C4 04         add esp,0x4
004010B6    90            nop
004010B7    90            nop
004010B8    90            nop
004010B9    90            nop
004010BA    90            nop
004010BB    E8 D9000000   call 暗桩2.00401199
004010C0    90            nop
004010C1    90            nop
004010C2    90            nop
004010C3    90            nop
004010C4    90            nop
004010C5    E8 D6000000   call 暗桩2.004011A0
004010CA    8BE5            mov esp,ebp
004010CC    5D            pop ebp
004010CD    C3            retn



下面是课件大家可以练习练习,最后谢谢大家的支持~
===========================================================

如何清除暗桩第一课(AZ01)【弹窗暗桩】:http://www.52pojie.cn/thread-316180-1-1.html
如何清除暗桩第二课(AZ02)【再探弹窗暗桩】:http://www.52pojie.cn/thread-323346-1-1.html


Hmily 发表于 2015-1-30 15:54

提一个建议,把第几课第几课放在标题的前面,方便大家查找,然后更新后再前一课的帖子里增加下一课的地址,方便大家关联起来!
这个帖子的图前面换个行,我帮你编辑了,可能看起来好看一些,然后代码用代码框处理下会好很多!

给予加精华鼓励,期待教程可以做下去!

552999913 发表于 2015-8-2 19:39

很不错的教程

oopp0320 发表于 2015-1-29 21:19

谢谢分享~

cdweng 发表于 2015-1-29 21:23

谢谢分享,学习了

微笑嘻嘻 发表于 2015-1-29 21:28

谢谢你的教程

叼烟的声音 发表于 2015-1-29 21:29

这教程好!图文并茂,适合学习!

蚯蚓翔龙 发表于 2015-1-29 21:45

这图片截得似乎有点多余,接近全屏截图,字相对就小了

fenginsc 发表于 2015-1-29 21:48

蚯蚓翔龙 发表于 2015-1-29 21:45
这图片截得似乎有点多余,接近全屏截图,字相对就小了

截的图都是高清的~可以点击图片来查看哦

蚯蚓翔龙 发表于 2015-1-29 21:51

fenginsc 发表于 2015-1-29 21:48
截的图都是高清的~可以点击图片来查看哦

我知道,只是每张都要点击一下然后放大。。。我觉得你可以直截一部分的{:301_1004:}

fenginsc 发表于 2015-1-29 22:01

蚯蚓翔龙 发表于 2015-1-29 21:51
我知道,只是每张都要点击一下然后放大。。。我觉得你可以直截一部分的

为了让大家看的更详细,还是截大图好点吧
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【AZ02】如何清除程序暗桩?第二课【再探弹窗暗桩】