内容简介:最近瞅着测APP的空档,翻了翻之前买的一本讲Android安全的书,书快要翻完了,但是里面还有实际操作的部分,书里面提到的工具跟目前用到的有一些出入,借着google总算把最简单的一部分搞定了,做个记录~操作系统:win10先从一个很简单的apk包入手,一个假登录页面:
最近瞅着测APP的空档,翻了翻之前买的一本讲Android安全的书,书快要翻完了,但是里面还有实际操作的部分,书里面提到的 工具 跟目前用到的有一些出入,借着google总算把最简单的一部分搞定了,做个记录~
操作系统:win10
先从一个很简单的apk包入手,一个假登录页面:
点击登录的时候弹出提示:
代码用得是Android Studio3.5的版本,Android Studio的版本更新后,代码的书写方式也跟以前不一样了:
主页面完成后,打包成apk文件,这里我试了三种打包方式,结果都是一样的:
未签名打包:
V1方式签名的正式包:
V2方式签名的正式包:
打包完成后,找到apk包文件,
使用apktool直接反编译:
.\apktool.bat d -f .\app-release.apk -o test
解释:
d表示decode,意思是反编译,与之对应的是b ,building,编译
-f 表示force,强制删除目标目录
-o 表示输出地址
反编译后进入到test文件夹下的/smali/com/example/hellosmali中,可以看到有两个MainActivity的smali文件:
其中MainActivity$onCreate$1.smali文件中有我们希望修改的onclick操作:
修改const-string v1值为:hello smali
这里修改完成后需要重新回编译为apk包,书上说的是用Android逆向助手,但是我试过后并没有打包成功:
apktool也可以进行回编译:
这里报错了,因为高版本的Android Studio和Gradle使用了aapt2打包apk,但是apktool却是使用的aapt1打包。按照网上教的办法在gradle.properties文件添加了android.enableAapt2=false:
重新编译apk包,继续报错:
这里点报错信息后定位到了minSdkVersion,我还以为是最低版本的问题,改为20后,还是报错……
想了想,又将apktool升级到了最新版本,重新回编译,还是报错,但是错误提示已经跟之前不一样了:
删除了报错的xml文件后,又继续提示其他文件报错T_T……
本来打算下个3.0以下版本的android studio再重新打包个apk,不过后来在网上看到一个回答说可以把C:\Users\XX\AppData\Local\apktool\framework\1.apk删掉试试,抱着试试的心态删掉了1.apk,再重新回编译:
.\apktool.bat b .\test\
看着成功了,去dist目录下看果然有了新包:
将新打的包安装到Android机上,又报错:
NO_CERTIFICATES,没有签名,不能安装,那就先给apk包签个名好了,用得是jdk自带的keytool和jarsigner工具。
使用keytool工具先生成签名文件:
.\keytool.exe -genkey -alias “test” -keyalg “RSA”
解释:
-genkey 创建新密钥
-alias 密钥别名
-keyalg 生成密钥对的算法
-validity ,后面跟天数,代表创建的证书有效期,也可默认
再使用jarsigner工具进行签名:
.\jarsigner.exe -verbose -keystore C:\
Users\xxx\.keystore -signedjar C:\Users\xxx\app-debug-signed.apk C:\Users\xxx\app-debug.apk “test”
解释:
-verbose 签名/验证时输出详细信息
-keystore 密钥库位置
-signedjar 已签名的jar文件的名称
注意最后跟的是别名(alias),写错了会报错的:
最后终于生成了一个签名包:
再次安装:
提示已经存在这个包了,删除手机上的原来的app,重新安装,成功:
再点击登录按钮时,可以看到提示语已经被修改过了:
后记:
这是Android静态分析的开始,入门级的入门级,虽然简单,但是对于我这种菜鸟级的还是有不少的坑,看到预期的结果出现后还是有那么一丢丢成就感的^_^
*本文作者:梦里不知哪儿是哪儿,转载请注明来自FreeBuf.COM
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Hades:移动端静态分析框架
- Hades:移动端静态分析框架
- iOS 常用调试方法:静态分析
- iOS常用调试方法:静态分析
- so静态分析进阶练习——一个CreakeMe的分析思路
- ZooPark:Android逆向之静态分析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Algorithmic Beauty of Plants
Przemyslaw Prusinkiewicz、Aristid Lindenmayer / Springer / 1996-4-18 / USD 99.00
Now available in an affordable softcover edition, this classic in Springer's acclaimed Virtual Laboratory series is the first comprehensive account of the computer simulation of plant development. 150......一起来看看 《The Algorithmic Beauty of Plants》 这本书的介绍吧!