逆向学习之路小试牛刀Interface Inspector

时间:2020-05-26
本文章向大家介绍 逆向学习之路小试牛刀Interface Inspector,主要包括 逆向学习之路小试牛刀Interface Inspector使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

逆向学习之路小试牛刀 Interface Inspector

准备

开干

先打开Interface-inspector 看一下

Hopper打开Interface Inspector的可执行文件

左侧tab页搜索register关键字

从名字上看SMEnterLicenseViewController register像是注册的用到的,点开看一下,反正不要钱。

 rax = [r14 enterLicenseViewControllerDidSelectRegister:r15 withLicenseName:r12 code:rbx];

应该就这这里了进一步跟进去看一看

rbx = [rax registerLicenseWithName:r12 code:rcx]; 通过这行代码接着跟


到这里基本算是跟到头了,r12变量就是干这个验证通过没有通过的活的。
改代码

Modify -> Assemble Instruction
else的地方直接改成赋值为1

000000010010f39b         mov        r12b, 0x1  

File -> Produce New Executable生成新的可执行文件,在弹框中选择移除签名

打开Interface Inspector

有签名校验,有意思,接着走
通过关键字符串Signature of the Interface inspector is broken继续找

点开按着X一层一层找引用

loc_100024851找下谁在用,就在当前文件里,goto了

if ([rax codeSignState] != 0x2) goto loc_100024851;
改一下goto

改代码

000000010002447e         jne        loc_100024851

改为

000000010002447e         jne        loc_100024484        

保存为新的可执行文件,依旧是移除签名,再次重新打开Interface inspector

熟悉的界面又回来了
namelicense随便输入

破解成功

总结

参考了AloneMonkey的文章,但是到修改签名的那部分就有点跟不上了,改二进制,找terminate符号,之后自己按照自己的思路搞一波,发现比他的还要简单一点。

参考

一篇文章走进Mac逆向的世界 | AloneMonkey

source

https://github.com/1483523635/blogs/blob/master/tweak/MacOs/interface-inspector.md

原文地址:https://www.cnblogs.com/qulianqing/p/12965259.html