吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 17745|回复: 141
收起左侧

[原创] 爆破vm代码关键点之某文本编辑辑xxxxEdit4.3.1(4480)的分析与爆破

    [复制链接]
无闻无问 发表于 2020-11-14 12:19
本帖最后由 无闻无问 于 2020-11-14 12:19 编辑

官方介绍:身躯小巧,性能卓越,自定义功能完善,丰富的主题和脚本,完美的编码、大字符集字符显示,无论您是哪个级别的码农,它都会给您带来不一样的体验!此软件,未注册有30天左右的试用期,试用期满后,弹出未注册提示框,并且不能再使用软件。(如果下载尚在试用期,可调整系统时间,即可过期)

1.png

    一、分析前思考或准备:
    1.  重启验证,解决了它等于解决了注册问题。
    2.  关键代码被VM了,说明进入VM的地方即可能是关键的地方。
    3. 去除exe的重定位,防止随机基址影响分析(使PE工具CFF Explorer去除)。
    4.  X64dbg
温馨提示:不同机器,不同版本X64dbg,文中部分内容可能不同!电脑内存要大,x64dbg这厮跟踪和分析数据特别吃内存……
    二、定位VM位置。
    1.内存布局中,找到VM段,下内存访问断点(同时注意记下vm段的基址)。然后运行程序,断在了这个VM段的地方。

2.png
3.png

    2.堆栈回溯,找VM入口(也可不用找)。在“调用堆栈”窗口中,找最近的一个用户模块的调用call(如果堆栈显示较少,可右键,单击“显示可能的调用堆栈帧”显示更多调用)跟随过去,往下翻找(有点多)跳转到VM段的jmp大跳转……
应该是这里:


4.png

当然,也可在CPU窗口,右键,搜索-当前模块-命令,快键ctrl+shift+f,输入命令jmp  0x 00000001403C13AFRIP暂停在VMP段处的地址。找到入口后,下好断点。
    3. 确定VM的出口,应该就是入口下方一大堆int3后的正常代码了。下好断点!

5.png

    4. 重复上面下vmp段内存断点的方法,找到第23次的VM入口点和出口点。分别是:

6.png


    三、确定程序注册的关键位置。
通过以上的操作知道,有3次进入VM段,说明这3个地方是作者不愿意破解者看到的,但哪一处才是重要的呢?我们既然3个地方出入口都下好了断点,重新运行一下,看看未注册提示框在哪一次出入VM的时候弹出,基本就可以确定那一次就是较为关键,可以优先分析突破的了(如果启动软件没有弹出到期未注册的提示框可以改系统时间让其弹出)
    通过运行,可以发现,未注册过期提示框是在第2VM出口后未进入第3VM时弹出,由此基本可以确定关键的判断在第2VM中了。切换断点窗口,禁用第1次出入口和第3次出入口的断点。仅保留第2VM入口和出口的断点。
四、跟踪vm代码。
重新载入并运行程序,使之暂停在第2VM入口点断点处,单步一次,进入VM中。切换到“跟踪”窗口,右键启动运行跟踪,设置好跟踪文件保存位置。然后单击菜单“追踪”“步进直到条件满足”。可将最大单步次数设置到最大。

7.png

设置好了,单击确定,然后静静等吧(时间取决于电脑性能)……

8.png

等到暂停在第2VM出口的断点处,约3A14ED行记录。切换到“跟踪”窗口,右击,停止运行跟踪……在跟踪记录的结尾不远处,我们看到一个非常有趣的注册表键,这个键就是记录使用期的:
  3A14DF    00000001403BF43B    5B    pop rbx    rbx:L"Software\\Classes\\ZQBKAF8AUWBZAFGAWAAT"  
    五、分析、查找可疑关键点。
在“跟踪”窗口,右键,搜索常数,表达式中输入:0000000000000040,静静等待搜索结果(时间取决于电脑性能)。
提示:为什么要搜索0x40,这是前辈们的总结,不清楚的可查看以下文章及有关vmp NAND(与非门)与EFLAGS标志位的文章,本帖也是参考以下前辈文章:
    https://bbs.pediy.com/thread-224732.htm
在结果“引用”窗口,下方筛选一下,andrax,rcx,注意rcx前有个空格……

9.png

