一行代码走天下之Frida+Hopper v4.5.19 Demo调试Ummy Video Downloader算法
一行代码走天下之Frida+Hopper v4.5.19 Demo调试Ummy Video Downloader的注册验证算法
前言最近接触到Frida神器,读完文档后发现确实是逆向神器,做了一期简短视频,介绍了一些入门操作,欢迎观看。- 【MacOS】 Frida+Hopper v4.5.19 Demo,调试Ummy Video Downloader
这里记录一些操作步骤。
0x1 初识软件
Ummy Video 是一款下载YouTube视频的小工具,未注册时有使用次数限制,本地注册方式,未采用网络验证,仔细分析的话加解密及注册验证比较容易,可以用来练习练习。HowtocrackUmmyVideoDownloaderWithOneLineCode/截屏2020-01-1915.30.08.jpg0x2 Hopper Disassembler分析
接下来,启动Hopper Disassembler v4.5.19 Demo版本,虽然是Demo版本的,但是可以查看伪代码,用来分析足矣~。通过关键词license,很容易快速定位到软件使用的加解密类:EllipticLicenseHowtocrackUmmyVideoDownloaderWithOneLineCode/截屏2020-01-1915.38.10.jpg0x3 Frida、Frida-trace跟踪类的运行流程
打开iTerm2,输入跟踪命令:frida-trace "Ummy Video Downloader" -m "*"关于frida-trace的使用可以参考官网文档。HowtocrackUmmyVideoDownloaderWithOneLineCode/截屏2020-01-1915.43.28.jpg激活Ummy Video Downloader界面后,点击注册按钮,很容易看到下面的信息:HowtocrackUmmyVideoDownloaderWithOneLineCode/截屏2020-01-1915.50.17.jpg读下来的意思就是:初始化类,导入公钥,设置黑名单,检测黑名单,注册码验证。是不是很激动,如此高效的逆向分析工具,相见恨晚不。
0x4 初识劫持代码
打开当前文件夹,frida自动创建了文件夹 __handlers__,包含了已注入的一些方法对应的js文件。我们把焦点放在这个文件__EllipticLicense_verifyLicenseK_eb1154d4.js。
{
onEnter: function (log, args, state) {
log('- + ' forName:' + args + ']');
},
onLeave: function (log, retval, state) {
}
}
首先尝试打印一下注册码和用户名,如下修改:
{
onEnter: function (log, args, state) {
log('- + ' forName:' + args + ']');
var name = new ObjC.Object(args);
var key = new ObjC.Object(args);
console.log("name:", name.toString(), "key:", key.toString());
},
...
}
切换到iTerm2,按下Ctrl+C,中断后,按下向上方向键👆,激活上次命令,再次按下回车。点击激活按钮,就显示了内存中的用户名和激活码。HowtocrackUmmyVideoDownloaderWithOneLineCode/截屏2020-01-1916.04.43.jpg
0x5 一行代码走天下
再次修改代码,添加如下一行代码:
{
...
onLeave: function (log, retval, state) {
retval.replace(1);// add one line code.
}
}
这行代码的意思很明显了,就是修改函数:的返回值为True。好了,保存文档,再次注入,发现Ummy Video Downloader变成了注册版,可以使用下载功能了。HowtocrackUmmyVideoDownloaderWithOneLineCode/截屏2020-01-1916.11.27.jpg
链接:
[*]https://itreefly.com/posts/f9ee0805.html
[*]https://youtu.be/bI2aJ4U9RkU
[*]https://frida.re/docs/home/
占座来跟着学习 膜拜飞树大神 来跟着学习学习 感谢大婶分享分析文章,支持。 学习下大神的经验
膜拜飞树大神 感谢!!!我的大神 感谢分享 前来学习一下
太牛了。。还有吗?????