今天练练手 做一个跳过签名验证的练习
下手的app :
1. 分析apk 首先拖入AndroidKiller
选择不分析
编译打包
拖入模拟器
发现直接停止运行
下面来找原因
2. 分析 拖入GDA3.72 打开入口 发现可以函数调用
进去看看
读取了签名 但是没有干啥事情
进kille把这段改掉,试试看
更新 2026.7.23Android942 字· 2 分钟 Arm汇编简单介绍 控制指令 跳转指令: B(Branch) => 分支的意思 B 无条件跳转 BL 带链接的无条件跳转 BX 带状态切换的无条件跳转 根据目标地址最低位切换状态(arm/thumb) BLX 带链接和状态切换的无条件跳转 B loc_地址 BEQ,BNE 存储器与寄存器交互数据指令 核心 存储器/寄存器: 内存,存储数据(小数据:寄存器,大 …
更新 2026.7.23Android514 字· 2 分钟 NDK开发总结
Jni接口: java native interface 作用:用于java/c/c++ 代码之间的交互 使用方法: jni静态注册 在java代码中定义native修饰的方法; 根据java中native修饰的方法生成头文件(SRC路径执行javah -jni); 编写c/c++代码,导入头文件,同时实现头文件中的方法; 编写两个mk文件: …
更新 2026.7.23Android约 1.7k 字· 4 分钟 本文转发语NCK大佬的博客,并且自己跟着做了一遍 有一点点不同 大致上是大佬的文章:
https://www.cnblogs.com/fuhua/p/12725771.html
前面几篇文章演示的是比较原始的创建JNI项目的方法,旨在了解JNI项目构建原理!
但是构建项目效率很低,开发,调试都存在很大的效率低下问题。
本篇文章将演示利用Android …
更新 2026.7.23Android约 2.0k 字· 5 分钟 Android逆向 JNI静态注册(c++和java交互) 使用Android Studio新建JNi项目 请看NCK大佬的文章:
https://www.cnblogs.com/fuhua/p/12695436.html
先加个textview方便输出调试信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <?xml …
更新 2026.7.23Android493 字· 1 分钟 Android Studio安装记录 发现各个大佬都在用AS 我也装一个用一下
1. 下载 下载地址:
https://developer.android.com/studio
2. 直接一路Next 等进度条走完就装好了
3. 配置 这里要导入配置 毛线的配置 直接点ok
开始配置
这里选默认,因为简单 自定义又不会
我喜欢暗黑色
选择finish 等安装 …
更新 2026.7.23Android591 字· 2 分钟 Android逆向 JNI静态注册 1. 新建空白Android项目 打开 ADT 新建Android空白项目 全部默认下一步
2. 新增jni代码 使用jni写的需要用native修饰
3. 生成头文件 首先在ADT中新建 jni文件夹
右击src文件夹 选择 Properties 查看文件夹路径
这里为 …
更新 2026.7.23Android466 字· 1 分钟 使用ndk构建c语言可执行程序 1. 新建代码文件 hello.c
1 2 3 4 5 6 7 #include <stdio.h> int main() { printf("hello android JNI!"); return 0; } 2. 新建android编译make文件 Android.mk
1 2 3 4 5 6 7 8 9 10 11 …
更新 2026.7.23Android约 2.9k 字· 6 分钟 dalvik 指令集 1 dalvik 指令格式 1 基础字节码-名称后缀/字节码后缀 目的寄存器 源寄存器 说明:
名称后缀: wide 表示数据宽度位 64位
字节码后缀 : from16 表示的就是源寄存器为16位
例子:
1 2 3 4 5 6 7 move-wide/from16 vAA, vBBBB move 为基础字节码,即 opcode …
更新 2026.7.23Android496 字· 1 分钟 1 .dalvik字节码 1 dalvik寄存器: 32位: 所有寄存器 64位: 使用两个相邻的寄存器 2 寄存器的命名法: v : 局部变量寄存器 v0-vn 参数寄存器: vn-vn+m p : 参数寄存器 p0-pn 变量寄存器 v0-vn 第一种
第二种
3 dex文件反汇编工具 .java编译成.class 再编译成 <code>.dex 最后编 …