JNI编程之字符串处理

java中的字符串类型是String,对应的jni类型是jstring,由于jstring是引用类型,所以我们不能像基本数据类型那样去使用它,我们需要使用JNIEnv中的函数去处理jstring,下面介绍一些常用的字符串处理函数。 1.GetStringUTFChars() 作用:将jstring类

【Android逆向】IDA动态调试JNI_OnLoad 和 .init_array

由于 JNI_OnLoad 和 .init_array 执行时间很早,so一加载到内存中就执行了,所以动态调试步骤会稍微要麻烦一些 1. 进入手机, 执行./android_server (如果是64位程序执行./android_server64) 2. 再开一个终端,执行adb forward t

[转帖]密集计算场景下的 JNI 实战

https://www.jianshu.com/p/ab8fd26014c1 作者:vivo 互联网服务器团队- Wei Qianzi、Li Haoxuan 在 Java 发展历程中,JNI 一直都是一个不可或缺的角色,但是在实际的项目开发中,JNI 这项技术应用的很少。在笔者经过艰难的踩坑之后,终

EPAI手绘建模APP介绍

​ 本软件是一个基于OpenCASCADE、android JNI开发的APP。底层用c++实现,UI层用android实现。底层和UI层之间通过JNI接口和json数据格式通信。 UI层包括资源管理器、编辑器、创建模型、工具栏四个部分。具体来说,包括模型列表、图层列表、相机列表、灯光列表、颜色库、

ADVMP 三代壳(vmp加固)原理分析(执行流程)

由于在加壳时插入了System.loadLibrary("advmp");,看一下JNI_OnLoad JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) { JNIEnv* env = NULL; if (vm->GetEnv

【Android逆向】静态分析+frida破解test2.apk

有了上一篇的基础 https://www.cnblogs.com/gradyblog/p/17152108.html 现在尝试静态分析的方式来处理 为什么还要多此一举,因为题眼告诉了我们是五位数字,所以可以爆破,不告诉这个题眼的话,就得分析 1. IDA 打开libroysue.so,查看JNI_O

【Android逆向】定位native函数在哪个so中方法

1. 在逆向过程中经常需要定位方法在哪个so中,而app加载的so很多,比如 那么如何快速定位方法在哪里呢 2. 比如如下案例,首先看日志 03-28 11:01:56.457 14566 14566 D KM-NATIVE: JNI_OnLoad 03-28 11:01:56.457 14566

[转帖]Core dump实战分析之Java版

https://www.jianshu.com/p/2cdf71f99209 Core dump实战分析(Java版) 背景 项目中的battleserver进程在某一段时间总是crash,无法找到具体Crash原因 Java通过JNI调用Luajit 那么进程Crash如何找到JNI的堆栈(C层)

[转帖]聊聊jvm的Code Cache

https://www.jianshu.com/p/b064274536ed 本文主要研究一下jvm的Code Cache Code Cache JVM生成的native code存放的内存空间称之为Code Cache;JIT编译、JNI等都会编译代码到native code,其中JIT生成的na

[转帖]JNA 教程

https://www.jianshu.com/p/ead89497c403 前言 只要你用过了 JNA (java native access) , 那你可能就再也不想用 JNI 了 实际上, JNA 搞定了 JNI 中最麻烦的数据类型映射, 可以让我们进行高效的开发, 不用再去写各种的转换接口.

[转帖]聊聊jvm的Code Cache

https://juejin.cn/post/6844903809932591112 序 本文主要研究一下jvm的Code Cache Code Cache JVM生成的native code存放的内存空间称之为Code Cache;JIT编译、JNI等都会编译代码到native code,其中JI

【Android逆向】破解看雪test3.apk方案一

1. test3.apk 安装到手机 2. 发现其实际逻辑和之前的test2.apk基本一致,逆向so查看到加入了一些检查逻辑 代码: jstring __fastcall fuck(JNIEnv *env, jclass jcls, jstring str_) { ...... if ( !str

【Android逆向】破解看雪test3.apk方案二

方案二就是要hook那三个条件,不让追加字符串变成false v20 = "REAL"; clazz = _JNIEnv::FindClass(env, "android/os/Build"); fieldID = _JNIEnv::GetStaticFieldID(env, clazz, "FIN

【转帖】26.Java本地方法的理解(native方法)

目录 1.什么是本地方法?2. 为什么要使用Native method? 1.什么是本地方法? 本地方法就是java代码里面写的native方法,它没有方法体。是为了调用C/C++代码而写的。在JNI程序里面使用。 例子: 下面的代码在java中声明了一个本地方法,但是没有实现,它的实现是在c或者c

  • 首页
  • 上一页
  • 1
  • 下一页
  • 尾页