- 博客(41)
- 资源 (105)
- 问答 (1)
- 收藏
- 关注
原创 iOS小技能:自动布局实现兄弟控件N等分且宽高比例是1:N(xib 上实现)
设置 视图的X Y ,以及视图之间的间距之后 1、最后关键的一步就是 设置视图的高度等于视图的宽度(宽度可以由自动布局自动确定) 选择Ratio 即可,自己可适当修改比例2、 设置控件之间的宽度比例选中存在宽度比的控件,并设置等宽,之后进行比例修改。 iOS 父子控件的高度成一定比例关系的实现例子: 这种情况通常运用于 父亲控件的高度依赖于子控件的高度
2017-08-31 10:44:25 12936
原创 iOS小技能:调整导航条BarButtonItem与屏幕边界/titleView 的间距及常见问题的解决方案(BarButtonItem 隐藏失效)
与屏幕边界 或者与titleView 的间距 只要分别调整rightBarButtonItems 数组元素的顺序。主要利用UIBarButtonItem 的UIBarButtonSystemItemFixedSpace 系统控件 UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]
2017-08-29 11:26:26 14790
原创 iOS小技能: UISearchBar 搜索框使用教程(1、设置_UISearchBarSearchFieldBackgroundView 控件的圆角2、去掉UISearchBar搜索框的放大镜)
+ (UISearchBar*)homesearchBar { UISearchBar *searchBar = [[UISearchBar alloc]init]; [searchBar setImage:[UIImage imageNamed:@"search"] forSearchBarIcon:UISearchBarIconSearch state:UICont
2017-08-29 11:22:16 12796
原创 iOS小技能:为UITableView添加UISwipeGestureRecognizer手势(尤其适用于多个cell 之间的切换)
尤其适用于多个cell 之间的切换addGestureRecognize //Right Swipe UISwipeGestureRecognizer *gestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeHandlerRight:)]; [g
2017-08-28 19:43:50 12729
原创 iOS【StreamingKit --- Play an MP3 over HTTP】
pod 'StreamingKit', :podspec => 'Dylib/StreamingKit.podspec.json'STKAudioPlayer* audioPlayer = [[STKAudioPlayer alloc] init];[audioPlayer play:@"http://www.abstractpath.com/files/audiosamples/sample.m
2017-08-24 16:35:56 11290
原创 iOS存储自定义类型到NSUserDefaults/数据库
自定义的类型需要转成NSData再存入 NSData *data = [NSKeyedArchiver archivedDataWithRootObject:model]; [[NSUserDefaults standardUserDefaults] setObject:data forKey:ModelKey]; NSData *data = [[NSUserD
2017-08-18 21:26:07 11008
原创 iOS安全:替换Xcode编译器,在编译时将用带混淆功能的clang进行编译工程
Implementing a Container View Controller
2017-08-18 09:30:52 11359 11
原创 iOS 封装 ImageScrollView
1、头文件/** 图片路径数组 **/@property (strong, nonatomic) NSArray *pics;/** pageControl 颜色 **/@property (strong, nonatomic) UIColor *pageColor;@property (strong, nonatomic) UIColor *pageSelColor;@property (
2017-08-17 11:50:47 10907
原创 how to properly setup security connection 1、iOS安全【 SSL证书验证, 让Charles再也无法抓你的请求数据】2、iOS逆向:【绕过证书校验】
效果: 经过app的SSL证书验证之后,就是这样子,别人无法获取报文,除非服务器的证书信任Charles的证书前言1、目前采用的是AFSSLPinningModePublicKey 方式验证。 2、 若想采用AFSSLPinningModeCertificate方式验证,请提供正确的cer 证书。 使用AFSSLPinningModeCertificate 方式验证的时候,获取 DER 表示
2017-08-12 14:15:24 12323 1
原创 iOS逆向小知识:使用Theos开发插件
以创建一个简单的demo为例子1、输入新建工程的命令devzkndeMacBook-Pro:~ devzkn$ $THEOS/bin/nic.plNIC 2.0 - New Instance Creator------------------------------ [1.] iphone/activator_event [2.] iphone/application_modern
2017-08-10 17:21:14 14381
原创 iOS小技能: tweak 集成CocoaAsyncSocket(建连、断开、重连、心跳、通用请求)【应用场景:微信机器人】
前言iOS越狱开发中,各种破解补丁的统称为Tweak,通常意义上我们说的越狱开发,都是指开发一个Tweak. 基本上,tweak都依赖于一个名叫cydia Substrate (以前名字也叫mobile Substrate)的动态库,Mobile Substrate是Cydia的作者Jay Freeman (@saurik)的作品,也叫Cydia Substrate,它的主要功能是hook某个App
2017-08-10 15:49:39 12580
原创 iOS逆向小技能:Theos的安装
一、简介参考博客Theos 是越狱开发工具包。logos语法简单。(整合在Xcode的iOSopendev )由于逆向工程很多东西无法自动化,因此推荐Theos二、、安装Thoes1、安装Xcode,以及command line tools 2、下载ThoesdevzkndeMacBook-Pro:opt devzkn$ export THEOS=/opt/theos
2017-08-10 15:39:07 11765
原创 iOS小技能:应用逆向工程指南(概念、工具、逆向理论)
4前言iOS越狱开发的基础就是iOS逆向工程概念、工具、理论、实践 四部分进行讲解。第一部分概念篇:1、iOS逆向工程简介iOS逆向工程,指通过分析系统的功能、结构、行为,将软件的技术实现或者设计细节推导出来的过程。 2、越狱iOS平台简介3、越狱开发-Tweak简介第二部分工具篇3、OS X 工具集 class-dump Theos的安装 \reveal\IDA1)Theos 的用法4、i
2017-08-10 10:46:28 11974
原创 iOS小技能:【发红包】使用tweak和lua脚本结合进行实现
ios-sec-wiki iOS安全的书籍讲解: 1、越狱程序的开发过程:我们开发的大部分越狱程序,都是编译成动态链接库(例如:介绍的越狱程序(Tweak)开发,就是动态链接库。),然后通过越狱平台的MobileSubstrate(iOS7上叫CydiaSubstrate)来加载进入目标程序(Target),通过对目标程序的挂钩(Hook),来实现相应的功能。2、iOS程序类型 Applicat
2017-08-08 16:07:48 11274
原创 OLLVM 源码分析笔记
# 前言基于llvm的代码混淆技术主要基于中间层代码的pass。-----![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909162854604.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTEwMTg5Nzk=,size_16,color_FFFFFF,t_70#pic_cent
2017-08-03 09:00:03 11170
原创 AFNetworking小技能:正确使用connection的RunloopMode
AFNetworking最核心的类 AFSecurityPolicy:验证HTTPS请求的证书 https://blog.csdn.net/z929118967/article/details/77115940正确使用connection的RunloopMode主线程的 RunLoop 里有两个预置的 Mode:kCFRunLoopDefaultMode 和 UITrackingRunLoopMode。这两个 Mode 都已经被标记为”Common”属性;这样任务会被 RunLoop 自动更新到所有具有”
2017-08-31 21:06:12 10944
原创 Xcode 调试技巧:忽略警告(屏蔽clang warning)【1、全局/局部屏蔽的方法 2、忽略 CocoaPods 第三方库警告 3、clang/Lexer/Parser 警告清单】
文章目录前言I、 屏蔽clang warning1.1 常用的编译警告的正式名称和说明II 、 clang warning 警告清单(建议直接command + F 速查 )2.1 clang warning2.2 Lexer Warnings2.3 Parser Warnings前言再次强调编码时应关注X-code编译器中的警告与提示本文并不是让你养成忽略clang的一些警告的习惯,编码时应关注X-code编译器中的警告与提示通过X-code编译器生成的警告与提示可帮助开发者减少代码的复杂性
2017-08-29 15:41:01 13334
原创 iOS安全:静态混淆【Static obfuscation】1、使用宏进行替换字符串2、解析mach-o中对应的section进行类名和方法名的替换
1.对抗hopper和ida的分析可以修改macho文件的某些偏移量, 让hopper和ida无法分析造成闪退2.对抗class-dump 和工具分析可以方法名类名混淆,混淆方案大致三种1)编译前用脚本批量做宏定义替换(最原始的方案:字符串替换)2)LLVM混淆逻辑混淆(花指令)3)对Mach-O__objc_classname 和 __objc_methname
2017-08-25 09:18:08 14545
原创 iOS文本输入框开发手册:1、【文本输入框的内边距设置】2、iOS文本长度计算 3、限制字符串输入(汉字\英文、数字) 4、自定义文本输入框弹框视图 5、综合案例 6、问题分析 7、系统适配
KVC /** *paddingTop paddingBottom paddingRight */ [_contentLabel setValue:[NSNumber numberWithInt:QBWcontentLabelpaddingLeft] forKey:@"paddingLeft"];
2017-08-24 09:33:51 13589
原创 iOS安全小技能:AntiJailbreak 越狱环境检测、 LLDB脱壳工具(脱壳越狱检测的app)
[self.superview.window addSubview:self.listTableView]; /// 避免被其他子视图遮盖住 [self.superview.window bringSubviewToFront:self.listTableView]; CGRect frame = CGRectMake(CGRectGetMinX(self.frame), C
2017-08-23 17:55:45 11765 1
原创 git常用命令:分支合并、撤销、提交并Push到远程仓库脚本、初始化本地项目并push到远程仓库的脚本
git-flowhttps://github.com/nvie/gitflow
2017-08-21 19:04:52 11009
原创 js小技能:批量删除新浪微博 1、利用Chrome的console删除所有微博(支持自动加载更多,支持删除快转)2、原理:setInterval() :周期调用执行函数/表达式
前言更多的IPC细节请看这里App之间的五种通信方式,它分别有URL Scheme,Keychain,UIPastedboard,UIDocumentInteractionController以及利用socket进行本地通信ios 有类似安卓的aidl?Is there equivalent of AIDL on other platforms (iOS, Blackberry...
2017-08-21 14:11:09 12310
原创 iOS逆向小知识: 将功能独立的tweak 合并到同一个deb 包(在%ctor 中根据 processName 进行%init group)
文章目录引言I、功能独立的tweak合并到同一个deb 包1.1 合并到同一个deb 包1.2 在%ctor 中根据 processName 进行%init groupII、基础知识储备:logos 语法2.1 %ctor2.2 %group2.3 %init2.4 %property2.5 %subclasssee also引言昨天讲解了如何搭建私有Cydia源来批量部署插件,今天就来聊一聊如何讲将功能独立的tweak 合并到同一个deb 包。I、功能独立的tweak合并到同一个deb 包1.
2017-08-21 11:00:02 12050
原创 【Local Host Enumeration】Basic local host/network profiling、Basic Linux profiling
【Local Host Enumeration】Basic local host/network profiling、Basic Linux profiling
2017-08-21 09:17:25 10759
原创 iOS进阶:【设置tableView回到顶部、tableView 的常规效果:传统和内边距的设定】
cell底部也会被TabBar挡住 self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 64, 0);设置穿透效果 //1.设置当有导航栏自动添加64的高度的属性为NO self.automaticallyAdjustsScrollViewInsets = NO; [self hy_viewWillAppear:YES]
2017-08-15 19:48:29 12672
原创 iOS UITableView 的一些基础操作: 1、隐藏多余cell 2、更新约束,并同时展示动画
/** // 隐藏多余cell */-(void)setExtraCellLineHidden: (UITableView *)tableView{ UIView *view = [UIView new]; view.backgroundColor = [UIColor clearColor]; [tableView setTableFooterView:view];}
2017-08-14 19:57:48 11395
原创 iOS网络请求指南之【 Post 以QueryString/xml/json格式提交数据】
前言提交后台的数据格式: Post 方式提交key=value&key=value&key=value正文1、拼接字符串- (NSMutableString*) stringWithkey:(NSString *)key value:(NSString*)value{ [self appendString:[NSString stringWithFormat:@"%@=%@",key,v
2017-08-12 20:08:37 13494
原创 iOS逆向小知识:SSLHandshake: Received fatal alert: certificate_unknown的解决方案(Charles分析报文常遇到的问题)
当https 链接的证书得不到Charles证书的信任之后,就会包这个。解决: 可以使用以下openssl命令来获取到服务器的公开二进制证书(以google为例):"openssl s_client -connect www.google.com:443 </dev/null 2>/dev/null | openssl x509 -outform DER > https.cer"让手机去信任c
2017-08-12 17:55:45 22270
原创 iOS安全防护:【完整性校验】1、文件完整性(检查文件load command 的修改)2、是否重签名3、bundleIdentifier 等方面入手验证是否程序被修改
从文件完整性(检查文件load command 的修改)、是否重签名、bid 等方面入手验证是否程序被修改
2017-08-12 11:15:14 12356
原创 iOS小技能:去掉UISearchBar搜索框的放大镜
UITextField *searchTextField = [searchBar valueForKey:@"_searchField"]; searchTextField.leftView = nil;
2017-08-11 17:22:29 12981
原创 iOS安全:【HookDetection】 1、反注入:获取加载的模块名,判断是否在白名单中; 2 hook检测:method swizzle、符号表替换、inline hook3、完整性校验
brewruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"Please delete these paths and run `brew update`.==> Installation successful!==> Homebrew has enabled anonym
2017-08-10 16:31:10 11836 1
原创 iOS越狱过程:越狱工具做了什么事情?( iOS系统结构、常见的二进制文件类型)
前言iOS系统结构一、iOS系统结构访问iOS全系统文件是逆向工程的首要前提。 iOS 由OS X演化而来,而OS X则是基于unix操作系统的。 1)通过FHS标准了解类unix的文件目录结构,OS X则是在FHS基础上形成自己的hier(7)框架 FHS: /boot 存放能使系统成功启动的所有文件 – iOS在此目录中为空 /dev 存放设备文件:块设备(硬盘)、字符设
2017-08-10 14:29:37 10845
原创 iOS小技能:逆向的一般思路及入门工具
前言重点:入门时的用的工具、一般思路,技术是不断发展的。1、要求熟悉iOS设备的硬件构成、iOS系统的运行原理、丰富的开发经验。2、作用如果把app必做城堡,那逆向工程就是站在更高的纬度进行巧取而不强夺,通过监视甚至进行hook改变app的运行逻辑,从而达到目的。 总之: 1)分析目标程序,获取信息–安全相关,用于评定app的安全级别、获取查杀病毒的方法、构建手机防火墙(逆向系统电话、短信功能).....................
2017-08-10 11:40:32 11175
原创 iOS小技能:程序类型初识(Application、Dynamic Library、后台Daemon)
iOS程序类型分为3类:Application, Dynamic Library,后台Daemon。在越狱的设备上才会遇到需要开发后面两种类型程序的情况。Application平时我们开发提交到App Store的应用即是Application,设备没有越狱的情况下,应用只能访问沙盒内存文件和数据。Dynamic LibraryDynamic Library(动态链接库),在其他平台很常见,比如Wi
2017-08-08 16:13:09 10913 2
原创 Working with non-default SSH key pair paths
gitlab/github 多账户下设置 ssh keys1、在用户目录下/Users/devzkn/.ssh执行:devzkndeMacBook-Pro:.ssh devzkn$ ssh-keygen -t rsa -C "你注册的邮件"生成秘钥,并设置文件名称以及密码。结果:devzkndeMacBook-Pro:.ssh devzkn$ lsgitlab gitlab.pub
2017-08-08 14:38:32 10868
原创 36day 新浪微博(CELL时间 来源)
HWStatuePhotosView 1、#pragma mark - 根据图片个数计算 控件的size#pragma mark - 根据图片个数计算size/** 计算列数、行数,来确定相册的大小*/- (CGSize)sizeWithPicUrlsCount:(long)count{ long maxCols = HWStatuesPhotoMaxClos(count);
2017-08-08 11:13:19 10298
原创 iOS混淆带有bitcode sectname 的静态库:Confusing static libraries with Bitcode Sectname 不需要源代码就可以进行混淆
iOS安全:【混淆带有bitcode sectname 的静态库】Confusing static libraries with Bitcode Sectname 不需要源代码就可以进行混淆
2017-08-04 11:18:51 10857 2
原创 35day 新浪微博(CELL转发)
cell 与导航栏的间距设置/** 方法一*//** 目的 : 让第一个cell与导航栏有固定的间距*/- (void)setFrame:(CGRect)frame{ frame.origin.y += HWStatusCellBorderW; [super setFrame:frame];}/** 方法二*/- (void)viewDidLoad { [super view
2017-08-02 15:52:40 10628
原创 34day 新浪微博(首页)
HWStatusesTableViewCellFrame计算原创微博的frame自定义cell的步骤定义cell的步骤(每个cell的 度不 样,每个cell 显 的 内容也不 样) 1. 新建 个继承 UITableViewCell的 类 2. 在initWithStyle: 法中进 控件的初始化 1> 将有可能显 的所有 控件都添加到contentView中 2> 顺便设置 控件的 些属性
2017-08-02 15:32:16 10775
iOS AgreementView 简化版的隐私弹框(用户协议及隐私政策弹框)【包含超链接属性、demo支持中英文切换】
2023-07-12
iOS曲线图(例子:商品销售曲线图)
2022-08-09
iOS富文本编辑器(工具栏在富文本编辑器的顶部)
2022-07-08
iOS富文本编辑器(基于WKWebview实现,Editor使用WKWebview加载一个本地editor.html文件)
2022-06-17
iOS小技能:NSLog调试技巧
2022-06-09
新住院患者体验与满意度调查问卷【问卷星版本】
2022-06-08
iOS15 消息推送语音播报【修订版】(处于后台/被杀死的状态仍可进行语音播报)
2022-03-10
iOS15 App处于后台/被杀死的状态仍可进行语音播报( 本地离线合成音频+Service Extension)
2022-03-08
iOS使用CALayer 实现时钟demo
2022-03-02
iOS MVC思想的实现demo
2022-03-01
制作package脚本用于批量部署插件(搭建私有Cydia源)
2021-10-04
WordPress插件:给REST API 新增文章特色图片(缩略图)字段,用于显示文章头图
2021-09-06
iOS防止在WKWebView中打开Universal Link的方法
2021-08-19
iOS集成新浪微博API教程
2021-08-03
iOS支持展开折叠的弹出菜单(水平方向弹出菜单视图)
2021-07-28
iOS 水平方向弹出菜单视图
2021-07-27
iOS添加商品到购物车的动画
2021-07-06
iOS 自定义tab滑块: segment功能+label混合显示;( Slider 双区间)【应用场景:商户交易汇总表使用tab滑块进行切换/筛选不同级别的代
2021-06-23
iOS商品类目选择视图(demo源码)
2021-06-22
iOS OCR:自定义相机进行银行卡/身份证/驾驶证信息识别方案【demo源码】
2021-06-03
iOS分配终端界面功能实现:1、拆分SN 2、计算SN个数( 号段用‘-’连接;每批号段请用‘,’|‘隔开或分行)
2021-06-02
iOS银行卡识别(OCR) 源码
2021-05-31
iOS OCR 之身份证识别 (正反) 源码
2021-05-31
iOS文字识别Demo源码
2021-05-31
iOS Document Scanner: 矩形边缘识别(边缘检测 ) CIDetectorTypeRectangle
2021-05-31
iOS身份证相机: 加一个长方形的框框并裁剪身份证照片(无半透明遮罩层)
2021-05-28
iOS APP 内的国际化切换【案例:中英文切换】
2021-05-26
iOS处理语言的强大工具CFStringTransform : 智能地处理用户的输入内容,经典应用场景【通讯录索引】
2021-05-26
iOS14相册权限适配Demo
2021-05-10
iOS Configuration-Profile-Reference.pdf 【案例:iOS安全之防止手机截屏/录屏导致泄密的方案】
2021-04-28
iOS安全之拦截http请求 ( 为小白用户定制的精简版本)
2021-04-22
iOS安全之【拦截请求,实现特定目的 】(修改HTTPHeaderField、不走全局proxy、设置代理IP和端口、对网络请求的数据进行报文级别的加密)
2021-04-20
iOS使用 NSURLProtocol 拦截 HTTP 请求的简单例子
2021-04-19
iOS安全之敏感逻辑的保护方案【把函数名隐藏在结构体里,以函数指针成员的形式存储】案例:js根据key从本地方法获取设备及签名信息 (完整demo)
2021-04-19
iOS拦截 HTTP 请求demo源码:修改请求的HTTPHeaderField,设置代理IP和端口
2021-04-14
iOS抽奖转盘:概率抽奖算法 &amp; 转盘算法 &amp; 转盘主视图的实现思路
2021-04-13
iOS 广告弹窗(支持显示动画及调整广告比例)采用Masonry进行界面布局
2021-04-09
iOS 抽奖轮盘边框跑马灯动画Demo
2021-04-08
iOS 定点缩放弹窗(利用锚点anchorPoint进行实现)
2021-03-25
上线前的必备步骤
2021-05-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人