THER_WGH
2021-12-19 13:48
采纳率: 0%
浏览 14

安卓逆向-如何在一个安卓程序中导入另一个程序的so库

问题:我想请教一下,安卓中一个程序a可以加载程序b的so库吗,如果可以的话要怎么做呢
例如b程序在他的apk中有一个so库,我希望a程序去调用b的apk中的这个so库。

背景:在写逆向程序的时候希望改变显示的字符串值,逆向后的代码如下

public class MainActivity extends AppCompatActivity {
  static {
    System.loadLibrary("native-lib");
  }
  
  protected void onCreate(Bundle paramBundle) {
    super.onCreate(paramBundle);
    setContentView(2131427356);
    ((TextView)findViewById(2131230901)).setText(stringFromJNI());
  }
  
  public native String stringFromJNI();
}

我的思路:通过frida,hook了so中的stringFromJNI函数,但是调用显示字符串只在OnCreate中,无法让hook后的字符串显示。
我希望有个程序能在demo程序前先导入了native-lib.so库,然后我劫持so的函数,这样demo程序运行时导入的函数应该就是劫持后的函数了。

未解决:卡在了如何让一个程序先导入so库上,不知道如何让一个程序调用另一个程序中的so文件。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题