PCVX逆向全解:登录二维码分析与获取

查看 99|回复 8
作者:xingkongawa   
PCVX逆向全解:登录二维码分析与获取
前言
尝试了各种教程,基本都是只适用于2.X版本的VX
经过两个小时的含辛茹苦地研究,研究出一种适用于3.X的登录二维码的分析思路
环境
1.PCVX:3.9.0.28(理论3.X通用思路,3.9.0.28测试通过)
2.CE
3.x32dbg或者OD
4.WinHex(可选)
避坑注解:建议使用OD,x32dbg可能会出现VX莫名其妙退出的问题
基础知识(大佬可直接跳过)
VX的登录二维码在内存内是以png形式存储的
让我们先看一下png的文件格式

避坑注解:新版本是指向?png,而非IHDR
因此一直找不到二维码地址,后来才发现被他人的教程误导了
寻找二维码图片指针
打开VX,CE附加VX
搜索字节数组89 50 4E 47

2023/3/5注:此处步骤标注错误,应先点击新的扫描再输入89 50 4E 47
将除了绿色地址的所有地址添加到地址列表
(由于隔得时间比较久了,二维码可能刷新了,我这边重新扫描了一次)

搜索第一个地址,如图:

(如果没找到或者只有绿色的地址,则用地址栏内第二个地址尝试搜索,直到找到不是绿色的地址)
PS:此处可能扫描到多个地址,随意选择一个即可
寻找CALL
打开OD,附加VX,在搜到的指针处下断

用手机扫描VX二维码,点击取消登录,观察是否断下
此时VX极容易崩溃。。。崩溃了只好重试了
若未断下,就只能从头重新尝试了...
此处我是未断下,重新尝试...
经过一段时间的尝试,成功断下
断下的地方像这样:

断下后删除内存断点,在断下的地址下断
继续运行VX,重新扫码,取消登录
断下后查看堆栈窗口

选中后Enter进入

来到像这样的内存
显而易见,是调用了这个call才导致该指针发生改变
call处下断,取消原断点

F8跟进到retn

retn后来到如图所示内存,继续F8

retn后来到如图所示内存,在疑似关键CALL上下断,删除原断点
结构就像这样:
7965BCEA    8B75 14         mov esi,dword ptr ss:[ebp+0x14]
7965BCED    BA 288A4E7B     mov edx,WeChatWi.7B4E8A28                ; ASCII "LoginWnd::eventProc"
7965BCF2    56              push esi
7965BCF3    68 81020000     push 0x281
7965BCF8    B9 0C844E7B     mov ecx,WeChatWi.7B4E840C                ; ASCII "LoginWnd"
7965BCFD    E8 2EA92500     call WeChatWi.798B6630
7965BD02    83C4 08         add esp,0x8
7965BD05    84C0            test al,al
7965BD07    0F85 51110000   jnz WeChatWi.7965CE5E
7965BD0D    FF76 34         push dword ptr ds:[esi+0x34]
7965BD10    8D4D 0C         lea ecx,dword ptr ss:[ebp+0xC]
7965BD13    FF76 30         push dword ptr ds:[esi+0x30]
7965BD16    E8 A5494400     call WeChatWi.79AA06C0
7965BD1B    8D45 0C         lea eax,dword ptr ss:[ebp+0xC]
7965BD1E    C745 FC 0000000>mov dword ptr ss:[ebp-0x4],0x0
7965BD25    8B4F 38         mov ecx,dword ptr ds:[edi+0x38]
7965BD28    50              push eax
7965BD29    E8 32E2EFFF     call WeChatWi.79559F60                   ; 疑似关键CALL
7965BD2E    8B4F 28         mov ecx,dword ptr ds:[edi+0x28]
7965BD31    6A 01           push 0x1
7965BD33    6A 00           push 0x0
7965BD35    E8 8EE71F01     call WeChatWi.7A85A4C8

断下后F8一下(让他调用完CALL)
右键EAX,点击数据窗口中跟随

如果你看到了类似这个样子的结构,那么恭喜你找到登录二维码的CALL了
本篇文章到此结束,如果反响不错,我会出一篇代码HOOK的教程 :P
又:附上本版本VX原版下载地址

下载地址.txt
(325 Bytes, 下载次数: 5)
2023-3-4 15:38 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB

地址, 二维码

xingkongawa
OP
  

只是稍稍编辑了一下,竟然审核了一天。。以后有补充的直接回帖,不编辑了
xingkongawa
OP
  


xunqiudaka1 发表于 2023-3-7 17:08
大佬膜拜,有机会能不能帮我破解一下

如果是为此专门买一个账号没什么必要。。到时候我在别的平台发(标题和此贴标题相同),你直接在那下面留言就行了
xingkongawa
OP
  

那应该不是一个单独的call... (自动保存图片)HOOK接收图片消息CALL,然后解密dat文件,思路大概就是这样过几天试试
hackerxj   

前排支持一个, 希望继续出后面HOOK的教程
dengyy   

很好的技术贴,谢谢楼主分享!
zjh889   

期待后面的hook教程
shenapex   

大佬.我想知道自动下载图片的call怎么找
weikechi626   

那种免扫码登录怎么弄的啊
您需要登录后才可以回帖 登录 | 立即注册

返回顶部