首页
社区
课程
招聘
给广告过滤软件 “细节美白”续集~~
发表于: 2015-4-7 10:55 3380

给广告过滤软件 “细节美白”续集~~

2015-4-7 10:55
3380
上次发过一个主题铁。链接懒得找了,大意就是这个广告过滤软件的启动弹出啥的,懒得每次都点击,一个一个的全都超干掉净爽了~~
后来发现这款软件每次 生成一个 update文件夹,校验你的文件是否被改动过。
高手们给我出过主意要设成只读啥的属性,感觉好像效果不太好,再有我还是打算跟到那个 生成 XXXXX.zip时的写入的CALL 提高下水平。
经过再一次的蛋痛式的折腾和尝试吧,终于找到了下面的地方

===============================
生成update文件夹,因此搜索下面的东东
0138C0CE   .  BF 58294901   mov     edi, 888.01492958      ;update 应该是这里,得到此处地址,然后用创建文件函数拦截,生成

01392078      FFD0          call    eax      ;  最后得到这个地方生成了 update文件夹!!!(但这样状态就成了离线,过滤广告功能失去)也就是说得F7

02FC51F4    E8 CF000000     call    adsData.02FC52C8                 ;  F7后跟到此处发现是这里生成的update

====================================================

02F152EE  |.  E8 79720000   call    adsData.02F1C56C                 ;  同样也是生成update 继续F7 F9
02F1CA98  |.  E8 8395FFFF   call    adsData.02F16020                 ;  好像最后是这里啦 继续F7 F9

02F1605F  |.  B9 AC60F102   mov     ecx, adsData.02F160AC            ;  update\

02F752FE  |.  E8 6D22F2FF   call    <jmp.&kernel32.CreateEventA>     ; \CreateEventA

02F77E8A  |.  50            push    eax                              ; |FileName = "D:\网络相关\ADSafe3\最新ADSafe\update\"
02F77E8B  |.  E8 E8F6F1FF   call    <jmp.&kernel32.CreateFileA>      ; \CreateFileA

0118A934  |.  50            push    eax                              ; |Path = "D:\网络相关\ADSafe3\最新ADSafe\update" 同样NOP掉,状态变为离线!
0118A935  |.  E8 2ECCFFFF   call    <jmp.&kernel32.CreateDirectoryA> ; \CreateDirectoryA

====================================
Breakpoints
地址       模块       激活                       反汇编                                注释
001F1F79   adsLog     已禁止                        call    <jmp.&kernel32.OutputDebugSt
001F2077   adsLog     已禁止                        call    adsLog.001EFDD0
001F207E   adsLog     已禁止                        je      XadsLog.001F20CA
001F20B4   adsLog     已禁止                        call    <jmp.&kernel32.WriteFile>
001F20B9   adsLog     已禁止                        mov     edx, ebx
001F20BE   adsLog     已禁止                        call    adsLog.001EFDD0
012BC0CE   888        已禁止                        mov     edi, 888.013C2958             update 应该是这里
012C2078   888        已禁止                        call    eax                           F7 生成update
02E9A283   adsData    始终                         jnz     XadsData.02E9A2AE
02E9A2AE   adsData    始终                         xor     eax, eax
02EADEB1   adsData    始终                         call    adsData.02E94E38
02EADEBE   adsData    始终                         mov     eax, esi
02F751F4   adsData    已禁止                        call    adsData.02F752C8              这句里,生成的update
02F752EE   adsData    始终                         call    adsData.02F7C56C              同样也是生成update 继续F7
02F752FE   adsData    始终                         call    <jmp.&kernel32.CreateEventA>
02F7537E   adsData    始终                         call    adsData.02F79B2C
02F7605F   adsData    始终                         mov     ecx, adsData.02F760AC         update\
02F76076   adsData    始终                         call    adsData.02E9A1E0              好像最后   就是这里压入的
02F77D96   adsData    始终                         push    ebx
02F77E8B   adsData    始终                         call    <jmp.&kernel32.CreateFileA>
02F7CA98   adsData    始终                         call    adsData.02F76020              好像最后是这里啦

02FD533B  |.  6A FF         push    -0x1                             ; /Timeout = INFINITE
02FD533D  |.  8B45 FC       mov     eax, [local.1]                   ; |
02FD5340  |.  50            push    eax                              ; |hObject = 000001EC (window)
02FD5341  |.  E8 EA24F2FF   call    <jmp.&kernel32.WaitForSingleObje>; \WaitForSingleObject

adsData.dll.zip 生成的还是0字节的

