解决:PC微信弹窗《当前客户端版本过低,请前往应用商店升级到最新版本客户端后再登录》

1. 背景

在这里插入图片描述
虽然人类都是喜新厌旧的,但也不是什么东西都是新的好。今天换了台服务器,发现正常使用微信,弹窗提醒说版本太低了,根本不给登录。没办法啊,机器人只兼容这个版本的,只能到处找解决方案了,没想到真找到了,也不能算找到了,多个文章不同思路启发了,最后综合了一下,完美解决!

2. 利用cheat Engine直接修改内存

cheat Engine是什么,自行搜索,或者可以问问GPT4

首先要安装cheat Engine,如果没有,下载链接如下:(PS:有评论说我这个版本有毒,还捆绑删不掉的广告软件,2024年7月10日23:38:35我又安装了一次,没有出现捆绑删不掉的情况,如果信不过可以自己网上找安装包下载。)
原版链接: https://pan.baidu.com/s/1Zne58GWU5xJMAkmCknn0AA?pwd=2r5c 提取码: 2r5c 复制这段内容后打开百度网盘手机App,操作更方便哦
(PPS:评论区的推荐,贴一个52破解汉化版)
52破解汉化版链接: https://pan.baidu.com/s/1xqnCr9jGeP6mKC3YH3jwkQ?pwd=hpbs 提取码: hpbs 复制这段内容后打开百度网盘手机App,操作更方便哦

  • 先打开微信,不用登录,也登录不上
  • 再打开cheat Engine,后续用CE代称
  • CE加载微信,如图所示
    请添加图片描述
  • 认准图片的WeChat.exe,看图操作请添加图片描述
  • Hex记得打勾,值填要改的微信版本,就是打开提示低版本的这个版本,换算逻辑点这里:微信版本号转换,我的版本是3.8.0.33,转换过来就是63080021,把这个值填进Hex的值里,再点First Scan
    请添加图片描述
  • 点First Scan后,正常情况下,左边的列表会找到一些内容,最底下标绿色的就是根据上面的版本号找到的内存里对应的内容
    请添加图片描述
  • 把左边绿色的全部选中,右键,选第一项,加到最下面的地址列表里
    请添加图片描述
  • 对最下面的地址列表,每一项都进行修改,双击,在弹出的窗口里填,要伪装的微信版本号,比如我要伪装成3.9.10.27,通过:微信版本号转换,获得的值是63090a1b
    请添加图片描述
  • 这是修改后的样子,每一行的最后一列的值都改成了63090a1b,至此,就完成了对内存的实时修改,现在微信客户端会误以为当前的版本是3.9.10.27,就不会弹窗提醒说低版本不能使用了!
    请添加图片描述
  • 如图所示,大功告成!
    请添加图片描述

3. 利用Python代码直接修改内存

利用CE虽然做到了伪装微信版本,但这个操作每一次登录微信都要来一次,太繁琐了,其实完全可以用代码来替代上面这个过程,代码写一次,以后每次都可以用,省时省力!直接贴代码!

from pymem import Pymem


def fix_version(pm: Pymem):
    WeChatWindll_base = 0
    for m in list(pm.list_modules()):
        path = m.filename
        if path.endswith("WeChatWin.dll"):
            WeChatWindll_base = m.lpBaseOfDll
            break

    # 这些是CE找到的标绿的内存地址偏移量
    ADDRS = [0x2BEE688, 0x2C0E7E8, 0x2C0E93C, 0x2C26AA8, 0x2C29BEC, 0x2C2B2F4]

    for offset in ADDRS:
        addr = WeChatWindll_base + offset
        v = pm.read_uint(addr)
        print(v)
        if v == 0x63090a1b:  # 是3.9.10.27,已经修复过了
            continue
        elif v != 0x63080021:  # 不是 3.8.0.33 修复也没用,代码是hardcode的,只适配这一个版本
            raise Exception("别修了,版本不对,修了也没啥用。")

        pm.write_uint(addr, 0x63090a1b) # 改成要伪装的版本3.9.10.27,转换逻辑看链接

    print("好了,可以扫码登录了")


if __name__ == "__main__":
    try:
        pm = Pymem("WeChat.exe")
        fix_version(pm)
    except Exception as e:
        print(f"{e},请确认微信程序已经打开!")

把上面的代码保存为,fakeWechatVersion.py,记得先运行微信,等打开微信扫码窗口后,然后 python fakeWechatVersion.py,提示如图就ok了!
请添加图片描述

代码里需要修改的地方:

  • ADDRS = [0x2BEE688, 0x2C0E7E8, 0x2C0E93C, 0x2C26AA8, 0x2C29BEC, 0x2C2B2F4]的内容,其实就是第一步CE里找到的标绿的内存地址,仔细对比一下,就是WeChatWin.dll+,后面的数字,一共6个,在前面加上0x,如下图所示
    请添加图片描述
  • if v == 0x63090a1b: 这个值是要修改的当前版本,转换逻辑看前面链接
  • elif v != 0x63080021: 这个值是希望伪装成的版本,转换逻辑看前面链接
  • pm.write_uint(addr, 0x63090a1b) 这个值是希望伪装成的版本,转换逻辑看前面链接

Python特别适合这种小工具的开发,大家也可以用自己习惯的编程语言,把Python代码发给GPT4,它就能瞬间转换成大家习惯的语言了~

over,enjoy!
如对您有帮助,感谢投喂!
微信感谢投喂版

  • 25
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值