接下来,就是体力活了……
逐行选中,右键,复制索引,切换到追踪窗口,ctrl+G,粘贴索引,跳到位置处,在该行,右键,信息,查看raxrcx的具体值,如果rax40rcx246FFFFxxxx打头的就要留意,下好断点……
提示:其实可以在追踪窗口中,选择全部,右键复制选区,到文件,保存为文本或*.csv格式,利用其它软件分析,但x64dbg可能有严重BUG,当追踪数据达上十万行时,写入文件就会卡死,物理内存占用达95%左右。估计,大量申请了内存没有及时释放致后面操作没法继续……
全部筛选完可疑的行,下好断点,然后重新运行程序,当and rax,rcx语句执行完,rax40时,尝试将rax0……
通过反复排查,最终可确定以下两处即为关键点:
00000001403B8663    |48:23C1   | and rax,rcx    | rax=40,rax=246========结果要0
00000001403B8B71    |48:23C1   |and rax,rcx     |40+RCX:FFFFFFFFFFFFFD68 ====结果要0
找到后,就可以HOOK了,找到以下空白地方补代码:HOOK代码及位置:
00000001401C8A98| 48:83F8 40                                        |cmp rax,40               
00000001401C8A9C| 0F85 C9FB1E00                                |jne everedit.1403B866B      
00000001401C8AA2| 48:81F9 46020000                           |cmp rcx,246               
00000001401C8AA9| 0F85 BCFB1E00                               |jne everedit.1403B866B      
00000001401C8AAF| B8 00000000                                   |mov eax,0                  
00000001401C8AB4| E9 B2FB1E00                                   |jmp everedit.1403B866B   
  
00000001401C8AB9| 48:83F8 40                                      |cmp rax,40               
00000001401C8ABD| 0F85 B6001F00                               |jne everedit.1403B8B79      
00000001401C8AC3| 48:81F9 68FDFFFF                           |cmp rcx,FFFFFFFFFFFFFD68   
00000001401C8ACA| 0F85 A9001F00                               |jne everedit.1403B8B79      
00000001401C8AD0| B8 00000000                                   |mov eax,0                 
00000001401C8AD5| E9 9F001F00                                    |jmp everedit.1403B8B79     
    二进制:
   48 83 F8 40 0F85 C9 FB 1E 00 48 81 F9 46 02 00 00 0F 85 BC FB 1E 00 B8 00 00 00 00 E9 B2 FB1E 00 48 83 F8 40 0F 85 B6 00 1F 00 48 81 F9 68 FD FF FF 0F 85 A9 00 1F 00 B800 00 00 00 E9 9F 00 1F 00


10.png

00000001403B866300000001403B8B71处下方的jmpxxxxxx,更改jmpHOOK地方。
  00000001403B8663    48:23C1    and rax,rcx  
  00000001403B8666    E9 2D04E1FF    jmp everedit.1401C8A98    jmpHOOK  
  00000001403B8B71    48:23C1    and rax,rcx  
  00000001403B8B74    E9 40FFE0FF    jmp everedit.1401C8AB9  
更改完毕后,右键补丁(ctrl+p)--全选修补文件。至此,爆破完成!效果如图:

11.png




12.png



如果关于菜单,仍有未注册提示,可修改注册以下键值:  
    [HKEY_CURRENT_USER\Software\Classes\ZQBKAF8AVWBPAFIASWAT]
    @=hex:f7,2e,af,5f,00,00,00,00
    "Value"=dword:00000001
Value改为0,或直接删除键值。
最后,由衷感谢前辈大神们在vmp分析征程上的无私奉献。因为你们,使得我等小菜鸟也能简单触及一下令人望而生畏的vmp!心中万分欣喜!谢谢你们!
同时,向本帖中涉及的软件及作者说声抱歉:拿你的软件作为分析学习的对象!
在此也郑重说明,本帖只是学习分析vmp用,请勿商业用途!请尊重作者劳动成果,如果喜欢,购买正版支持作者。
故不提供成品,敬请谅解!

免费评分