0015B08C  |> \68 B8282600   push    888.002628B8                     ; /PostDataToServer
0015B091  |.  50            push    eax                              ; |hModule = NULL
0015B092  |.  FF15 6CA62500 call    dword ptr ds:[<&KERNEL32.GetProc>; \GetProcAddress
0015B098  |.  A3 9C992A00   mov     dword ptr ds:[0x2A999C], eax
0015B09D  |.  3BC3          cmp     eax, ebx
0015B09F  |.  74 29         je      X888.0015B0CA
0015B0A1  |.  8B8C24 800000>mov     ecx, dword ptr ss:[esp+0x80]
0015B0A8  |.  51            push    ecx
0015B0A9  |.  55            push    ebp
0015B0AA  |.  68 12010200   push    0x20112
0015B0AF  |.  FFD0          call    eax

=======================================
Breakpoints
地址       模块       激活                       反汇编                                注释
00281F79   adsLog     始终                         call    <jmp.&kernel32.OutputDebugSt
00282077   adsLog     始终                         call    adsLog.0027FDD0
0028207E   adsLog     始终                         je      XadsLog.002820CA
002820B4   adsLog     始终                         call    <jmp.&kernel32.WriteFile>
002820B9   adsLog     始终                         mov     edx, ebx
002820BE   adsLog     始终                         call    adsLog.0027FDD0
00A9B003   888        始终                         mov     edi, 888.00BA28AC             adsData.dll
00A9BE1C   888        始终                         mov     edi, 888.00BA28AC             adsData.dll
00A9BF93   888        始终                         mov     edi, 888.00BA28AC             adsData.dll
00A9C0CE   888        始终                         mov     edi, 888.00BA2958             update
00AA202A   888        始终                         push    888.00BA28AC                  adsData.dll
00AA2078   888        始终                         call    eax                           F7 生成update
02DA9FA8   adsData    始终                         push    ebx
02DAA29F   adsData    始终                         call    adsData.02DAA928              =====这里有情况!
02DBDEAA   adsData    始终                         call    adsData.02DA3ECC
02DBDEB1   adsData    始终                         call    adsData.02DA4E38
02DBDEBE   adsData    始终                         mov     eax, esi
02E851F4   adsData    始终                         call    adsData.02E852C8              这句里,生成的update
02E852EE   adsData    始终                         call    adsData.02E8C56C              同样也是生成update 继续F7
02E852FE   adsData    始终                         call    <jmp.&kernel32.CreateEventA>
02E8537E   adsData    始终                         call    adsData.02E89B2C
02E86076   adsData    始终                         call    adsData.02DAA1E0              好像最后   就是这里压入的
02E87D96   adsData    始终                         push    ebx
02E87E8B   adsData    始终                         call    <jmp.&kernel32.CreateFileA>
02E8CA98   adsData    始终                         call    adsData.02E86020              好像最后是这里啦

生成update的那些地方,可以NOP掉,但右下的状态栏上 就出显{离线状态},并且更新规则失败! 所以,只能在生成的文件上入手,而不能在生成文件夹上入手!
上边的修改版,只会生成一个
\ADSafe\update\adsData.dll.zip 0字节文件[貌似同级目录下的其他文件再也不会繁殖了]虽然不太完美,但总算又提高了点水平,俺是菜鸟选手,就放到水区吧,给各位折腾帝们玩玩

=======================
下载压缩包的同学,最好先下载一个原版的,因为以下目录中存在规则文件
C:\Users\Administrator\AppData\Roaming\ADSafe3
没有使用就会没效果~~~~
(我在WIN7 折腾出来的~~)

↓↓↓点击此处,送给大家回去玩玩↓↓↓←←←

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 1392
活跃值: (5152)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
2
软件采用 HOOK 形式 我不喜欢,正在自己写一个http代理过滤

不过软件是用IOCP 实现的代理,我自己尝试用ICOP写代理,发现问题太多,太多。倒是想看看 这个软件如何实现的。
2015-4-7 15:33
0
雪    币: 341
活跃值: (138)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
求GZIP解压部分代码。。。
2015-4-7 15:50
0
雪    币: 1392
活跃值: (5152)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
4
ZIP不是有sample吗 就是操作 z_stream部分,我之前解压swf搞过。我这个http代理相当于转发,然后过滤request而已,没有解压里面gzip 的content,十分简单。

跨平台的HTTP代理  prvoixy
你下载 prvoixy源码 www.privoxy.org 里面有decompress的代码
jb_err decompress_iob(struct client_state *csp)
2015-4-7 16:17
0
雪    币: 341
活跃值: (138)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
5
好的.....去看看
2015-4-7 16:46
0
雪    币: 69
活跃值: (270)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
msf
6
大牛的交流,我等看不懂
2015-4-29 11:59
0
游客
登录 | 注册 方可回帖
返回
//