一、目标
李老板: 奋飞呀,啥叫NFT?
奋飞:老板,你已经老了,子曾经曰过,我出生时已经有的科技都是陈旧老土不值一提的;在我10-30岁之间诞生的科技都是无法复制的经典;在我30岁之后诞生的科技都是愚蠢肤浅,幼稚可笑的。所以nft不适合你。
这App不愧是流行科技,升级太快了,目前的版本是 1.1.5
我们今天的目标是他 wtoken:

二、步骤
FRIDA-DEXDump 脱壳
这种高科技App一般都是加壳了,所以脱壳先。
好久没用过FRIDA-DEXDump了,这次用BlackDex脱壳失败,只好试试FRIDA-DEXDump
1# 安装frida-dexdump 2pip3 install frida-dexdump 3# 手机里启动要脱壳的app 和 fridaServer 4frida-dexdump -FU
这次脱出来的dex文件还不少,用jadx打开 1MB以上 的dex文件吧
搜索 “wtoken”

只有一个结果,简单粗暴呀。
点进入很快就定位到了 com.aliyun.TigerTally.TigerTallyAPI._genericNt3
开始写代码
1function main() { 2 Java.perform(function () { 3 var threadef = Java.use('java.lang.Thread'); 4 var threadinstance = threadef.$new(); 5 6 var TigerTallyAPICls = Java.use("com.aliyun.TigerTally.TigerTallyAPI"); 7 8 TigerTallyAPICls._genericNt3.implementation = function(a,b){ 9 var StrCls = Java.use('java.lang.String'); 10 var inStr = StrCls.$new(b); 11 12 var rc = this._genericNt3(a,b); 13 14 console.log("_genericNt3 a=" + a + ",b="+bytesToHex(b) + " / " + inStr +" >>> rc= " + rc); 15 return rc; 16 } 17 18 }); 19} 20 21// hook 加壳App,加个延迟 22setTimeout(main, 1000); 23// setImmediate(main); 24
跑一下

就是这个效果。
最后考虑用 AndroidAsync或者sekiro搞个rpc服务就行了
http://91fans.com.cn/post/fridarpctwo/
http://91fans.com.cn/post/fridarpctwo/
三、总结
脱壳是核心竞争力,壳一脱java层就没有秘密了。
看不见、看不起、看不懂、来不及
TIP: : 本文的目的只有一个就是学习更多的逆向技巧和思路,如果有人利用本文技术去进行非法商业获取利益带来的法律责任都是操作者自己承担,和本文以及作者没关系,本文涉及到的代码项目可以去 奋飞的朋友们 知识星球自取,欢迎加入知识星球一起学习探讨技术。有问题可以加我wx: fenfei331 讨论下。
关注微信公众号: 奋飞安全,最新技术干货实时推送
