反qj浩方...

来源:互联网 发布:御宅女面膜知乎 编辑:程序博客网 时间:2024/04/29 16:48

    一直喜欢玩魔兽PRG地图,少不了用浩方对战平台,但浩方对我们这些非付费用户一直是另眼相看,广告弹得比你关得还快,今天点快了,一不小心就被其装了雅虎上网助手,受不了了.决定反qj,我的浩方版本是 Ver 4.5.8 Build:0803
    先是去掉弹出图形弹出广告,先用spy++查查弹出广告窗口的名字和类名,然后用od重运行GameClient,然后在登陆后,广告弹出前在ShowWindow下断点,中断后,CTRL+F9返回程序领空,发现是如下程序代码显示的广告窗口
004A46C3            > /6A 05        push 5
004A46C5            .  8BCE         mov ecx,esi
004A46C7            .  E8 C0980200  call <jmp.&MFC42.#6215>
004A46CC            .  6A 09        push 9
004A46CE            .  8BCE         mov ecx,esi
004A46D0            .  E8 B7980200  call <jmp.&MFC42.#6215>
    不会mfc,但看函数调用前先改了ecx 的值,象是个类函数调用,ecx中就是类指针,跟进去一看,果然是从[ecx+20]处取得窗口句柄,再调用ShowWindow显示,push 5这里5对应的就是SW_SHOW常数,下面的push 9,9对应的是SW_RESTORE,简单明了,函数自己平衡堆栈.直接打开rta,读取GameClient.exe,再从004A46C3处开始将这6行代码全部填充成90(nop指今),并保存,再重新登陆浩方,呵呵,广告没了.
    接下来还有个要求玩家装插件的窗口,用类似的方法查找修改即可,代码地址如下:
0042C3E0       .  8D8C24 88000000 lea ecx,dword ptr ss:[esp+88]
0042C3E7       .  E8 381A0A00     call <jmp.&MFC42.#2514>
    本来还有右下角弹出的系统广告也很烦,不过今天我好像人品很好,等了十来分钟都没出现,作罢.