针对ipa的nm和grep命令检查

最近跟某加密的技术同学对接,学到一种静态检测ipa上大多使用nm和grep命令,达到出的判断。

比如iOS到出ipa文件之后, 修改后缀改为.zip,解压后好到Payload文件,文件夹包含工程同命文件, 右键显示包内容,会打开一个新的文件夹(目标文件夹)。

在目标文件夹中, 会发现图片资源,plist文件,Frameworks文件夹, 工程同命文件,多语文件,证书等等。

安全检测工具扫描此文件是用于静态扫描, 比如plist文件用于检查是否权限请求是否配对, 一些app设置。

其中还有针对Frameworks和工程同命文件的检测, 

举个栗子:

比如应用内要求数据库明文存储, 静态检测的方法是

nm -pa  工程同名文件 | grep sqlite3_open    


具体执行

检测当前编译后文件,是否含有sqlite3_open句柄。

但是这种静态检测也存在问题, 就是针对集成的三方文件也能这样用, 比如上述涉及到sqlite3_open,但是并没有涉及sqlite3_getKey  检测工具就提示存在数据库明文存储。


特别简单粗暴。。。

想一些三方库,比如YY系列的Cache库,某度定位SDK等涉及到缓存三方库, 其实以前是都不支持加密方式的.


百度定位SDK

特别说明一下某度定位SDK,是存在sqlite3_open语句的 , 但是不存在sqlite_getkey,会涉及到数据库明文存储,但是SDK技术的童鞋说,已经删除调数据库引用,下一版本清空会删除这个类。

你可能感兴趣的:(针对ipa的nm和grep命令检查)