【APP逆向小技巧】app逆向之如何定位关键代码

目录


1 搜索大法

假设我们通过抓包得到的请求参数如下图所示

【APP逆向小技巧】app逆向之如何定位关键代码
通过多次抓包分析出请求参数中duid/tyc-hi/Authorization这三个是动态加密的参数,需要我们反编译app进行破解。使用jadx打开app进行反编译

打开搜索框搜索加密参数定位关键代码

【APP逆向小技巧】app逆向之如何定位关键代码

  • 字符串搜索tyc-hi/"tyc-hi,查看搜索结果;

【APP逆向小技巧】app逆向之如何定位关键代码
由上图所示,通过搜索tyc_hi进入到一个类似配置文件的类中,并且我们需要的加密参数赋值给不同的变量。

那么站在开发者的角度想一想,如果在代码中想要使用这三个参数,那么直接调用它们对应的变量即可。

  • 在其它地方直接调用w,调用方式可能为.w

【APP逆向小技巧】app逆向之如何定位关键代码

  • 根据前面的搜索w = "tyc-hi"w最终肯定要被赋值成一个加密后的参数,那么调用方式可能为.w =

【APP逆向小技巧】app逆向之如何定位关键代码
进一步缩小了搜索范围。

  • 根据以往分析经验,变量赋值可能是在某一个方法里面进行赋值的,例如:在a方法里面,b调用变量w并赋值为qwe,赋值方式为a(b.w,qwe),那么我们可以搜索.w,来定位相关代码。

【APP逆向小技巧】app逆向之如何定位关键代码
这时需要我们逐个分析来定位相关代码。

  • 通过以上搜索如果还是无法准确定位相关代码怎么办???

回想w = "tyc-hi"被定义在哪个类中,其它地方在调用时调用方式可能为类名.w

【APP逆向小技巧】app逆向之如何定位关键代码
那么调用并赋值的方式可能为:

  • m.w =
  • m.w,

【APP逆向小技巧】app逆向之如何定位关键代码

总结:通过搜索参数来定位相关代码,主要思想是站在开发者的角度考虑如何调用和使用这些参数。

2 栈跟踪法( 动态调试 / 函数调用流程 )

未完待续。。。。。。

上一篇:vue项目中