Android 逆向学习#1_android设计一个具有两个页面的程序,将第1个页面的学号姓名传递到第2个页面,这两-程序员宅基地

技术标签: Android逆向  android  

Android 逆向学习#1

学会使用apktool, keytool, jarsigner等工具

1、为后一位同学编写一个点击按钮出现Toast的app,并以apk的形式发送给学号后一位同学
2、对前一位同学发来的apk进行逆向,并将Toast中的文字改为自己的学号+姓名。
3、进一步修改前一位同学apk,将app名字改为自己的学号。

PS:我发给下一个同学的Toast是Rick&Morty

一、查看程序结构

收到上一位同学的文件在这里插入图片描述
尝试安装到nox里运行,结果如下:
在这里插入图片描述

也就是说,要找到********这串字符串。
我们根据页面布局可以得知,这串字符串来自button的监听时间,应该在MainActivity里,可以从这里出发。

二、反汇编程序

用apktool进行java的反汇编,在cmd中使用时用绝对路径或者在系统环境变量中添加目录
在这里插入图片描述
使用命令apktool查看相关命令
在这里插入图片描述
输入命令

apktool d app-debug.apk -o ./decode -f

意思是选定app-debug.apk作为目标解码输出为子目录decode,-f是直接覆盖
在这里插入图片描述
可以看到生成新文件decode
在这里插入图片描述
在decode目录下按照如下路径可以找到MainActivity
在这里插入图片描述
在这里插入图片描述
用记事本或者其他java代码查看工具(UE)等打开,可以找到字符串
在这里插入图片描述
在这里更改为学号+姓名
在这里插入图片描述
保存并关闭

三、打包程序

在cmd中用apktool打包,使用命令

apktool b ./decode -o fake.apk -f

意思是选定decode打包编译成fake.apk文件
在这里插入图片描述
这时候生成了一个apk文件,但是这个文件是无法安装成功的,因为它缺少数字签名,是无法认证的
在这里插入图片描述
在这里插入图片描述

那么我们手动添加一个key即可

四、添加签名

我们用keytool来添加签名,keytool.exe是jdk编译自带的,在windows中直接搜索,打开目标位置可以看到;jarsigner也在这个目录下,将这个bin的路径添加到环境变量即可
在这里插入图片描述
在这里插入图片描述
输入keytool,查看建议使用说明,或者用下面的-command_name -help获取详细用法
在这里插入图片描述
输入命令:

keytool -genkeypair -keyalg RSA -validity 100 -keystore rsa.keystore -alias mykeypair

意思是生成一个使用RSA,有效期100天的rsa.keystore文件,mykeypair用以索引证书链
自定义密钥库口令,随意填写或直接多次回车跳到最后确定选Y结束,最后可以再次回车
在这里插入图片描述

可以看到生成了一个keystore文件
在这里插入图片描述
最后使用jarsigner将key和修改后的文件合成
使用命令:

jarsigner -keystore rsa.keystore fake.apk mykeypair

在这里插入图片描述
生成新的fake文件
在这里插入图片描述

五、验证

安装成功,打开发现已经更改为我们的学号+姓名
在这里插入图片描述

六、更改文件名

现在的文件名是My Application,在Android Studio中,设定在Manifest.xml的lable中
在这里插入图片描述
打开Manifest文件,查找label或者其他查找方式找到这段字符,更改为自己的学号
在这里插入图片描述
在这里插入图片描述
保存,并重新进行步骤三至五
可以看到安装的程序名已经变了
在这里插入图片描述
内容也是修改后的内容
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Cloud_Player/article/details/115665298

智能推荐

【css3文字阴影+盒子阴影+过渡+2d转换+3d转换】_html box-shadow怎么设置transition-程序员宅基地

文章浏览阅读280次,点赞2次,收藏4次。css3文字阴影+盒子阴影+过渡+2d转换+3d转换_html box-shadow怎么设置transition

36 idea控制台日志自动换行(idea控制台换行)-程序员宅基地

文章浏览阅读7.1k次,点赞10次,收藏3次。

java mission 篡改后 网速很慢_什么原因会导致网速变慢 网速不行怎么解决【详细介绍】...-程序员宅基地

