Revo Uninstaller PRO证书校验机制分析
2019-09-11 18:59:00 Author: mp.weixin.qq.com(查看原文) 阅读量:57 收藏

本文为看雪论坛优秀文章

看雪论坛作者ID:kalikaikai

前言

Revo Uninstaller PRO 是一个比较好用的卸载工具,官网最新版本为目前4.1.5版本。

安装后会有30天的使用期限。


对现存网上的破解工具进行分析,发现其网上大部分流传的破解工具,其实现原理,皆为证书替换。
而证书替换中,证书里面的到期时间无法改变,仍然会存在到期时间。到期时间的2019/10/1。
总结:现存网上流传的破解机制,并没有实现完全破解。
初步分析行为
>>>>

目录预览

首先打开软件本身目录,浏览下大致目录和结构。
RevoUninPro.exe是本身软件的可执行文件。
猜测ruplp.exe是保护证书的执行文件。
lang文件夹放了各种语言和提示。包括了注册成功、成功等版本提示信息。
>>>>

行为监控

打开procmon,监控一下软件自身的运行流程。
分析 RevoUninPro.exe 行为。

RevoUninPro.exe 会读取license证书和读取配置信息。
尝试点击注册。输入任意用户名和注册码。
当注册时,会读取并且调用license证书,与用户名和注册码是否符合。
二话不说,迅速定位到关键点,定位到关键代码。
分析证书流程
>>>>

分析ruplp.exe

初步想法是,看能不能找到证书有效期等关键代码,对证书进行伪造和证书验证过程中某些逻辑进行破解。
定位代码ruplp.exe中读取证书代码,拖入IDA

此处时一个入口,开始创建并且读取license证书文件。
选取函数引用,走到最外层。逐层分析。

找到一些字符串,开始会进入读取证书。
该函数会对读取的证书各种参数和配置,下面的处理流程会根据analysisLicense()函数处理的证书的返回值。提示读取证书状态。

对读取大致是,先读取.lic文件0xF000字节,取一部字节进行校验。
在读取剩余.lic证书文件的剩余字节进行校验。

将解析出证书配置信息的提取出来,放进证书类文件中。
以下是证书解析后在,内存拷贝出来的数据。
发现了对证书进行网络校验的网址:
https://registerserver.net/37419145/lpws.asmx

并且,Procmon监控到有网络连接行为。

对这个网络行为抓包分析。
分析发现,注册验证过程会调用证书验证的ASReq接口。ruplp.exe这个证书保护程序,会存储证书一部分信息、用户名和注册码,RSA加密发送至网络验证,校验注册证书的合法性,并返回一段密文。由于证书采用非对称RSA加密,关键信息全程以加密方式存在。ruplp程序中并没有找到破解口,也无法伪造证书。
>>>>

分析RevoUninPro.exe

从语言选择文件中找到注册版本和未注册版本提示:
监控.ini可以获取 RevoUninPro.exe的读取文件代码,找到其读取配置代码。

继续往下跟踪代码。
找到读取证书数据中,继续进入验证证书数据函数代码。
校验证书数据。

取出校验返回值,根据返回值来决定是注册版本还是未注册版本

于是,第一个破解点出来了,直接爆破。

继续分析,发现其输入表有WINTRUST.DLL和WinVerifyTrust()函数。

百度一下WinVerifyTrust()函数:
微软官网解释已经很明显了, WinVerifyTrust的用法,是用来验证证书用的。

第二个爆破点出现,继续爆破patch。

爆破点,增加强制跳转。

破解成功。时间限制完全去除。

总结
其实对于他们证书验证机制的一些细节处理过程,我还是有点蒙蔽的。
如果有大佬,有破解 miragesystems公司的证书机制破解经验,求大佬可以分享下经验,小弟感激不谢。
证书的公司产品主页:https://www.mirage-systems.de/
链接:https://pan.baidu.com/s/1BEknFHvJPAX6BM_yNWLxHA
提取码:phvg
破解补丁使用说明:

1、安装原版RevoUninProSetup.exe。

2、安装完成后进入软件根目录。如:C:\Program Files\VS Revo Group\Revo Uninstaller Pro。

3、将破解补丁 RevoUninPro.exe拷贝到根目录覆盖。

4、双击Rocky.reg将注册者添加到注册表。
- End -

看雪ID:kalikaikai

https://bbs.pediy.com/user-802790htm 

*本文由看雪论坛 kalikaikai 原创,转载请注明来自看雪社区

推荐文章++++

移动基带安全研究系列之一 概念和系统篇

Linux Kernel Exploit 内核漏洞学习(4)-RW Any Memory

Android 调试任意APK - smail工程--多进程

使用IDA Python寻找二进制漏洞

看雪CTF从入门到存活(六)主动防御

进阶安全圈,不得不读的一本书

“阅读原文”一起来充电吧!

文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458298769&idx=1&sn=7e0d7e3a8a3c28d8fb897115af6e238e&chksm=b181991b86f6100d96c9140ffbf9d637d0b2883c37c5a771dabc814f691157929676b394a3c1#rd
如有侵权请联系:admin#unsafe.sh