anti-DYLD_INSERT_LIBRARIES:

阻止tweak依附。

https://pewpewthespells.com/blog/blocking_code_injection_on_ios_and_os_x.html

dylib的注入一般是通过DYLD_INSERT_LIBRARIES这个环境变量设置的。

有三种方法将二进制文件设置为“受限型”(针对动态链接器):

1、set restricted status by entilements(根据授权(entitlement)设置受限的状态),此项仅适用于OSX上具有特殊权限的应用上。

2、setuid和setgid:任何使用这两个调用的都被dynamic linker标记为受限型

3、Restricted Segment of Header:在二进制文件头中新增__RESTRICT段和__restrict节

iOS应用签名分析:

https://wereadteam.github.io/2017/03/13/Signature/

http://blog.csdn.net/HackerSaillen/article/details/64906881

设置签名机制的目的:严格控制第三方App的安装,保证每一个安装到iOS上的应用都是经过苹果官方允许的。

非对称加密:通常我们说的签名(也即数字签名)是通过非对称加密算法实现的。对称加密是通过同一份秘钥加密解密,非对称加密有两份密钥,公钥和私钥。通过公钥加密的数据要私钥才能解开,通过私钥加密的数据通过公钥才能解开。

数字签名:数字签名的作用是我对某一份数据打个标记(签名),然后将数据发送给其他人,其它人通过验证签名,知道数据是经过我认证的且中间没被篡改过。

非对称加密的原理限制被加密的数据不能太大,若是要对大的数据加密,就需要改成对它的的特征值签名,效果是一样的。

计算文件摘要的算法必须满足两个条件:1,当原始数据有任何变化,计算出的摘要值都会变化;2,摘要要足够短。

results matching ""

    No results matching ""