美文网首页
Android逆向反编译Lambda代码还原以及查看

Android逆向反编译Lambda代码还原以及查看

作者: 神一般的男子 | 来源:发表于2018-06-06 13:13 被阅读449次

前言:昨天在逆向一个项目的时候,发现使用了Java1.8特效Lambda表达式,如果没用过Lambda表达式确实对逆向查看代码造成了一定难度,如下图所示。

1.查看一个Activity

可以看到当前页面添加了点击事件,但是使用Lambda表达式之后就有点看不清楚逻辑了,首先我们点击第一个AgentActivity$$Lambda$1类,

如图所示在点击OnClick点击事件里面又回调了AgentActivity.lambda$addListner$0这个方法

然后点击查看下面AgentActivity.lambda$addListner$0的方法

然后就能判断出这个就是 tvAgent.setOnClickListener点击事件执行的方法了,而且目前发现了一个规律就是

Lambda$1.lambdaFactory$对应的就是 lambda$addListner$0

lambdaFactory是从1开始的,addListner是从0开始的,所以当反编译查看代码的时候碰到

Lambda$1.lambdaFactory$就可以直接找到当前页面lambda$addListner$0来查看点击事件做了什么操作

Lambda$1.lambdaFactory   >>> lambda$addListner$0

Lambda$2.lambdaFactory   >>> lambda$addListner$1

Lambda$3.lambdaFactory   >>> lambda$addListner$2

Lambda$4.lambdaFactory   >>> lambda$addListner$3

就可以知道其他的点击事件那就全部都是对应的,分析完毕,可以开始逆向工程了。

相关文章

网友评论

      本文标题:Android逆向反编译Lambda代码还原以及查看

      本文链接:https://www.haomeiwen.com/subject/zcdbsftx.html