• 标 题:Zero Popup 1.05 (2千字)
  • 作 者:WinDos2K
  • 时 间:2001-8-18 12:57:52
  • 链 接:http://bbs.pediy.com

这是一个防止popup的小程式,在IE启动时自动运行,可防止一些网站上的广告窗弹出.
Windows 95/98/Me/NT/2000: Internet: World Wide Web: Browser Enhancements

Zero Popup 1.05 
Author: Tooto Technologies, Inc.  http://popupkiller2002.tripod.com/
Program Type: Shareware

下载地址如下,是ZeroPopup.msi方式,点击右键便可安装

http://fileforum.betanews.com/detail.php3?fid=997512878
http://popupkiller2002.tripod.com/download.htm

暴力破解如下:
:100012B5 E8155B0000              call 10006DCF        <-------- 做一些运算
:100012BA 668985DCFEFFFF          mov word ptr [ebp+FFFFFEDC], ax
:100012C1 8B95DCFEFFFF            mov edx, dword ptr [ebp+FFFFFEDC]
:100012C7 81E2FFFF0000            and edx, 0000FFFF
:100012CD 83FA07                  cmp edx, 00000007    <-------- 七天时间?
:100012D0 7C41                    jl 10001313        <-------- 改为 EB41 永远小於七天
:100012D2 833D14D0011000          cmp dword ptr [1001D014], 00000000
:100012D9 7536                    jne 10001311
:100012DB C70518D0011001000000    mov dword ptr [1001D018], 00000001
:100012E5 6A00                    push 00000000
:100012E7 6800670010              push 10006700
:100012EC 6A00                    push 00000000
:100012EE 68CD000000            push 000000CD

改了上面100012D0的7C41为EB41後,过了七天後都没有窗口弹出了.

跟踪这个程式在Win2000下有点难,下了几个断点GetDlgitemTexta,GetWindowText,lstrcpya,
lstrlena等都没反应.
它本身是dll形式出现(HTMLEdit.dll),是在IE启动时自动运行.没法在DLLMain下断,祗有下CreateFile
这断点,在多次中断後停在HTMLEdit.dll里,但离开输入窗口还选.反汇编後又看不到有DialogBox这
方面的断点.没辨法祗有放下键盘去洗澡了事!
不知过了多久,想起某人在论坛上问过关於Dialog的事,而且自己也告诉过他方法,就从资源档入手.
打开Restorator看看资源档,找到这窗口为0xCD,再在W32DASM里找一下,在100012EE推这ID入stack
向上便看到上面的机器码了.分析一下代码,把在100012D0的7C41改为EB41,重启IE,Bingo!! 七天後的
nag screen 没有了.
昨天把这改动在mIRC里告诉友人後,虽然解决了nag的问题,但好像有些事情还没完,再後看.
在下面的代码,经过分析後,结果如下

:10006B20 E852000000              call 10006B77
:10006B25 83C404                  add esp, 00000004
:10006B28 8945F8                  mov dword ptr [ebp-08], eax
:10006B2B 837DF800                cmp dword ptr [ebp-08], 00000000
:10006B2F 7504                    jne 10006B35
:10006B31 32C0                    xor al, al
:10006B33 EB3E                    jmp 10006B73

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10006B2F(C)
|
:10006B35 8B45F8                  mov eax, dword ptr [ebp-08]  <------ 输入ID1
:10006B38 50                      push eax
:10006B39 8B4DF4                  mov ecx, dword ptr [ebp-0C]  <------ 输入ID2
:10006B3C 51                      push ecx
:10006B3D E8AE650000              call 1000D0F0

输入ID1为运算後的结果,是等於输入ID2,注册便可成功.
我会试造注册机,如等不来可用下面注册码

123456dill5k

WinDos2k
08.17.01