1、参考链接:ipa包重签名
2、tweak项目修改部分是以插件的形式存在,因此需要将插件动态库与现在的ipa包重新打包签名;
3、找到tweak后生成的动态库,参考路径为:/Library/MobileSubstrate/DynamicLibarries/xxxTweak.dylib;
4、将该dylib文件放在现有包xx.app中,与二进文件同目录;
5、使用otool -L xxxxx查看Mach-O文件的动态库加载,这里面是没有tweak动态库的,需要将xxxTweak.dylib加进来;
6、工具来了,https://github.com/Tyilo/insert_dyli[……]
Leave a reply
ipa包重签名
1、准备.mobileprovision文件,需要与当前App匹配的,如App ID、Certificates、Devices、Enabled Services等;
2、导出entitlements.plist文件:
2.1、security cms -D -i embedded.mobilep[......]<p class="read-more"><a href="https://www.yusian.com/blog/reverse/2018/11/09/0912501373.html">继续阅读</a></p> |
3、使用codesign重签名
3.1、列出证书id列表
security[......]<p class="read-more"><a href="https://www.yusian.com/blog/reverse/2018/11/09/0912501373.html">继续阅读</a></p> |
数字签名与非对称加密
1、对称加密
1.1、加密与解密用的是同一个密钥;
1.2、常见的加密方式有DES、3DES、AES等;
1.3、作用:加密
2、非对称加密
2.1、密钥成对出现,分别有公钥与私钥;
2.2、常见的非对称加密方式有RSA;
2.3、非对称加密使用公钥加密,私钥解密;
2.4、公钥公开发布给所有消息发送者,消息接收者保留私钥用于消息解密;
2.5、使用:加密
3、散列值
3.1、对消息(文件、数据)进行摘要计算;
3.2、每个消息有唯一的散列值,并且不可逆运算;
3.3、任何大小的消息进行散列计算得到的值长度是确定的;
3.4、常见的散列算法有MD4、MD5、[……]
ARM64中函数调用的基本过程
1、C语言代码
1 2 3 4 5 6 7 8 9 10 | // // main.m // lldb // // Created by 余西安 on 2018/11/1. // Copyright © 2018 yusian. All rights reserved. // void func() {[......]<p class="read-more"><a href="https://www.yusian.com/blog/assembler/2018/11/07/1648581365.html">继续阅读</a></p> |
2、ARM64汇编代码
1 | 0x100032758 : sub[......]<p class="read-more"><a href="https://www.yusian.com/blog/assembler/2018/11/07/1648581365.html">继续阅读</a></p> |
关于Cycript中打印信息不完整的问题
1、如下所示:
1 2 3 4 5 6 7 8 9 | cy# SASubviews(#0x1c32ab60) ` | Folder: | | | | | | | | | | | | | | | |[......]<p class="read-more"><a href="https://www.yusian.com/blog/reverse/2018/10/30/1057491360.html">继续阅读</a></p> |
1.1、SASubviews()内部只是简单的调用UIView的recursiveDescription方法,这里输出到止断节了,事实上后面还有很多是没有打印出来的;
1.2、网上找了一些资料,我这里[……]