WZTong 发表于 2021-6-21 11:57

高数神器Symbolab逆向教程(新手向)

搜索全网发现没人对此软件逆向做教程,即使有也存在较高阅读权限,故自己花时间摸索后将全过程记录于下方


不设回复后可见,拒绝白嫖,还请回复,大佬勿喷


教程开始:

首先使用arsc编辑器,搜索外国软件关键词"subscription",成功找到类似"subscription_expired"订阅过期的疑似目标字符串


dex中常规搜索此id未找到结果(只能找到R.id的映射),推测是使用直接引用,故直接搜索"subscription_expired"


找到类UserAccountModel中getSubscriptionInfo方法,转成Java并观察if语句


发现多处this.application.getPersistance().getSubscriptionType(),由英文得此处大概率为关键代码


回到Smali,跳转到getSubscriptionType(找到方法名,长按选择跳转)


得到的是接口类,选择上方指南针,长按选择“查找重写方法”


找到具有实际意义的Persistance.getSubscriptionType()


此处可选择查找调用处,看此方法需要满足什么条件可使程序进入VIP状态,题主使用了第二种方法


因为此类疑似关键工具类,此方法返回的String又不方便确定数值,故查看此类中是否存在其他返回Boolean的方法


这边找到的是isWebSubscribed()和getGooglePlaySubscriptionValid(),实际本软件还可通过更改其他方法破解


进入Smali编辑,令其返回true (新手可直接复制以下内容,覆盖原方法)


.regusters 2
const/4 v0, 0x1
return v0


回编译保存,成功破解,点击订阅,显示“一次购买”

hgwlh 发表于 2021-6-22 10:26

学生福利,楼主太棒了

shaic 发表于 2021-6-23 04:02

<iframe src="//player.bilibili.com/player.html?aid=246819737&bvid=BV1nv411Y7t9&cid=304422034&page=2" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

Groza 发表于 2021-6-22 11:29

感谢分享,积累一下经验

reidentify 发表于 2021-6-22 12:14

pgfj18 发表于 2021-6-22 15:27

谢谢你的分享

miracleshots 发表于 2021-6-22 15:40

感谢分享!!!!

正己 发表于 2021-6-22 17:53

mc224301 发表于 2021-6-22 21:29

高数支配的噩梦!

13514391179 发表于 2021-6-22 23:36

楼主很棒!正好用得到 期待一个wolfram alpha
页: [1] 2 3 4 5
查看完整版本: 高数神器Symbolab逆向教程(新手向)