push窗口法的另一种利用方法——call窗口法 附LOL喜洋洋9.9破解补丁
Warning:为了避免非零基础人群感到身体不适、头晕恶心、易怒及粗口,请不要查看以下内容。大家好我是吾爱破解的_BaZzi今天和大家分享一个push窗口法的另一种利用方法暂且叫它call窗口法(不知道什么是push窗口法的先论坛搜索)
有些易语言程序搜ff25找到位置之后没有push 0x5201000X
通常是因为易语言IDE在菜单工具->系统配置->通常中有个选项被修改过红框中的部分一般默认是启动窗口如果选择启动窗口启动那么编译出来的程序就可以使用原版push窗口法
但是如果选择了启动子程序就会出现没有push 0x5201000X的情况
下图是比较例程中的启动窗口.exe 可以看到push 0x52010001例程中的启动子程序.exe 则没有push 0x5201000X
不能使用push窗口法那我们就换个思路
push 0x80000002push 0x0push 0x1 //载入函数 的第三个参数 是否采用对话框方式 一般填 真push 0x0push 0x0push 0x0push 0x10001push 0x6010002//这个值会变动 但是经测验未发现影响push 窗口IDpush 0x3mov ebx,载入窗口函数call 支持库命令调用函数add esp,0x28
这是易语言程序中一个标准的调用载入函数载入窗口的汇编代码那么我们可以模拟这个调用实现无中生有地载入窗口(写过外挂会写call的朋友肯定明白了这个方法的思路)那么我们需要的参数就是窗口ID 载入窗口函数地址 支持库命令调用函数地址(在下文制作补丁时 实际上只使用了窗口ID与载入窗口函数地址)
先用例程来测试下本人写了个小插件方便大家制作补丁将EWND.DLL插件放到OD目录下的plugin目录中
OD载入例程启动子程序+多窗口.exe F9运行 插件栏找到EWND 点打开插件主窗口长这样 (目标基址保留给易语言dll 若程序为exe则不用改)点击一键获取 然后点击枚举窗口
经过测试 52010003是启动子程序中载入的窗口1 52010008与5201000A分别是窗口2与窗口3
将52010008或5201000A填入测试载入窗口ID中点击载入测试
可以看到在不点击窗口1上的按钮的情况下也能载入窗口2
接下来制作补丁以上图程序为例 那么两个参数窗口ID 载入窗口函数地址分别是0x52010008 0x00401110 (因为使用DLL补丁 支持库命令调用函数地址可省略)
看补丁例程这里我用的是xjun大大写的LOADER 最后将编译出来的loader.exe 补丁例程.dll与启动子程序+多窗口.exe放到同一目录下双击loader启动程序窗口2被成功载入
LOL喜洋洋使用了启动子程序启动 不适用原版push窗口法 但适用call窗口法
注意:
1.如果出现就将补丁源码中的RtlCopyMemory改为RtlMoveMemory
2.本方法可能会导致程序的皮肤无法加载原因不明
3.此方法同样适用与因代码被VM 搜索0x10001无法找到窗口ID的易语言程序
例程与插件 源码下载http://pan.baidu.com/s/1gd6MzpL
yunruifuzhu 发表于 2015-8-6 09:52
http://pan.baidu.com/s/1gd505xT 软件在这,,日志不知道怎么发给你。。
52010201测试载入成功 可能是你暗桩没干掉吧
一个退出暗桩 一个数组下标越界暗桩
另外这个软件的具体功能应该在服务器上 破解一个客户端的话可能作用不大
如果我修改你源码加入一个销毁登录窗口的反汇编代码,那能实现吗,因为我碰到的雷盾x12能push到主窗口,但是登录窗口未销毁,以至于拖动导入文本不可用,其他功能正常使用。所以我想是不是未销毁登录窗口的问题 本帖最后由 范二 于 2015-8-3 19:49 编辑
大牛又来发帖子了,让我等小白情何以堪{:17_1081:} 膜拜大大,小弟受教了{:17_1068:} {:301_1000:}这个插件不错,赞一个 我对插件感兴趣 日积月累,水滴石穿 这个牛叉,谢谢分享 我操牛逼!!! 目测还是不能用。。。载入函数失败。。。。。。。。。