Android逆向快速定位

776 阅读2分钟

往期推荐

frida环境安装

Xposed框架安装、使用及插件开发

HOOK startActivity

HOOK框架——动态代理

需要相关资料的朋友,可以【加入此处即可打包获取】

Android逆向

常用Android快速定位关键代码介绍

1、字符串,特征字

根据程序运行中出现的特征字词进行搜索,从而获取定位到程序相关位置之中,以前用的比较多,不过现在一般难以找到想要的关键字,有时候需要对特征字进行拆分来进行搜索,才能获得一点提示

2、关键api监控

通过挂钩关键的系统api,从而截取程序运行时候的数据,分析程序行为从行为上入手,一步一步地逼近关键点,这点算是比较难用到的技巧,需要对Android函数以及编程方面相当的熟悉,才能使用

3、挂钩解密函数

使用到Xposed或者cydia之类的Hook框架,手动编写Hook代码,勾取需要的函数,动态dump出需要的信息

4、Monitor

(1、DDMS

Android Log信息,是Android程序运行过程中,产生的一些运行信息,这些信息可能是由于目标程序产生的,也有可能是系统进程产生的。总之,可以提供非常多的信息,遇到问题,先找log,肯定是对的。

(2、Thread

跟踪程序运行中的各个Thread的调用与运行类

(3、Method Trace

进程函数调用跟踪,一般会跟踪到很多的Trace函数,比较复杂,需要花费很多的时间去分析Trace数据

startMethodTracing()—stopMethodTracing()

5、插Log信息

对自己关注的地方,手动插入log数据,自动打印出程序运行时候的参数

6、动态调试

动态调试很强大,熟悉了对程序分析很有用

从0开始打造自己的破解代码库

1、smali代码插入

log插入为例

2、smali代码编写

如一个静态返回helloword的方法:

.class public Lf8/helloword/helloStr;

.super Ljava/lang/Object;

.method public static retHello()Ljava/lang/String;

.locals 1

const-string v0,“hello word”

return-object v0

.end method

如果你也对安卓逆向感兴趣。可以加入下方的群,大家一起讨论问题,或者扫描下方二维码关注公众号,关注回复 “安卓逆向” 获取免费教程安卓逆向交流学习 Q群:876526335 vx:yijin_LX

在这里插入图片描述