专栏首页乱码三千android反编译之jni接口数据的获取的几种方法

android反编译之jni接口数据的获取的几种方法

如果没有签名校验

  1. 通过加壳的形式或者log插桩获取
  2. 直接抽取so文件 然后构建一个新app

如果app或者so库有签名校验

  1. 使用ida工具静态分析so库
  2. 使用xposed工具动态获取 原料:
    • xposed框架安装包
    • 编写hook插件 (关键)
    • 一台root设备, 推荐使用模拟器

xposed工具简单介绍

xposed是一个第三方的app, 用于hook代码, 可以简单理解为代码拦截,

该app存在的作用:

  • 内部集成了相应的hook环境包
  • 方便管理多个插件

插件hook的原理

插件其实就是一个独立的app, 只不过该app内部自定义了一些标识能够被xposed框架app识别, xposed框架将我们编写好的带有标识的app当成插件进行管理, 插件利用xposed框架中集成好的hook环境实现hook操作

本文分享自微信公众号 - 乱码三千(infree6)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-08-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android JNI(一)——NDK与JNI基础

    Android 平台从一开就已经支持了C/C++了。我们知道Android的SDK主要是基于Java的,所以导致了在用Android SDK进行开发的工程师们都...

    隔壁老李头
  • Android开发笔记(七十三)代码混淆与反破解

    ProGuard是ADT自带的apk混淆器,它的用途有: 1、压缩apk包的大小,能删除无用的代码,并简化部分类名和方法名。 2、加大破解源码的难度,因...

    用户4464237
  • Android开发笔记(六十九)JNI实战

    NDK全称为Native Development Kit,意即原生的开发工具,NDK允许开发者在APP中通过C/C++代码执行部分程序。它是Android提...

    用户4464237
  • Android签名攻与防

    JNI全称是Java Native Interface(Java本地接口)单词首字母的缩写,本地接口就是指用C和C++开发的接口。由于JNI是JVM规范中的一部...

    Anymarvel
  • Android程序中,内嵌ELF可执行文件-- Android开发C语言混合编程总结

    都知道的,Android基于Linux系统,然后覆盖了一层由Java虚拟机为核心的壳系统。跟一般常见的Linux+Java系统不同的,是其中有对硬件驱动进行支持...

    俺踏月色而来
  • Android程序中,内嵌ELF可执行文件--Android开发C语言混合编程总结

    都知道的,Android基于Linux系统,然后覆盖了一层由Java虚拟机为核心的壳系统。跟一般常见的Linux+Java系统不同的,是其中有对硬件驱动进行支持...

    俺踏月色而来
  • Android流媒体开发之路三:基于NDK开发Android平台RTSP播放器

    本人的交叉编译平台是ubuntu 64bit,编译成动态库,然后让APP通过JNI来调用,跟其他程序的编译方式差不多。当然,首先需要系统内布置好NDK编译环境。...

    hbstream
  • PHP获取POST数据的几种方法

    方法1、最常见的方法是:$_POST['fieldname']; 说明:只能接收Content-Type: application/x-www-form-url...

    A梦多啦A
  • Android JNI 开发初体验(四)

    我们都知道Java和C/C++不同 ,它不会直接编译成平台机器码,而是编译成虚拟机可以运行的Java字节码的.class文件,而Android底层的c/c++库...

    PengJie
  • Android NDK Hello

    Android应用程序访问android的根文件系统中的文件时,由于应用程序的权限限制,无法访问这些文件,怎么办?

    阳光岛主
  • 《Android Studio开发实战 从零基础到App上线》源码运行问题解答

    本书提供了所有章节的完整源码下载,自上市以来陆续收到读者的意见反馈,现将与源码有关的问题汇总归类如下,方便更多的朋友解决源码运...

    用户4464237
  • Android Studio中使用jni进行opencv开发的环境配置方法

    使用jni进行opencv开发可以快速地将PC端的opencv代码移植到手机上,但是如何在android studio下进行配置,网上几乎找不到教程,大多都是e...

    砸漏
  • Android与Python爱之初体验

    看到这个标题,大家可能会认为就是Android运行python脚本,或者用python写app,这些用QPython和P4A就可以实现了。我在想既然C可以调用P...

    陈宇明
  • Android流媒体开发之路二:NDK开发Android端RTMP直播推流程序

    首先,为什么要用NDK来做,因为自己之前就已经实现过RTMP推流、RTMP播放、RTSP转码等等各种c++实现的流媒体项目,有很成熟的代码模块。既然Androi...

    hbstream
  • 【开发者福利】手把手教你用android studio进行NDK开发

    NDK其实是提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。至于为什么要用NDK,一般都是出于一下几...

    WeTest质量开放平台团队
  • Android逆向分析大全

    Android程序的特点相比在于使用混淆方式打包,将包名、类名、函数名改成不易看懂的字母,从而使生成的apk小很多(android studio提供了relea...

    悲伤的夏洛特@席玉铎666
  • Android基础开发实践:如何分析Native Crash

    Native Crash常常发生在带有Jni代码的APP中,或者系统的Native服务中。作为比较难分析的一类问题,Native Crash其实还是有较多的方法...

    天天P图攻城狮
  • 我的非线性视频编辑器MiaoVideoCut(1) --- 视频基础知识及环境搭建

    所谓视频编码方式就是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。视频流传输中最为重要的编解码标准有国际电联的H.261、H.26...

    瑶瑶
  • 用Android Studio编译BareSIP

    BareSIP是开源的SIP协议栈,我们可以基于BareSIP开发软电话应用。我们可以在项目中直接引入BareSIP的库,也可以将BareSIP的源代码引入到项...

    Seven Du

扫码关注云+社区

领取腾讯云代金券