文章浏览阅读193次。什么原因会导致网速变慢?网线过长会引起网络信号衰减,沿路干扰增加,使传输数据容易出错,因而会造成上网卡住、网页出错等情况,给上网者造成网速变慢的感觉。下面,我们就来看看网速不行的原因汇总。一、网络自身问题您想要连接的目标网站所在的服务器带宽不足或负载过大。处理办法很简单,请换个时间段再上或者换个目标网站。二、网线问题导致网速变慢我们知道,双绞线是由四对线按严格的规定紧密地绞和在一起的,用来减少串扰..._java 将wifi速度变慢

XMPP部分经验_xmpproommessagecoredatastorageobject-程序员宅基地

文章浏览阅读884次。1、首先是调用viewdidload方法视图加载完成里面的的方法2、先刷新然后从数据库里面获取所有的聊天记录(initBubbleDatas),这个方法写在刷新的方法里面,3、通过上面的方法将消息结构转换成聊天结构(structureBubbleDatasWithMessages),这个方法处理的对象是一个XML流,就是通过这个方法将里面的元素分类整理出来,比如消息类型(MJLMessag_xmpproommessagecoredatastorageobject

[ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction problem] [JZOJ100148] 胖头鱼与方程【数学】【牛顿恒等式】_甜甜的花环胖头鱼c++-程序员宅基地

文章浏览阅读606次。Description以下为魔改版题面n, m ≥ 1, n ≤ 6, n+m ≤ 10, |ai| ≤ 120保证|bi| < 10^12Solution首先,此题的关键是一个叫牛顿恒等式的东西。考虑多项式F(x)=anxn+an−1xn−1+⋯+a1x+a0F(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0F(x)=an​xn+an−1​x..._甜甜的花环胖头鱼c++

[转]软件安装管家软件安装目录-程序员宅基地

文章浏览阅读7k次,点赞4次,收藏13次。软件导航电脑办公机械设计地理信息编程类数据统计室内/外设计影视动画网页设计电子绘图理科工具 平面设计建筑设计屏幕录像数据库虚拟机软件目录【电脑办公】电脑系统(U盘安装)PE系统WIN7..._软件安装管家 博客

随便推点

cloud-init实现自动扩展 磁盘分区_cloud-init 扩展-程序员宅基地

文章浏览阅读7k次。背景说明cloud-init 的一项功能是自动扩展linux的指定分区。比如linux镜像是20G,在部署instance时选择的flavor磁盘定义是40G,那么instance部署时cloud-init会自动将制定分区扩到 40G。 环境准备1) 该功能依赖growpart,所以需要在开始前,在镜像中安装包: yum install –y cloud-utils-gro..._cloud-init 扩展

ffmpeg 去除图片中的水印-程序员宅基地

文章浏览阅读3.3k次。安装ffmpeg添加仓库源:yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch...._ffmpeg去除倾斜的水印

linux查看系统网络情况 netstat_系统网络情况:-程序员宅基地

文章浏览阅读920次。基本语法netstat [选项]netstat -anp选项说明-an 按一定顺序排列输出-p 显示哪个进程在调用应用案例查看系统所有的网络服务请查看服务名为 sshd 的服务的信息。..._系统网络情况:

华为交换机重置Console口密码_华为交换机默认密码 console密码-程序员宅基地

文章浏览阅读2.6w次,点赞7次,收藏111次。华为网络设备缺省用户名为admin,密码为[email protected]或者Huawei@123bootrom默认密码一般是[email protected]或者是[email protected]测试环境:Huawei S53201.重启交换机,出现了ctrl+B后,进入启动模式。2.选择7,进入清除console密码3.选择“1.Boot with default m..._华为交换机默认密码 console密码

三种遍历:for,for-Each,Iterator_for 循环高斯遍历-程序员宅基地

文章浏览阅读400次。for-Each循环: 增强的for循环,写起来比较简洁,其实跟普通的for循环性能上没啥区别所以到现在遍历的方式有三种: for :当需要数组的下标信息时用它 for-Each : Iterator // 对于一位数组的遍历 int[] array={1,2,3,4,5}; // for(对象的类型type element :array)_for 循环高斯遍历

ImportError: cannot import name ‘scale_coords‘ from ‘yolov5.utils.general‘YOLOV5训练出错_cannot import name 'scale_coords' from 'yolov5.uti-程序员宅基地

文章浏览阅读601次,点赞11次,收藏8次。替换成如下,并且把相应位置的scale_coords换成scale_boxes。由于V5的版本问题会出现以上错误,解决办法如下。或者你可以重新写一个scale_coords。同样由于版本问题,出错。_cannot import name 'scale_coords' from 'yolov5.utils.general

推荐文章

热门文章

相关标签