Re----第一个安卓逆向

之前做Jarvis OJ上的Re的题目,分值最少的是一道安卓题目,可是我对安卓逆向一窍不通…………

链接:https://pan.baidu.com/s/1271cwGI-taQ5-8xdrIoo1Q 密码:iwwh

然后就开始第一个安卓Re,自己梳理一下最基础的流程

从网上首先下载两个工具:

dex2jar

     作用:将apk反编译成java源码(classes.dex转化成jar文件)

jd-gui

     作用:查看APK中classes.dex转化成出的jar文件,即源码文件

没错,最后可以将apk文件的源码反编译成JAVA代码的形式

第一步将手里的apk文件的文件尾改为rar或者zip,然后解压,可以看到一个文件叫classes.dex

这个文件就是我们接下去要处理的

第二步,把这个文件放到dex2jar 文件的目录下,在命令行下定位到dex2jar.bat所在目录,输入d2j-dex2jar.bat

运行之后会发现

(我之前忘记加d2j了,但结果是一样的)

因为没有添加路径(Windows 10 是真的坑)

给个链接:https://jingyan.baidu.com/article/7908e85ccccbf7af491ad26e.html  这里详细介绍了怎么添加路径

添加完后就可以看到有一大堆相关指令了

看了很多感觉有点迷糊,不过直接对文件直接操作就好

之后会看见生成了一个jar文件

最后用jd-gui打开这个文件就好了,我自己想的是JAVA和C也差不多,估计就是在main里面,如下图

然后作为一个从来没学过JAVA的人大概看一下,基本上就是有一个数组s,里面有一大堆数

然后当定义的check函数返回的是true时,可以得到flag

然后定义了一个arrayOfByte数组,如果每个元素与0x17异或后和s数组的每个元素相等,才能使check函数为ture

hint:异或再异或为本身

用python写个脚本

bingo!

猜你喜欢

转载自blog.csdn.net/qq_42192672/article/details/82528782