HNHuangJingYU 发表于 2021-9-29 19:53

《攻防世界》MOBILE--easyjava

本帖最后由 HNHuangJingYU 于 2021-9-29 20:37 编辑

1. 将easyjava.apk拉进JEB进行分析进入启动页看到了熟悉的判断逻辑,如图1,分析后知道只要让这个 StringBuilder 返回 wigwrkaugala 就 ok 了


2. 因为要逆向算法所以我将代码拉进了 AS 比较好分析,简化后代码,如图2


3. 其实逻辑很简单,就是将 flag的每个字符进行加密,首先进行正向分析发现流程如下:
(c()是静态 a 函数)
1. bClass.a(str) -> c()2. aClass.a(bClass.a(str)) -> b()
那么我们简单的先逆向还原流程:
1. aClass.a() - ->b()2. bClass.a(aClass.a()) -> c()
嗯,走进具体方法进行逆向,如图3、4

4. 逆向函数写好后进行调用还原:如图5

运行结果 获取 flag:venividivkcr
页: [1]
查看完整版本: 《攻防世界》MOBILE--easyjava