微信外挂(一):PC端多开

   防止多开的方法又很多种,比如:

  •   遍历进程,如果目标进程已经存在就认为正在运行,现在的进程退出
  •   互斥体,也就是mutex,本质是生成一个全局变量。如果检测到这个变量已经存在,现在进程就退出

   微信PC端用的是mutex。可以用OD打开微信的exe,然后CTRL+G查找CreateMutex函数,能找到两个:CreateMutexA和CreateMutexW;A是Ascii版本的,W是unicode版本的。微信这种全球月活用户破10亿的客户端,肯定是unicode版本的,避免遇到不同国家用户不兼容的情况,所以这里选择CreateMutexW,然后下个断点,继续运行,直到断下,如下:这里已经能看到CreateMutexW传入的参数了;

   微信外挂(一):PC端多开

   继续单步执行,直到xor eax,eax这行,再看ebp和下面对应的栈:

  •    ebp指向createMutexW调用前的ebp;
  •    ebp+4是createMutexW调用前的下一行地址,也就是返回地址;
  •    ebp+8开始是3个参数:分别是0、0和mutex的名称;

     微信外挂(一):PC端多开

   这里需要把名称改成其他的,所以继续在左边的内存窗口,跳转到0x64ED28位置,随便选个字符,比如第一个W,原本是57,现在改成00,直接放过运行:

      微信外挂(一):PC端多开

   过几秒钟就能看到弹出的微信登陆窗口,此时再点击微信exe,又弹出一个窗口,效果如下:

  微信外挂(一):PC端多开

   多开的效果已经达到。此时如果还要继续生成微信实例,可以用CE附件第二个微信进程,找到mutex继续改名即可;

        后续会继续分享hook的方法拦截CreateMuteX函数,改变第三个参数的名称,把微信多开做成补丁一样的功能,方便使用;

 

 

   

上一篇:本地断网运行bomblab(2021)


下一篇:逆向脱壳分析基础学习笔记九 C语言内联汇编和三种调用协定 裸函数