一、基本概念 1.1、什么是加固 加固是为了增加应用的安全行,防止应用被破解、盗版、二次打包、注入、反编译等 1.2、常见的加固方式有 数据加密(字符串、网络数据、敏感数据等...
一、基本概念 1.1、什么是加固 加固是为了增加应用的安全行,防止应用被破解、盗版、二次打包、注入、反编译等 1.2、常见的加固方式有 数据加密(字符串、网络数据、敏感数据等...
一、什么叫动态调试 将程序运行起来,通过下断点、打印等方式,查看参数、返回值、函数调用流程等。 二、Xcode的动态调试原理 2.1、原理图 2.2、关于GCC、LLVM、G...
一、命令行工具的本质 可执行文件 跟APP内部的可执行文件差不多 二、权限问题 赋值权限 三、MachO识别 3.1、区别Mach-O文件格式 从xnu源码[https://...
一、Mach-O简介 Mach-O是Mach object的缩写,是Mac\iOS上用于存储程序、库的标准格式。 二、Mach-O格式的文件类型 可以在xnu源码中,查看到M...
第一步安装fastlane 1.1安装Xcode命令行工具 终端执行:xcode-select--install 注:如果没有安装,命令会有提示框,根据提示一步一步安装即可。...
class-dump 怎么编译不出可执行文件
iOS Tweak修改系统行为(classdump-dyld)一、Tweak修改系统行为 有一个需求是去掉手机桌面的红点显示。首先必须清楚手机桌面也是一款App SpringBoard。 直接拷贝SpringBoard: 查看加密信息:...
最近好多微信文章都推荐fastlane,自己也总结一下我使用fastlane的过程吧。其实自动化打包的工具有很多,比较流行的有Jenkins和fastlane,原来使用Jen...
@小锤子_ 可以试一下 走的是 didFinishLaunchingWithOptions 方法
iOS 3D Touch(一) Home Screen Quick Actions3d Touch是iPhone 6s+,iOS9+之后新增的功能。其最大的好处在于不启动app的情况下,快速进入app中的指定界面,说白了,就是一个快捷入口。3D touch...
遇到如下错误,说明Mac无法连接到github.com 打开finder,取到文件夹etc/hosts 更改里面的内容,在末尾加上 注意:这里的ip地址请用下面的查询的最新的...
一样 怎么解决
mac安装win10系统(靠谱)60分钟搞定请不要鄙视macbook装windows系统,我也是因为工作需要才装的双系统。勿喷~勿喷~ 附我得两台电脑配置,都是可以装上win10的 一台2016年的15寸 一台2017...
注意:这里只探讨重签名的整个过程,不一定能签名成功,重签名建议使用MonkeyApp 一、手动签名 1. 查看签名信息 2. 查看本机所有证书 3. 查看可执行文件的加密信息...
一、应用构建过程 1.编译源文件:使用Clang编译项目中所有参与编译的源文件,生成目标文件。2.链接目标文件:将源文件编译生成的目标文件链接成一个可执行文件。3.复制编译资...
为了确保安装到手机上的应用是经过认证的合法应用,以及能够根据应用得知其发布者,苹果制定了一个签名机制,所有安装到设备中的应用必须是拥有合法签名的应用。 一、app包 一个完整...
场景 假设现在有这样一个场景,我有一个根导航控制器RootNavigationController,它的根视图控制器ViewController有一个子控制器UINaviga...
@outstanding简书
asm(
"mov x0,#31\n"
"mov x1,#0\n"
"mov x2,#0\n"
"mov x3,#0\n"
"mov w16,#26\n" //26是ptrace
"svc #0x80" //0x80触发中断去找w16执行
);
iOS安全防护之ptrace反调试和汇编调用系统方法一 lldb调试原理:debugserver xcode的lldb之所以能调试app,是因为手机运行app,lldb会把调试指令发给手机的debugServer; debug...
@outstanding简书 用汇编调用
iOS安全防护之ptrace反调试和汇编调用系统方法一 lldb调试原理:debugserver xcode的lldb之所以能调试app,是因为手机运行app,lldb会把调试指令发给手机的debugServer; debug...
来源:https://www.jianshu.com/p/739408a7aae1 给section添加圆角和阴影效果,效果如下: 全部实现都在UITableView的wil...
只有一个cell的画圆角方法
if ([tableView numberOfRowsInSection:indexPath.section] == 1) {
CGPathMoveToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMaxY(bounds));
CGPathAddArcToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMinY(bounds), CGRectGetMidX(bounds), CGRectGetMinY(bounds), cornerRadius);
CGPathAddArcToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMinY(bounds), CGRectGetMaxX(bounds), CGRectGetMidY(bounds), cornerRadius);
CGPathAddArcToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMaxY(bounds), CGRectGetMidX(bounds), CGRectGetMaxY(bounds), cornerRadius);
CGPathAddArcToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMaxY(bounds), CGRectGetMinX(bounds), CGRectGetMidY(bounds), cornerRadius);
CGPathAddLineToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMaxY(bounds));
}
前言:一直有听过脚本一键打包审核,但是自己一直没在意。在微信公众号看到ios一键打包的文章,突然想想自己每次从打包到提交审核(大约都是30分钟)。自己浪费了多少时间啊! 脚本...