r0ysue / AndroidFridaBeginnersBook

《安卓Frida逆向与抓包实战》随书附件
450 stars 129 forks source link

第十一章 执行hookNative.js的代码,但报错并提示找不到export 'Java_com_roysue_r0so_MainActivity_stringFromJNI' #20

Open bruceLeiGit opened 2 weeks ago

bruceLeiGit commented 2 weeks ago

【麻烦大神帮我 抽空看一下这个问题】 这个问题已经卡我一个多星期了,章节后面的动态注册的函数也停滞不前。

【书本代码出处】 代码清单11-5 hookNative.js中, 核心代码如下: var libnative_addr = Module.findBaseAddress('libnative-lib.so')

【报错信息】 Error: libnative-lib.so: unable to find export 'Java_com_roysue_r0so_MainActivity_stringFromJNI'

【我的环境】 --电脑 macbook air m1

-- frida frida-tools: 9.0.1 frida: 14.2.18 frida-server 14.2.18

-- android studio下的emulator Android 10.0("Q") arm64

--打包的apk(根据第11章的r0so项目打包的) 详情见附件 test-native-01.apk.zip

bruceLeiGit commented 2 weeks ago

最新进展,当把Android的版本下降到5.1时,进展与问题如下: 【进展】可以获取addr的值 var addr = Module.findExportByName("libnative-lib.so", "Java_com_roysue_r0so_MainActivity_stringFromJNI"); 【问题】OnEnter未工作 Interceptor.attach(addr,{
onEnter:function(args){ console.log("jnienv pointer =>",args[0]) console.log("jobj pointer =>",args[1]) } }) 程序无法进入OnEnter内部的函数体。 【请问:这个问题该如何解决? 请大神赐教!!!】