这篇文章给大家介绍Android中怎么实现静态分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。先从一个很简单的apk包入手,一个假登录页面:点击登录的时候弹出提示:代码用得是Android Studio3.5的版本,Android Studio的版本更新后,代码的书写方式也跟以前不一样了:主页面完成后,打包成apk文件,这里我试了三种打包方式,结果都是一样的:未签名打包:V1方式签名的正式包:V2方式签名的正式包:打包完成后,找到apk包文件,使用apktool直接反编译:.ap免费云主机域名ktool.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:UsersXXAppDataLocalapktoolframework1.apk删掉试试,抱着试试的心态删掉了1.apk,再重新回编译:看着成功了,去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:Usersxxx.keystore -signedjar C:Usersxxxapp-debug-signed.apk C:Usersxxxapp-debug.apk “test”解释:-verbose 签名/验证时输出详细信息-keystore 密钥库位置-signedjar 已签名的jar文件的名称注意最后跟的是别名(alias),写错了会报错的:最后终于生成了一个签名包:再次安装:提示已经存在这个包了,删除手机上的原来的app,重新安装,成功:再点击登录按钮时,可以看到提示语已经被修改过了:关于Android中怎么实现静态分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
半夜Server 2008R2安装MS17-010补丁时,重启系统 发现系统密码忘记了还好本地登录的安全策略留了一个guest用户本地搭建了DVWA WEB***测试环境 权限为system通过漏洞上传过狗一句话******权限为system权限可以创建用户 …
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。