QQ泡沫乐园 · 免费提供游戏辅助,破解软件,活动资讯,喜欢记得收藏哦!
综合软件_线报活动_游戏辅助_最新电影_最优质的的辅助分享平台

劣质分析图0x02动态调试配置好后文件体积增大7倍

网络 2023-01-19 13:00

经过该云网路验证客服容许的情况下,我们注册并购买了测试软件位,并将一个未免杀的exe可执行文件上传到了云端加密系统,接下来我对该验证的免费加密系统进行了简单的剖析。

0x00 文件剖析

加密类型

从该云端系统下载加密完毕后的程序后,发现文件的容积显著减小7倍左右。从官网的介绍上来看,虚拟引擎应当借鉴了VMP3.X,因为我的调试环境中,3.X以下的可以直接过滤掉。

代码保护比较PE信息

通过Exeinfo PE文件可以很清楚地看见该加密后程序的PE信息:

文件PE信息

区段信息

经过加密后,区段基本处于不可读阶段,所以我这儿还是决定选择了动态调试,希望还能通过运行查看是否还能揭秘和区段

0x01 猜想验证方法

由于该验证使用了,并且对于VM虚拟机和都有检查,这让我想起了曾经剖析过的一款倒闭的验证:

如果视频未能播放,点击这儿试试

当时这款验证也是使用了VMP,不过验证的地址是固定的,特征保持不变,并且在通常的验证上存在逻辑问题,可以在某处将直接置1,即可跳过无条件跳过验证,并且释放源文件。

微信验证激活码_易语言过验证码_七星过验证脚本模板

我猜想这次验证所使用的方式也是大同小异,不过特点可能不会不同。

劣质剖析图

0x02 动态调试

配置好OD后,运行该验证,成功解码基址,并且得到了解码后文件的完整数据段,由此成功否认了我里面的推测,这种一键加验证的相当于就是套了个验证壳,只要过掉登入验证后,就不会有其他脉搏验证。

寻找验证CALL

对于这些自写验证壳的验证弹窗,通常不会调用,而是自写一个信息框提示窗口,常用bp指令为 或 ,通过在这两个地址下断点,在单步回到验证。

单步来到验证壳段后,尝试搜索Unicode和ASCII关键字符,结果如下:

中文字符

从这儿可以获知,该验证是由易语言(EasyLanguage)编写,并且使用VMP引擎变异虚拟加密。

在断点后,我们点击登录按键,成功断下,并且进行单步跟踪,并且在处断点跳转,最终跟踪到了验证部份:

验证部份

为了验证猜测正确,我们在该脑部断点,并且重新点击登录,结果成功断下,我们再度进行单步跟踪,查看解码后的数据结果。

单步跟踪后,可以发觉程序获取了本机的外网ip和网段:

在一个关键偏斜CALL,出现了延后,并且返回了登陆的明文状态码,可以很明晰地获知该CALL为验证登陆,寄存器和数据地址中也可以很明晰地看见返回的内容:

Json的相应相应内容

所以这儿又给出了一种方式:通过截取数据包,修改返回的JSON相应内容,达到登陆疗效

JSON内容

JSON参数判定状态

通过对内容的解析,程序获取到各个参数所对应的值,并且作出判定,判断寄存器是否为0,不为0则跳,为了通过验证我们自动置零或则该指令:

验证思路

这里通过判定寄存器是否为0可以看出,其实是对应的值,所以可以通过更改显存中code的值达到通过验证的目的,从而证明截包更改返回数据登陆的可行性。

0x03 验证成功

由于显存随机分配,所以难以定位到地址,该验证也仅为1.0版本,目前已将小建议发送给了验证的作者,希望还能对验证进行加固修补,下图为显存补丁后的情况: