欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

WinDbg 动态内存补丁脚本示例

WinDbg 动态内存补丁脚本示例

我的MSN 升到 2009后,一直有问题,时断时连。根本原因是公司防火墙屏蔽了7001端口,而MSN当无法收到echo.edge.messenger.live.com就认为网络有问题,会中断现有的连接(H
TTP代理),重新连接。
查了一下,在文件PresenceIM.dll中修改如下两处:
跳转点一、
.text:5F140800 83 7E 7C 0A                             cmp     dword ptr [esi+7Ch], 0Ah
.text:5F140804 75 12                                   jnz     short loc_5F140818  --> nop掉
.text:5F140806 53                                      push    ebx             ; lParam
.text:5F140807 53                                      push    ebx             ; wParam
.text:5F140808 68 00 05 00 00                          push    500h            ; Msg
.text:5F14080D FF 76 04                                push    dword ptr [esi+4] ; hWnd
.text:5F140810 FF 15 9C 13 10 5F                       call    ds:PostMessageW
跳转点二、
.text:5F1407E5 74 19                                   jz      short loc_5F140800  --> jmp
.text:5F1407E7 38 9E 88 00 00 00                       cmp     [esi+88h], bl
.text:5F1407ED C7 45 FC 0D 03 00 81                    mov     [ebp+var_4], 8100030Dh
.text:5F1407F4 75 0A                                   jnz     short loc_5F140800
但很明显,我的如上处理不够好,如果直接在文件里修改的话,有时候MSN启动的时候还是连不上。不想花太多时间了,就用WinDbg在MSN跑起来以后,动态在内存里改一下。
两个文件,一个是启动WinDbg的批处理文件patchmsn.bat,内容只有一行:

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功