参与人数 72威望 +2 吾爱币 +174 热心值 +68 收起 理由
1131195092 + 1 + 1 热心回复!
haoweixl + 1 热心回复!
塞活 + 1 + 1 我很赞同!
limlibgiag + 1 + 1 我很赞同!
hannywk + 1 + 1 热心回复!
毛新航 + 1 + 1 谢谢@Thanks!
5ud0 + 1 + 1 我很赞同!
xpmg + 1 + 1 谢谢@Thanks!
HDPLUS + 1 + 1 我很赞同!
xiangzz + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Royalustarboy + 1 + 1 用心讨论,共获提升!
DearDavies + 1 + 1 用心讨论,共获提升!
5_love + 1 + 1 热心回复!
ILL + 1 + 1 我很赞同!
吾爱破解_泪痕 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
bullshit + 1 + 1 谢谢@Thanks!
gaosld + 1 + 1 热心回复!
不爱everyone + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
theStyx + 2 + 1 热心回复!
生有涯知无涯 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
海水很咸 + 1 + 1 我很赞同!
youyuzihan + 1 用心讨论,共获提升!
pipi怪 + 1 我很赞同!
22222 + 1 + 1 热心回复!
penglina + 1 谢谢@Thanks!
Bigcraft + 1 + 1 我很赞同!
Remedia + 1 + 1 我很赞同!
xiaoyu0814 + 1 谢谢@Thanks!
xukefei + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
我要学外挂 + 1 + 1 我很赞同!
fofawb + 1 用心讨论,共获提升!
楠城 + 1 热心回复!
太阳王 + 1 我很赞同!
WAlitudealiy + 1 用心讨论,共获提升!
小呀小芹菜小Q + 1 + 1 热心回复!
qq3bot + 1 + 1 谢谢@Thanks!
victos + 1 + 1 谢谢@Thanks!
杜昊 + 1 + 1 我很赞同!
evea + 1 + 1 谢谢@Thanks!
天山雪 + 1 + 1 用心讨论,共获提升!
linrunqing521 + 1 用心讨论,共获提升!
QGZZ + 1 + 1 我很赞同!
eec + 1 + 1 我很赞同!
zhoumeto + 1 + 1 用心讨论,共获提升!
azcolf + 1 + 1 用心讨论,共获提升!
dzj0821 + 1 + 1 用心讨论,共获提升!
MaxMadcc + 1 + 1 我很赞同!
Hmily + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Razuri + 1 + 1 大佬牛逼
Wzx157 + 1 谢谢@Thanks!
苏紫方璇 + 2 + 1 用心讨论,共获提升!
三尺神明ins + 1 用心讨论,共获提升!
125733578 + 3 + 1 鼓励转贴优秀软件安全工具和文档!
sumile + 2 + 1 我很赞同!
ming1332236 + 1 我很赞同!
uer + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
dangducluan + 1 + 1 谢谢@Thanks!
wmsuper + 3 + 1 谢谢@Thanks!
Sarina + 1 + 1 我很赞同!
金海湖 + 1 + 1 我很赞同!
LI266 + 1 热心回复!
WGR + 1 我很赞同!
JFF + 1 + 1 大佬牛逼!
星辰丿 + 1 + 1 谢谢@Thanks!
我是在成器 + 1 用心讨论,共获提升!
小朋友呢 + 2 + 1 我很赞同!
FleTime + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
冥界3大法王 + 4 + 1 求原装货,三叔~~
朱朱你堕落了 + 3 + 1 果然世上无难事,只要肯登攀!
yangyu5133712 + 1 热心回复!
Link_Stark + 2 + 1 谢谢@Thanks!
cpujazz + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

冥界3大法王 发表于 2020-11-14 12:40
@无闻无问 @无闻无问  @无闻无问
不要成品 不要成品  不要成品 ,重要的事情说三次。
只求等价原装货。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
无闻无问 + 1 + 1 用心讨论,共获提升!

查看全部评分

yiwai2012 发表于 2020-11-21 16:00
tanyuan 发表于 2020-11-14 12:37
cpujazz 发表于 2020-11-14 12:39
大佬nb,手刚VM
wapjwsy 发表于 2020-11-14 12:54
大佬nb,手刚VM
 楼主| 无闻无问 发表于 2020-11-14 13:02
冥界3大法王 发表于 2020-11-14 12:40
@无闻无问 @无闻无问  @无闻无问
不要成品 不要成品  不要成品 ,重要的事情说三次。
只求等价原装货。{ ...

官网下,老大
鸭子咯咯哒~ 发表于 2020-11-14 13:03
学习了。。
moive005 发表于 2020-11-14 13:05
学习一下,多谢大佬分享。
朱朱你堕落了 发表于 2020-11-14 13:06
师傅好吊,那个时间还没有学VM,现在已经炉火纯青了。差距越来越大。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
无闻无问 + 1 + 1 用心讨论,共获提升!

查看全部评分

 楼主| 无闻无问 发表于 2020-11-14 13:13
朱朱你堕落了 发表于 2020-11-14 13:06
师傅好吊,那个时间还没有学VM,现在已经炉火纯青了。差距越来越大。

兄弟不要笑,我只是跟着看雪大佬的帖子理一下,纯粹模仿…
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 12:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表