首次安卓逆向
2021/4/13
1812190328 吴烨峰 安全1801
实验内容
学会使用apktool, keytool, jarsigner等工具
一:为后一位同学编写一个点击按钮出现Toast的app,并以apk的形式发送给学号后一位同学(最后一位同学发给第一位同学)
代码如下,点击按钮后会弹出Toast,内容是“夏冰你好,我是吴烨峰”
效果如下:
二:对前一位同学发来的apk进行逆向,并将Toast中的文字改为自己的学号+姓名
收到上一位同学葛雪颖发来的文件
1.先打开看看,看看程序的结构与内容
可以看到Toast显示的信息是gexueying
2.进行反汇编
用cmd进入文件所在文件夹
使用命令 apktool d app-debug.apk -o ./decode -f
指令的解释 app-debug.apk是目标文件 将它解码输出 输出目录为decode -f是直接覆盖
可以看到执行完命令后,桌面上多了一个decode文件夹,进入看看
这边可以看到有这些文件夹或者文件,我们需要的是smali,进入后,一直到此界面
这边可以看到很多smali文件,其中有一个文件
用记事本打开
画红线的地方就是我们刚才看到的Toast显示信息
3.更改字符串为1812190328-wuyefeng,并保存文件
4.打包程序
在刚才的cmd窗口中输入以下命令
apktool b ./decode -o fake.apk -f
此时看到了已经多了一个fake.apk文件,这个就是我们保存更改过后的文件,并且已经经过编译,是apk类型的文件
但是它没法直接进行安装,因为它的key证书,并不是唯一的
所以我们需要手动给它添加一个key
5.手动添加签名证书
这里需要用到keytool,在cmd窗口中,输入以下命令
keytool -genkeypair -keyalg RSA -validity 100 -keystore rsa.keystore -alias mykeypair
命令含义就是生成一个方式为RSA加解密,有效期100天的证书文件