![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 57
zhangjianming2018
这个作者很懒,什么都没留下…
展开
-
Android Studio 项目引入ProtoBuf(附序列化与反序列化)
打开CMD 进入 protobuf-3.21.5\java 目录下, 输入命令: mvn package 也可以直接进入此文件夹中按住shift+鼠标右键选择在此处打开命令窗口再输入命令,然后要等待一会,最终出现了成功的窗口 如图。一直听说protobuf的优点 体积小 速度快 是这个的几十倍 那个的上百倍,一直以来的项目场景也很少遇到需要如此高性能的通信,但是也需要研究一下,万一哪天要写个 IM 呢,神器 就是神器。然后把这个文件放入工程里吧,要跟上面proto里包的目录一致!原创 2022-09-12 02:11:56 · 1108 阅读 · 1 评论 -
基于xposed框架hook使用
我不怕千万人阻挡,只怕自己投降。转载 2022-06-16 00:05:26 · 4091 阅读 · 1 评论 -
fiddler5+雷电模拟器4.0.82抓包设置
之前使用的fiddler4和雷电模拟器3进行抓包,最近在使用模拟器访问app内嵌的网页(vue编写的)时发现雷电3无法访问加载vue编写出的网页。所以决定换到雷电4。当前下载的版本是雷电模拟器4.0.82。按照之前的配置雷电3的方式配置雷电4的代理后发现无法使用fiddler进行抓包,根据网上大佬们的指导,进行多次尝试,最后得以成功。将此次抓包配置步骤记录下来,以便后续查看。原因分析:雷电4使用的是安卓7,安卓7对用户自行安装的证书不再信任,所以造成无法抓包。因此解决方式就是将证书制作成为系统证书。原创 2022-05-19 18:13:07 · 3677 阅读 · 1 评论 -
Android模拟器 7.1 (64) 以上版本安装xposed框架
Android模拟器 7.1 (64) 以上版本安装xposed框架原创 2022-05-18 20:40:31 · 10031 阅读 · 0 评论 -
Dalvik字节码小记_const/4 const/16 基础
Android逆向分析很重要。const/4 v1, 0x1 这里大家应该知道 v1=1。但是真真正正想过为什么?也许很多人都知道,这里是写给不知道的。首先4代表4字节,那么就是4位的。所以呢 v1=0*4+1=1const/16 v2, 0x10 这里的话,16字节,那么16位对吧。所以v2 = 1*16+0 = 16const/16 v3, 0x28 16字节,16位。v3 = 2*16+8 = 40;这里就解释完了。后面给点dalvik的实例吧。.local 4 ...原创 2022-05-10 10:56:59 · 2980 阅读 · 0 评论 -
Android逆向学习知识体系(四)
第三阶段:Android 漏洞分析和挖掘:学习常见的漏洞类型和原理。例如堆溢出,栈溢出,UAF等,可以参考漏洞分析相关书籍;关注Android Security Bulletin,根据提供的diff分析漏洞成因;学习并调试以前的经典漏洞;学习漏洞挖掘fuzzing思路,参考书籍推荐《Android安全攻防权威指南》;病毒分析与病毒脱壳实战;Android 虚拟机技术、系统源码分析、刷机机制介绍、制作ROM刷机包:ASP代码注入式写法;Android 免root进行h.原创 2022-05-07 21:49:51 · 717 阅读 · 0 评论 -
Android逆向学习知识体系(三)
第二阶段:Android 逆向进阶学习:Android 系统结构深入分析,自定义 ClassLoader,自定义注解和元注解原理分析;了解AndroidNDK,静态注册,动态注册,SO加载分析,App保护策略去除霸哥磁力搜素APK签名验证,一键去除签名验证,静态代理,动态代理Hook Activity启动函数,Hook签名验证函数介绍xposed框架:Xposed框架:绕过验证码注册Xposed框架:登陆劫持Xposed框架:篡改IMEI信息介绍CydiaSubstr原创 2022-05-07 21:48:57 · 1011 阅读 · 0 评论 -
Android逆向学习知识体系(二)
第一阶段:Android 基础知识回顾:回顾Android 开发编程,深入理解Android系统原理和层次结构,深入分析Handler源码和原理;回顾Java,C/C++,Kotlin 在Android开发中必用的语言,了解几种语言的混淆后的特性;回顾Android IPC和JNI的底层原理和热更新技术回顾Native开发要点,使用C++结合NDK完成Android Native开发;回顾Android开发中常用的 AMS、PMS、WMS原理;回顾Android开发中 Google的原创 2022-05-07 21:47:03 · 246 阅读 · 0 评论 -
Android逆向学习线路知识体系(一)
此篇整理了最完整的《Android逆向学习线路知识体系》。希望给迷糊的入门者指出一个明确的方向。关于Android逆向、破解、脱壳、反逆向、反破解 等知识,网上没有完整的资料,也没有相关的课程。完整的知识体系和学习大纲,都是过来人总结的经验,逆向方面没人总结,今天我来总结一下完整的知识体系框架。讲一下关于Android安全工程师需要具备的能力,以及想要从事Android逆向开发应该如何着手学习。最近我发现一些通过培训班出来面试的,纯粹的骗子,连Android工程都不会创建,有几个还没听说过R原创 2022-05-07 21:44:41 · 1020 阅读 · 0 评论 -
ADB install 失败的可能原因
有时候在手机上卸载了应用,再用adb安装时候 虽然命令行提示成功,但应用并未安装到手机。C:\Users\Administrator>adb install -t D:\AndroidKiller_v1.3.1\projects\****.apkPerforming Streamed InstallSuccess换了另一部手机再次尝试 可以安装成功, 可以排除是APK 的问题。基本上可以确定在手机点击删除应用的方式不干净彻底,那要用adb 再次彻底删除残留包。解决方法C:\U原创 2022-05-06 11:33:34 · 5101 阅读 · 0 评论 -
用AndroidStudio动态调试smali
思路:APK-->反编译为Smali文件-->导入Android Studio里进行动态调试一、使用AndroidKiller,反编译为Smali文件点击工程管理,右键Smali—>打开方式—>打开路径 二、复制上一步的smali文件夹,到其他文件(这里我新建了app-debug文件夹)并重命名为src三、在AndroidKiller里查看包名和MainActivity记住项目的package路径,如果application节点没有开启d...原创 2022-04-30 17:30:29 · 3398 阅读 · 6 评论 -
使用 apktool 对apk 签名
使用 apktool 对apk 签名原创 2022-04-28 19:02:50 · 2513 阅读 · 0 评论 -
Apktool 回编译出现No resource identifier产生compileSdkVersionCodename等错误
apktool 回编译的时候出现:D:\AndroidKiller_v1.3.1\bin\apktool\apktool>java -jar apktool_2.6.1.jar b --use-aapt2 myapplication -o myapplication.apkI: Using Apktool 2.6.1I: Checking whether sources has changed...I: Checking whether resources has changed...I:原创 2022-04-28 16:44:48 · 1477 阅读 · 0 评论 -
Android killer 回编译失败
当前 Apktool 使用版本:Apktool正在编译 APK,请稍等...>I: Using Apktool 2.2.3>I: Smaling smali folder into classes.dex...>I: Building resources...>W: invalid resource directory name: D:\AndroidKiller_v1.3.1\projects\app-release\Project\res navigation&...原创 2022-04-27 21:10:11 · 2504 阅读 · 0 评论 -
理解虚拟机(Android 虚拟机进化史)
版权声明:本文为CSDN博主「怪伽先森」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/u011033906/article/details/117806349梳理一下各个 Android 版本的 虚拟机和编译策略1. Dalvik or ART?Android 4.4 以前用的是 Dalvik 虚拟机,Android 4.4 开始引入 ART 虚拟机。Android 4.4 版本上两种运行时环境转载 2022-04-27 16:41:12 · 2051 阅读 · 0 评论 -
理解APK 安装流程
/data/app:存房用户安装apk的目录,安装时,把apk拷贝到这里/data/data:应用安装完成后,在/data/data目录下自动生成和APK包名相同的文件夹,用户存放应用程序的数据/data/dalivk-cache:存放apk的odex文件,便于应用启动时直接执行具体安装过程如下:首先,复制apk安装包到/data/app下,然后校验apk的签名是否正确,检查apk的结构是否正常,进而解压并且校验apk中的dex文件,确定dex文件没有被破坏后,再把dex优化...原创 2022-04-27 14:39:49 · 679 阅读 · 0 评论 -
深入详解Apk编译打包流程
前言身为一个Android开发,一定要了解apk编译打包流程;那么今天我们就来学习下;apk的编译流程1、apk文件apk是Android Package的缩写; 解压apk文件后包含AndroidManifest.xml、assets目录、classes.dex(还可能有 classes2.dex,classes3.dex...classesN.dex)、lib目录、META-INF目录、res目录和resources.arsc; classes.dex 是.dex文件; r..原创 2022-04-27 13:42:34 · 3478 阅读 · 0 评论 -
Attempt to invoke virtual method ‘void androidx.appcompat.app.ActionBar.setTitle(java.lang.CharSeque
具体错误如下D/AndroidRuntime: Shutting down VME/AndroidRuntime: FATAL EXCEPTION: main Process: com.zjm.myapplication, PID: 6588 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zjm.myapplication/com.zjm.myapplication.footNavigat原创 2022-04-14 17:49:02 · 4824 阅读 · 4 评论 -
Android开发 报错: xxx does not have a NavController set on xxx
在Activity的onCreate生命周期里执行下列代码,导致 xxx does not have a NavController set on xxx 报错I/art: Do partial code cache collection, code=57KB, data=58KBI/art: After code cache collection, code=53KB, data=56KBI/art: Increasing code cache capacity to 256KBD/Andro原创 2022-04-14 17:26:50 · 1764 阅读 · 0 评论 -
Android Studio 控制台中文乱码
修改设置追加 -Dfile.encoding=UTF-8添加完上述文件和代码后,关闭文件,并重新同步工程和运行(忽略此步骤再次打开Studio会报错),再关闭Android Studio,再次打开即可。原创 2022-02-10 17:54:18 · 5930 阅读 · 1 评论 -
Gradle编译时下载依赖失败解决方法
下载依赖很慢 甚至失败如下如果Gradle在编译的时候没有在本地仓库中发现依赖,就会从远程仓库中下载,默认的远程仓库为mavenCentral(),也就是http://repo1.maven.org/maven2/,但是往往访问速度特别慢,不FQ经常会下载超时或者需要很长时间导致Build失败,因此,可以用国内的仓库代替:阿里的仓库地址:http://maven.aliyun.com/nexus/content/groups/public/ OSChina的仓库地址:http://maven.原创 2022-02-09 22:56:18 · 2143 阅读 · 0 评论 -
Android Studio 启动错误
今天用360电脑管家优化了一些启动项后,Android Studio无法启动,报错如下解决方式就是使用命令工具cmd:执行 :netsh winsock reset但是需要用管理员身份执行,简单地理解就是:重置程序通过操作系统链接网络的入口点。这个命令作用是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢复网络。这个命令的好处是可以重..原创 2022-02-09 21:54:54 · 2642 阅读 · 0 评论 -
Smali基础语法
一、Smali含义Smali是Davlik的寄存器语言,语法上和汇编语言类似. Davlik是基于寄存器的,就是说smali里的所有操作都必须经过寄存器来进行.二.Smali基本类型B—byteC—charD—doubleF—floatI—intS—shortV—voidJ—longZ—boolean三.Smali引用类型[XXX ----> array 数组eg:int[] ---> [ILxxx/yyy ----> objec...原创 2022-02-07 17:08:54 · 3729 阅读 · 0 评论 -
Android Killer反编译异常收集解决方案
使用Android Killer 反编译,出现以下异常:一、resource spec: 0x01010540当前 Apktool 使用版本:Android Killer Default APKTOOL正在反编译 APK,请稍等...>I: 使用 ShakaApktool 2.0.0-20150914>I: 正在加载资源列表...>I: 反编译 AndroidManifest.xml 与资源...>I: 正在从框架文件加载资源列表: C:\Users\Admini原创 2022-01-31 00:05:22 · 3568 阅读 · 0 评论