学会使用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或者其他查找方式找到这段字符,更改为自己的学号
保存,并重新进行步骤三至五
可以看到安装的程序名已经变了
内容也是修改后的内容
文章浏览阅读280次,点赞2次,收藏4次。css3文字阴影+盒子阴影+过渡+2d转换+3d转换_html box-shadow怎么设置transition
文章浏览阅读7.1k次,点赞10次,收藏3次。
文章浏览阅读193次。什么原因会导致网速变慢?网线过长会引起网络信号衰减,沿路干扰增加,使传输数据容易出错,因而会造成上网卡住、网页出错等情况,给上网者造成网速变慢的感觉。下面,我们就来看看网速不行的原因汇总。一、网络自身问题您想要连接的目标网站所在的服务器带宽不足或负载过大。处理办法很简单,请换个时间段再上或者换个目标网站。二、网线问题导致网速变慢我们知道,双绞线是由四对线按严格的规定紧密地绞和在一起的,用来减少串扰..._java 将wifi速度变慢
文章浏览阅读884次。1、首先是调用viewdidload方法视图加载完成里面的的方法2、先刷新然后从数据库里面获取所有的聊天记录(initBubbleDatas),这个方法写在刷新的方法里面,3、通过上面的方法将消息结构转换成聊天结构(structureBubbleDatasWithMessages),这个方法处理的对象是一个XML流,就是通过这个方法将里面的元素分类整理出来,比如消息类型(MJLMessag_xmpproommessagecoredatastorageobject
文章浏览阅读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)=anxn+an−1x..._甜甜的花环胖头鱼c++
文章浏览阅读7k次,点赞4次,收藏13次。软件导航电脑办公机械设计地理信息编程类数据统计室内/外设计影视动画网页设计电子绘图理科工具 平面设计建筑设计屏幕录像数据库虚拟机软件目录【电脑办公】电脑系统(U盘安装)PE系统WIN7..._软件安装管家 博客
文章浏览阅读7k次。背景说明cloud-init 的一项功能是自动扩展linux的指定分区。比如linux镜像是20G,在部署instance时选择的flavor磁盘定义是40G,那么instance部署时cloud-init会自动将制定分区扩到 40G。 环境准备1) 该功能依赖growpart,所以需要在开始前,在镜像中安装包: yum install –y cloud-utils-gro..._cloud-init 扩展
文章浏览阅读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去除倾斜的水印
文章浏览阅读920次。基本语法netstat [选项]netstat -anp选项说明-an 按一定顺序排列输出-p 显示哪个进程在调用应用案例查看系统所有的网络服务请查看服务名为 sshd 的服务的信息。..._系统网络情况:
文章浏览阅读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密码
文章浏览阅读400次。for-Each循环: 增强的for循环,写起来比较简洁,其实跟普通的for循环性能上没啥区别所以到现在遍历的方式有三种: for :当需要数组的下标信息时用它 for-Each : Iterator // 对于一位数组的遍历 int[] array={1,2,3,4,5}; // for(对象的类型type element :array)_for 循环高斯遍历
文章浏览阅读601次,点赞11次,收藏8次。替换成如下,并且把相应位置的scale_coords换成scale_boxes。由于V5的版本问题会出现以上错误,解决办法如下。或者你可以重新写一个scale_coords。同样由于版本问题,出错。_cannot import name 'scale_coords' from 'yolov5.utils.general