安卓逆向 -- 绕过SO层签名验证

简介: 安卓逆向 -- 绕过SO层签名验证

往期文章


安卓逆向 -- NDK开发实现MD5算法


安卓逆向 -- 调用其他APK的SO文件


安卓逆向 -- IDA基本用法


安卓逆向 -- IDA动态调试


安卓逆向 -- 实现SO层签名验证


SO层加验证就可以防止别人了么?俗话说防君子不防小人,这次我们来做一次“小人”。。。。


一、按上节课内容将SO文件导入,会提示验证错误,


0a2653c851af460fa595bd959398a8f1.png


二、分析SO文件


1、继续查看signatureparams函数内容


0eacb84100b54626af849e6b562bf92a.png


2、函数最前面加了一段验证,双击byte_2c223查看字符串内容


2d65d23f6d4748949b924e4057485923.png 2e9b90b2ca334476abebe75bafe6eeaa.png


3、切换到十六进制,正好是验证错误


4cebaac233b3433da32a72337a77fc60.png


4、回到汇编代码,这里也有一个不等于跳转(jnz)


6de278e6d6694ce5bb08e7e842b7e74b.png


三、修改SO文件


1、我们反向操作,将jnz修改为jz(等于跳转),点击Edit--Patch program--Assemble,修改后点击OK


7a399525ddec4b77923c464820b33738 (1).png 7a399525ddec4b77923c464820b33738.png


2、保存,Edit--Patch program--Apply patches to input file


8ec4f2997fb246878c34ecd6d122b7c6.png


3、重新载入SO文件,成功输出我们要获取的内容


9fe5be4cd1d694756b69c151d1668a5f.png


禁止非法,后果自负

目录
相关文章
|
4天前
|
存储 Java API
Android 浅度解析:mk预置AAR、SO文件、APP包和签名
Android 浅度解析:mk预置AAR、SO文件、APP包和签名
92 0
|
4天前
|
算法 Android开发
Android签名算法的原理
Android签名算法的原理
22 0
|
4天前
|
编解码 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
69 1
|
4天前
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
38 2
|
4天前
|
Android开发
Android 获取签名信息
Android 获取签名信息
12 0
|
4天前
|
安全 Android开发
修改Android系统的签名
修改Android系统的签名
22 0
|
4天前
|
安全 Android开发
Android 系统签名
Android 系统签名
18 0
|
4天前
|
安全 Android开发 数据安全/隐私保护
Android 如何获取系统签名 并使用系统签名
Android 如何获取系统签名 并使用系统签名
15 2
|
4天前
|
存储 安全 Ubuntu
Android 生成平台应用签名keystore文件
Android 生成平台应用签名keystore文件
9 0
|
安全 网络协议 网络安全