吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4192|回复: 62
上一主题 下一主题
收起左侧

[原创] Bandizip 弹窗广告去除

  [复制链接]
跳转到指定楼层
楼主
AkiyamaMIO123 发表于 2026-3-25 08:42 回帖奖励

众所周知,Bandizip以前是个很优秀的压缩软件,但最近增加了很多广告。最开始是横幅,然后变成现在的弹窗。那么,如何去除广告呢?
很多帖子已经通过修改Bandizip\data\skin.data的方式来去除部分广告。但实测发现还是会有右下角弹窗广告。既然是窗口,于是我打算通过hook掉CreateWindow相关函数的方式来阻止弹窗。

第一步肯定是抓窗口和进程名,这软件很鸡贼,每天只会弹一次窗。不过只需要修改本地日期就能让它弹,方便抓窗口。
经过spy++的查找,确定了这玩意弹出的窗口名叫"BandiViewAdWnd",而且通过pid比对,我还发现它创建这个窗口的方法居然是拉一个bandizip.exe的进程专门创建,那这样就很容易解决了,直接匹配窗口名,然后TerminateProcess就可以了。
[C] 纯文本查看 复制代码
HWND WINAPI HCreateWindowExW(DWORD dwExStyle,LPCWSTR lpClassName,LPCWSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HINSTANCE hInstance,LPVOID lpParam)
{
	if(lpWindowName && memcmp(L"BandiViewAdWnd",lpWindowName,30)==0) TerminateProcess(GetCurrentProcess(),0);
	return pCreateWindowExW(dwExStyle,lpClassName,lpWindowName,dwStyle,X,Y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam);
}


然后是hook的方法,这里我用inline hook
[C] 纯文本查看 复制代码
void apihook(void* apiname, void* apiname2, void* apiname3){
	if (!apiname)return;
	SIZE_T size = 16;
	unsigned int OldProtect;
	if (NtProtectVirtualMemory((HANDLE)-1,&apiname,&size,PAGE_EXECUTE_READWRITE,&OldProtect)==0){
		PBYTE addr=0;SIZE_T size=128;
		NTSTATUS status=NtAllocateVirtualMemory((HANDLE)-1,(void**)&addr,0,&size,MEM_COMMIT|MEM_RESERVE,PAGE_EXECUTE_READWRITE);
		if (status==0){
			memcpy(addr,apiname,12);
			addr[12]=0xFF;addr[13]=0x25;addr[14]=0x00;addr[15]=0x00;addr[16] = 0x00;addr[17] = 0x00;
			*(UINT_PTR*)(addr+18)=(UINT_PTR)apiname+12;PBYTE p =(PBYTE)apiname;
			p[0]=0x48; p[1]=0xb8;*(void**)((PBYTE)p+2)=(void*)apiname3;
			p[10]=0xFF; p[11]=0xE0;
			*(PBYTE*)apiname2=addr;
			NtProtectVirtualMemory((HANDLE)-1,&apiname,&size,OldProtect,&OldProtect);
		}
	}
}
apihook((void*)CreateWindowExW,(void*)&pCreateWindowExW,(void*)HCreateWindowExW);

注入这段代码的办法很多,比如dll劫持等等,这里就不多说了。举个用version.dll的示例:
[C] 纯文本查看 复制代码
static HMODULE g_realDll = NULL;
static void LoadRealDll(void) {
    if (g_realDll) return;
    char sysPath[MAX_PATH];
    GetSystemDirectoryA(sysPath, MAX_PATH);
    char dllPath[MAX_PATH];
    wsprintfA(dllPath, "%s\\version.dll", sysPath);
    g_realDll = LoadLibraryA(dllPath);
}
#define DECLARE_PROXY(ret, name, args, callargs)         \
    typedef ret (WINAPI *PFN_##name) args;               \
    static PFN_##name g_##name = NULL;                   \
    extern "C" __declspec(dllexport) ret WINAPI name args\
    {                                                    \
        LoadRealDll();                                   \
        if (!g_##name && g_realDll)                      \
            g_##name = (PFN_##name)GetProcAddress(g_realDll, #name); \
        if (!g_##name) {                                 \
            SetLastError(ERROR_PROC_NOT_FOUND);          \
            return (ret)0;                               \
        }                                                \
        return g_##name callargs;                        \
    }

DECLARE_PROXY(BOOL, GetFileVersionInfoA,(LPCSTR a, DWORD b, DWORD c, LPVOID d),(a, b, c, d))


另外还有个更新软件的弹窗,这个也好解决,把安装目录下的Updater.exe破坏掉就行了。

免费评分

参与人数 15威望 +1 吾爱币 +34 热心值 +13 收起 理由
MXDMH + 1 + 1 谢谢@Thanks!
GDExecW + 1 我很赞同!
xuhao4577062311 + 1 + 1 我很赞同!
anotherNEw + 1 我很赞同!
Huhu52pj + 1 + 1 我很赞同!
DingDangMao001 + 1 + 1 我很赞同!
laotzudao0 + 1 + 1 我很赞同!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lkb00077 + 1 热心回复!
shunshun9928 + 1 + 1 用心讨论,共获提升!
sarex + 1 + 1 谢谢@Thanks!
emariner + 1 + 1 用心讨论,共获提升!
xiaozhu0808 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
ikeeki + 1 + 1 我很赞同!
Link_Stark + 2 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
ZoeLewis 发表于 2026-3-25 11:35
6.29版本为最后一个没有广告的版本
推荐
Aspirin5 发表于 2026-3-25 11:41
之前也是使用这个软件的时候,老是弹窗,支持
推荐
abcxyzmn 发表于 2026-3-25 11:30
学习下

之前,一个绘图软件,分别有打开时的升级提示窗口,和使用中不定时出来后固定提示窗口,一直想办法弄掉,但还是没有很好的成功。

只是通过该软件内部的网址,去掉了升级提示,但感觉还是不完美。
推荐
liupizi 发表于 2026-3-25 21:03
广告还是很烦人的,感谢分享
推荐
vahkx1113 发表于 2026-3-25 20:07
收藏学习一下
推荐
laotzudao0 发表于 2026-3-25 18:15
好像好几年前用了个版本就一直没更新了,能用就懒得用最新版的
推荐
harmsworth 发表于 2026-3-25 17:29
正在用这个软件,支持
推荐
lschang 发表于 2026-3-25 17:04
感谢分享
推荐
dgfjys2020 发表于 2026-3-25 15:40
谁有成品,小白看不明白。
推荐
shunshun9928 发表于 2026-3-25 15:12
虽然不懂,但还是很感谢分享!!
5#
ikeeki 发表于 2026-3-25 11:23
路过支持
6#
zhczlzhang 发表于 2026-3-25 11:25
很棒,我现在就在用这个软件,每次使用都要弹,烦死了。
7#
wozhuwulou 发表于 2026-3-25 11:29
弹窗广告是最烦人的,感谢
8#
xiaozhu0808 发表于 2026-3-25 11:29
是个好软件,每次要更新,我烦死了
9#
bailemenmlbj 发表于 2026-3-25 12:10
高段位手段没入段看不懂更搞不定
10#
lhfcsm 发表于 2026-3-25 12:46
呵呵,谢谢分享,正在使用
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-5-19 10:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表