(安卓逆向)技巧思路分享

需要逆向工具资料+v:13140310004
一、首先刚开始学逆向的话
java基础+Android开发:

到什么程度证明我们的Java基础打牢?

1.首先我们需要看懂反编译的Java代码

2.最好能动手写一个apk (不需要太注重布局文件,侧重点在于代码)

二、Java逆向分析
1.当我们需要修改一个apk的dex文件(Java代码) 不能够直接修改Java代码 只能修改smali代码

需要掌握 smali代码 Android studio动态调试(调试是基于我们导入的smali文件) JEB动态调试 ddms工具使用(方法剖析)

2…NDK开发部分

掌握怎样编写so库文件 -> jni接口(动态注册、静态注册)

3…ARM汇编

掌握常用的指令 (ARM机器码运算) 跳转 B BL BLX

4.IDA调试

掌握一些必备的技能

固定的流程

一些IDA技巧(函数不能F5解决办法)

一些快捷键(用着用着就自然而然记住了)

了解一些窗口

5.apk保护策略

偏向于概念 很重要

资源文件的混淆

签名校验

Java代码混淆

框架检测(xposed frida substrate(受限于5.0以下真机)) frida偏向于测试 xposed偏向于插件化

三、xposed框架用法(重启)
安装及知道如何使用

用法:

hook 普通方法 构造方法 匿名内部类

进阶用法:

hook 自加载的dex-> 一些dex本来是加密的 那么在分析 看不到它的dex 这就是自加载

这张状况:ddms工具-> 进行方法剖析 -> 我们在ddms方法剖析中能够找到这个方法,但是在反编译apk类里面找不到这个类

怎么去hook? 两种方法 1.我们hook它的父类 -> 拿到这个classloader对象 2.hook loadclass方法 -> 拿到这个classloader对象

反射查找类

要hook的函数的参数比较复杂 -> 反射拿到这个参数

frida框架(基于通信的)

比较高级功能 -> 拿到地址来进行hook (内存泄漏)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值