zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

2023-03-14 22:58:17 时间

往期文章


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


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


安卓逆向 -- IDA基本用法


安卓逆向 -- IDA动态调试


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


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


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


0a2653c851af460fa595bd959398a8f1.png


二、分析SO文件


1、继续查看signatureparams函数内容


0eacb84100b54626af849e6b562bf92a.png


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


2d65d23f6d4748949b924e4057485923.png2e9b90b2ca334476abebe75bafe6eeaa.png


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


4cebaac233b3433da32a72337a77fc60.png


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


6de278e6d6694ce5bb08e7e842b7e74b.png


三、修改SO文件


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


7a399525ddec4b77923c464820b33738 (1).png7a399525ddec4b77923c464820b33738.png


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


8ec4f2997fb246878c34ecd6d122b7c6.png


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


9fe5be4cd1d694756b69c151d1668a5f.png


禁止非法,后果自负