某安卓平台3d绘图工具的简单逆向
如题,今日朋友推荐了一款名为 Nomad Sculpt 的安卓平台的3d绘图工具,在play商店下载后发现需要内购才能使用部分功能,软件内截图如下:
于是拖入jadx,尝试搜索相关字符串,但是没有搜到,不要紧,看一下assets目录,里面有个locales目录,下面有语言文件,搜索购买完整版本
发现 buyFull 关键字 , 然后jadx 搜索 buyFull,发现找不到任何信息,但是呢,用010editor搜索全部文件,找到libnomad.so内部有相关信息,于是把这个文件拖入ida
然后在ida中搜索buyFull 字符串,定位到_ZN7Version14buyFullVersionEv函数
看一下这个函数内容,好像是又反射回到了java层,好,继续跟回java层。他反射的参数应该是函数id,但是methodid我们也不知道,不过这个类也不长,于是挨个看看
发现如下代码
public static void android_purchase() {
gAppActivity.runOnUiThread(new Runnable() { // from class: com.stephaneginier.nomad.AppActivity.11
@Override // java.lang.Runnable
public void run() {
AppActivity.gAppActivity._billing.purchase();
}
});
}
这个应该就是支付相关的操作了
进入查看
这时候,注意看,我们发现了一个AppLib.onFullVersion(); 函数 ,这个函数看起来是支付成功的时候调用的,于是进ida搜索这个函数
进去看了一下,好像很简单的一个函数,估计这几个数据就是标记是否付费的了
所以现在,只要在软件启动之后调用一下 AppLib.onFullVersion() 函数,应该就可以了
好,现在打开mt管理器,进入 AppActivity 的onCreate 函数,找到最后一行,写入 invoke-static {}, Lcom/stephaneginier/nomad/AppLib;->onFullVersion()V
然后关闭,保存,重新安装软件测试。
如图,功能完美,只是有时候启动的时候会弹出一个支付结果错误的提示,问题不大,应该是解析不了支付结果报的错。
至此,完美,收工。
本帖不提供任何成品,如有侵权,请联系删帖处理。
dongxi 发表于 2023-8-12 15:27
这是用啥开发的软件
应该是用kotlin加上安卓c++原生开发的 大家好,在此收集某阅电子书自用谢谢
有效期截止到2024年9月28日16:06,麻烦在此之前点击以下链接将文件发送给我,支持发送任意格式的文件,感谢~
链接:https://pan.baidu.com/disk/main#/transfer/send?surl=AD4AAAAAABKrJQ
来自:zah 哇 好厉害 有用 高手,感谢楼主大神热心分享 {:1_893:} 学习学习 666 学习一下楼主的思路,谢谢分享 谢谢分享 这是用啥开发的软件 看上去不错哦?一会试试