Android安全与逆向分析进阶

VIP免费
2024-11-14
26
0
89.61KB
17 页
5.9玖币
侵权投诉
Android 逆向
常见加密算法:
古典密码学(以字符为基本加密单元)
移位密码/错位密码
替代密码/置换密码
现代密码学(以信息块为基本加密单元)
哈希算法
非对称加密与解密
椭圆曲线
数字签名
数据分组与校验
散列函数
用于数据完整性校验
MD 消息摘要算法
SHA 安全散列算法
MAC 消息认证算法
CRC 循环冗余校验算法
对称加密算法
加密密钥==解密密钥
流密码:指加密时每次加密一位或一个字节的明文。
同步流密码
同步性 无错误传递性 主动攻击性
音频/视频数据提供版权保护
自同步流密码
自同步性 错误传递有限性
主动攻击性 明文统计扩散性
RC4/SEAL
分组密码(http://www.seacha.com/tools/):指加密时将明文分
成固定长度的组,用同一密钥和算法对每一块加密,输出也是固
定长度的密文。
常用于网络加密
安全性=>扩散/混乱原则
实现性=>软件/硬件
ECB 电子密码本模式
CBC 密文链接模式
CFB 密文反馈模式
OFB 输出反馈模式
CTR 计数器模式
DES
DESede/3DES/Triple DES
AES
TEA/XTEA/XXTEA
DEA
PBE
非对称加密算法
加密密钥!=解密密钥
公钥==>对外公开
私钥==>对外保密
私钥加密==>公钥解密
公钥加密==>私钥解密
DH 密钥交换算法
基于因子分解
RSA 数据加密/解密 数字签名
基于离散对数
ElGameal 数据加密/解密 数字签名
DSS 数据签名标准=>DSA 数字签名
ECC 椭圆曲线加密算法
使用对称加密算法对数据进行加密与解密,使用非对称加密算法
对对称加密算法所使用的密钥进行加密与解密。
数字签名
私钥==>签名
公钥==>验证
单向认证
双向认证
RSA
DSA
ECC+DSA==>ECDSA 椭圆曲线数字签名算法
认证/鉴别服务
数据完整性服务
抗否认性服务
数字证书
消息摘要算法
对称加密算法
非对称加密算法
数字签名
鉴别/认证
数据保密性
数据完整性
抗否认性
证书管理
KeyTool
构建自签名证书
构建 CA 签发证书
OpenSSL
根证书
服务器证书
客户端证书
密钥库==>管理私钥
数字证书==>管理公钥
加密/解密
签名/验证
X.509
服务器数字证书
协议加解密分析:
协议与安全协议(分析协议关键是先抓包,再解密)
概念:协议就是服务器与客户端交互信息的一种规则
客户端和服务器连接:实质都是连接服务器的 IP 地址和开放端口
POST:客户端提交数据给服务器
GET:客户端获取服务器数据
http,ftp,smtp:应用层
tcp,udp:传输层
IP:网络层
帧相关协议:数据链路层
HTTP/HTTP2
HTTPS 协议=>https 是基于 sll/tls 的 http 协议
ssl 协议=>安全套接字层
tls 协议=>传输层安全
socket=>tcp/udp=>http/ftp
抓包工具:
http/https
fiddler/charels
socket/tcp
抓网卡
wireshark/sniffer
防止代理
小米 wifi+wpe
抓不到包原因:
1、如网游副本,有的就是没有包。
2.、iddler 只能抓 HTTP/HTTPS,如果是 socket 抓不到的。
3、在动态调试时,没有走到发包的地方。
tcpdump+Wireshark:
adb shell tcpdump -p -vv -s 0 -w /sdcard/capture.pcap 开始抓包
ctrl+c 结束抓包
adb pull /sdcard/capture.pcap 导出文件
在实际应用中,利用他人的第三方对我们大有裨益,可以很大程度降低我们的
业务成本,很明显的几个例子:
1、制作自动登录工具,协议加密算法在so 中,我们可以调用它的加密函数,
来发送我们自己的协议。
2.、相对他人 so 中某个函数情况进行深入分析,如果在别人软件中分析,不但
信息繁杂,而且要受制于人。我们可以调用它的某个函数,放在自己开发的软
件中进行分析。
3、感觉他人 so 的功能非常不错,想加在自己项目中。
可见,能够调用第三方 so 会帮助我们很快解决利用重写看似麻烦的问题,一般
来说,调用第三方 so 加进自己项目,有两种典型需求,第一个就是拥有别人原
工程,意图深入了解,并二次开发,这是开发性需求;第二个就是没有别人原
工程,甚至只有1个 so,意图利用这个 so 的部分函数帮助我们完成某个目地,
这是逆向性需求。
Dex文件结构:
1.dex文件中的数据结构
u1/uint8_t=>表示 1 字节的无符号数
u2/uint16_t=>表示 2 字节的无符号数
u4/uint32_t=>表示 4 字节的无符号数
u8/unit64_t=>表示 8 字节的无符号数
sleb128=>有符号leb128,可变长度为 1-5 字节
uleb128=>无符号符号leb128,可变长度为 1-5 字节
uleb128p1=>无符号leb128 值加1,可变长度为 1-5 字节
2.dex文件整体结构
struct DexFile {
DexHeader
DexStringId
DexTypeId
DexProtoId//对 DexType 进一步说明
DexFieldId
DexMethodId
DexClassDef
DexData
DexLink
}
以索引为线索
3.DEX 的内存映射
与静态类似,只是变为xxxItem 结构
ClassObject 结构由六个部分组成:
PDvmDex:// DEX 文件字段
super://超类
sfields://对应 DexClassData 结构中的 staticFields 静态字段
iFields://对应 DexClassData 结构中的 instanceFields 实例字段
directMethods://对应 DexClassData 结构中的 directMethods 直接方法字段
virtualMethods:///对应 DexClassData 结构中的virtualMethods 虚方法字段
DexClassDef : class_def_item
DexClassData: class_data_item
DexFiled(staticFields): sfileds
DexFiled(instanceFields): ifileds
DexMethod(directMethods):directMethods
DexMethod(virtualMethods):virtualMethods
DexCode: code_item
ELF 文件结构:
linux elf 文件、windows pe 文件、 Android ELF 文件。
因为 Android 操作系统内核采用 Linux 内核框架实现。
ELF 文件整体结构:
ELF Header-->ELF 文件头的位置是固定的
Segment Header Table-->ELF 程序头描述的是段的相关信息
.init
.text
.rodata
.data
.symtab 符号表
.line
.strtab 字符串表
Section Header Table-->ELF 节头表描述的是节区的信息
动态用段,静态用节
readelf 的使用:
-h:解析 ELF 文件头
-l :解析程序头表
-S :解析节头表
arsc 文件:
arsc 文件解析
xml 文件:
xml 文件解析及工具
xml 加密
xml 和 arsc 简单十六进制加密:
摘要:
展开>>
收起<<
Android逆向常见加密算法:古典密码学(以字符为基本加密单元)移位密码/错位密码替代密码/置换密码现代密码学(以信息块为基本加密单元)哈希算法非对称加密与解密椭圆曲线数字签名数据分组与校验散列函数用于数据完整性校验MD消息摘要算法SHA安全散列算法MAC消息认证算法CRC循环冗余校验算法对称加密算法加密密钥==解密密钥流密码:指加密时每次加密一位或一个字节的明文。同步流密码同步性无错误传递性主动攻击性音频/视频数据提供版权保护自同步流密码自同步性错误传递有限性主动攻击性明文统计扩散性RC4/SEAL分组密码(http://www.seacha.com/tools/):指加密时将明文分成固定...
声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
相关推荐
-
VIP免费2024-11-29 2
-
VIP免费2024-11-29 8
-
VIP免费2024-11-29 9
-
VIP免费2024-11-29 8
-
VIP免费2024-11-29 9
-
VIP免费2024-11-29 11
-
VIP免费2024-12-14 82
-
VIP免费2024-12-14 59
-
VIP免费2024-12-15 54
-
VIP免费2025-01-13 84
分类:计算机
价格:5.9玖币
属性:17 页
大小:89.61KB
格式:DOCX
时间:2024-11-14
作者详情
-
IMU2CLIP MULTIMODAL CONTRASTIVE LEARNING FOR IMU MOTION SENSORS FROM EGOCENTRIC VIDEOS AND TEXT NARRATIONS Seungwhan Moon Andrea Madotto Zhaojiang Lin Alireza Dirafzoon Aparajita Saraf5.9 玖币0人下载
-
Improving Visual-Semantic Embedding with Adaptive Pooling and Optimization Objective Zijian Zhang1 Chang Shu23 Ya Xiao1 Yuan Shen1 Di Zhu1 Jing Xiao25.9 玖币0人下载