- 博客(618)
- 资源 (72)
- 收藏
- 关注
原创 iOS逆向之Cycript和Reveal
CycriptCycript是Objective-C++、ES6(JavaScript)、Java等语法的混合物可以用来探索、修改、调试正在运行的Mac\iOS APP 文档地址:http://www.cycript.org/manual/ 通过Cydia安装Cycript和adv-cmds,即可在iPhone上调试运行中的APP。 ps命令是process status的缩写,使用...
2019-11-14 07:02:20 301
原创 iOS逆向环境的搭建
1.安装OpenSSH iOS和Mac OS X都是基于Darwin(苹果的一个基于Unix的开源系统内核),所以iOS中同样支持终端的命令行操作,在逆向工程中,我们经常会通过命令行来操纵iPhone。为了能够让Mac终端中的命令行能作用在iPhone上,我们得让Mac和iPhone建立连接,通过Mac远程登录到iPhone的方式建立连接。可以通过OpenSSH的方式让Mac远程登录到iP...
2019-11-14 07:01:58 339
原创 iOS越狱环境搭建
iOS越狱就是利用iOS漏洞,获得iOS系统的最高权限解开之前的各种限制。越狱的优点:打造个性化、与众不同的iPhone 自由安装各种实用的插件、主题、APP 修改系统APP的一些默认行为 自由安装非AppSore来源的APP “付费APP”秒变“免费APP” 未越狱iPhone安装APP的途径 灵活管理文件系统,让iPhone可以像U盘那样灵活 给开发者提供了逆向工程的环境...
2019-11-14 07:01:31 374
原创 iOS设计模式之外观模式
外观(Facade)模式:是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。外观(Facade)模式是“迪米特法则”的典型应用,它有以下主要优点。降低了子系统与客户端之间的耦合度,使得子系统的变化不会影响调用它的客户类。 对客户屏蔽...
2019-11-13 10:48:45 500
原创 iOS设计模式之装饰模式
装饰(Decorator)模式:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。装饰模式主要包含以下角色。抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。 具体构件(Concrete Component)角色:实现抽象构件,通过装饰角色为其添加一些职责。 抽象装饰(Decorator)角...
2019-11-13 10:42:36 144
原创 iOS设计模式之桥接模式
桥接(Bridge)模式:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。桥接(Bridge)模式的优点是:由于抽象与实现分离,所以扩展能力强; 其实现细节对客户透明。桥接(Bridge)模式包含以下主要角色。抽象化(Abstraction)角色:定义抽象类,并包含一个对实现化对象的引用。 扩展抽象化(Re...
2019-11-13 10:38:23 448
原创 iOS设计模式之适配器模式
适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。该模式的主要优点如下。客户端通过适配器可以透明地调用目标接口。 复用了现存的类,程序员不需要修改原有代码...
2019-11-13 10:27:33 214
原创 iOS设计模式之代理模式
在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。代理模式的主要优点有:代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用; 代理对象可以扩展目标...
2019-11-13 10:13:27 200
原创 iOS开发设计模式之创造者模式
建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。建造者(Builder)模式由产品、抽象建造者、具体建造者、指挥者等 4 个要素构成,现在我们来分析其基本结构和实现...
2019-11-13 09:18:42 275
原创 iOS设计模式之原型模式
原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。实现步骤可以分三步: 1. 抽象原型类:规定了具体原型对象必须实现的接口。 2.具体原型类:实现抽象原型类的 clone() 方法,它是可被复制的对象。...
2019-11-13 09:07:10 183
原创 iOS设计模式之单例模式
单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。单例模式有 3 个特点:单例类只有一个实例对象; 该单例对象必须由单例类自行创建; 单例类对外提供一个访问该单例的全局访问点;代码实现: 1.创建一个单例类。 2.在类的实现中实现创建单例的代码。 ...
2019-11-13 08:55:21 85
原创 iOS设计模式之抽象工厂模式
抽象工厂(AbstractFactory)模式的定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。使用抽象工厂模式一般要满足以下条件。 系统中有多个产品族,每个具体工厂创建同一族但属于不同等级结...
2019-11-13 08:13:13 205
原创 iOS设计模式之简单工厂模式
工厂方法(FactoryMethod)模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”,它不属于 GoF 的 23 种经典设计模式,它的缺点是增加新产品时会违背“开闭原则”。简单工厂方法模式的主要优点有:用户只需要知道具...
2019-11-13 07:44:26 126
原创 iOS设计模式 总结
目录什么是设计模式设计模式分类各种设计模式关键点设计模式六大原则什么是设计模式设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式分类创建型模式:对象实例化的模式,创...
2019-11-12 14:03:50 128
转载 Xcode中的环境变量
一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果协作开发,这时候绝对路径的缺点立马出现。所以在修改User Header Search Paths这个选项的时候使用"$(SRCROOT)/当前工程名字/需要包含头文件所在文件夹"将上面的双引号里面的字符串拷贝之后,你会发现这个“$(SRCROO...
2019-08-22 15:16:12 678
原创 iOS OC 消息转发
#import "ViewController.h"#import "Preson.h"#import <objc/runtime.h>#import <objc/message.h>@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {...
2019-07-03 09:31:58 190
原创 iOS 开启http访问
在info.plist中添加代码<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>...
2019-06-10 16:47:48 4937
转载 iOS开源库
下拉刷新EGOTableViewPullRefresh- 最早的下拉刷新控件。 SVPullToRefresh- 下拉刷新控件。 MJRefresh- 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写) XHRefreshControl- XHRefreshC...
2019-05-19 19:05:43 1336
转载 iOS 第三方库、插件、框架、教程、XCode 插件、组件、知名博客总结
https://blog.csdn.net/shihuboke/article/details/82621013
2019-05-02 11:33:01 517
原创 iOS的Aspects简单使用
1.通过cocopods安装Aspectstarget 'AspectDemo' dopod "Aspects"end2.包含头文件<Aspects/Aspects.h>和实现方法#import "ViewController.h"#import "AspectTest.h"#import <Aspects/Aspects.h>@interfa...
2019-04-26 16:40:57 2845
原创 NSURLProtocol处理WKWebView的http和https的请求
iOS8以后,苹果推出了Webkit框架,使用WKWebView替换了UIWebView,可以是网页的速度更快,内存更少。但是WKWebView的http和https请求,不能被URL Loading System处理,在做的过程中,遇到了问题并做记录。1.不能截获的原因。 其实WKWebView在一开始的时候,会调用NSURLProtocol的入口方法canInitWithRequ...
2019-04-26 14:05:06 2555
原创 Shell 通过sed替换文件字符串
sed's/原字符串/替换字符串/'1.如果有单引号就把最外层的单引号变成双引号就可以了sed"s/原字符串包含'/替换字符串包含'/"2.如果字符串中有/ 就把分割符从/改成#sed -i "" "s#http:/ /www.baidu.com/scm#ssh://git@git.baidu.sh:7999#g" PodConfig.rb3.匹配关键字 g...
2019-03-19 17:41:53 7310
原创 Can't clone a repository via ssh: Repository does not exist or you do not have access
有一种可能是当前电脑登录了多个git账号,需要指定一个默认账号修改 ~.gitconfig文件[credential "http://git.langnuo.sh"] username = aaaa
2019-03-19 17:09:53 1570
原创 iOS12 WKWebView出现input 键盘页面上顶不下移解决方法
1.如果是H5中只有一个input 参考https://juejin.im/post/5bfcbaccf265da615e0526ca/// 监听将要弹起[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardShow) name:UIKeyboardWillShowNot...
2019-03-01 17:24:02 6102
原创 Centos7 使用rmp文件安装jdk
1.下载rmp包 官网链接 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2.安装 rpm -ivh jdk-8u181-linux-x64.rpm3.配置环境变量 修改 /etc/profile文件,末尾加入 JAVA_HOME=/u...
2019-02-27 00:49:51 468
原创 centos7 安装ssh并开机启动ssh
1.rpm -qa | grep ssh 查看是否安装了SSH服务注:若没安装SSH则可输入:yum install openssh-server安装。2.service sshd restart 重启SSH服务。 service sshd start 启动服务 service sshd stop 停止服务 3. chkconfig sshd on 设置开机启动...
2019-02-27 00:22:03 3083
原创 mac brew install --HEAD usbmuxd 的时候 unknown type name 'uint64_t'解决方法
rm -rf /usr/local/include/* Flutter环境问题:Requested 'libusbmuxd >= 1.1.0' but version of libusbmuxd is 1.0.10
2019-02-13 17:20:20 1743 1
原创 URL全部编码
NSString *charactersToEscape = @"?!@#$^&%*+,:;='\"`<>()[]{}/\\| "; NSCharacterSet *allowedCharacters = [[NSCharacterSet characterSetWithCharactersInString:charactersToEscape] invert...
2019-01-29 10:32:42 1192
原创 封装UITableView 索引视图
由于UITableView的索引视图的定制性太差,所以自己封装了一个简单的索引试图。1.把索引的内容,使用Label布局好- (void)reloadIndex { NSArray<NSString *> *titles = [self.delegate titlesOfIndexView:self]; [self.contentView.subviews m...
2019-01-25 17:17:50 208
原创 UIcollectionView 使用masonry自适应布局
UICollectionViewFlowLayout *flowlayout = [UICollectionViewFlowLayout new]; self.collectionView = [[MyUICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:flowlayout]; [self....
2019-01-25 14:18:02 3625
原创 iOS 网络缓存策略
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy){ NSURLRequestUseProtocolCachePolicy = 0, NSURLRequestReloadIgnoringLocalCacheData = 1, NSURLRequestReloadIgnoringLocalAndRemoteCac...
2019-01-03 15:58:14 740
原创 Linux下NGINX安装
1.安装依赖工具yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre2.下载NGINX wget http://nginx.org/download/nginx-1.15.7.tar.gz3.解压和编译安装tar -zxvf nginx-1.15.7.tar.gzcd n...
2018-12-17 10:35:10 134
原创 iOS在APP中调用第三方地图地图(苹果,高德,百度,腾讯)
源码地址https://download.csdn.net/download/liuyinghui523/108010741.在app中获得定位权限 <key>NSLocationAlwaysUsageDescription</key> <string>根据您的位置来提供服务</string> <key&g...
2018-11-22 16:15:00 3674
原创 YYModel 比较重要的几个方法modelCustomPropertyMapper,objectClassInArray,modelPropertyWhitelist和modelPropertyBl
1.modelCustomPropertyMapper 解决json文件中关键字和定义的类的属性不一致的问题。 例如 在类型定义了属性@property (nonatomic, assign) NSInteger errnoTest;在json中对应的内容是"error": "2" 使用方法+ (NSDictionary *) modelCustomPropert...
2018-11-14 10:11:21 7249
原创 Centos7.5安装mysql并设置root远程登录
1 下载mysql安装文件 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm2 安装 Yum Repository yum -y install mysql57-community-release-el7-10.noarch.rpm3 安装mysql服务器...
2018-11-04 19:45:56 977
原创 CentOS 7开启vsftpd的root远程登录
1.安装vsftp yum install vsftpd 2.编辑/etc/vsftpd目录下的user_list,ftpusers和vsftpd.conf。 把user_list和ftpusers中的root账号都删除或者在root前加上#。 vsftpd.conf 文件后添加 anon_upload_enable=YES anon_mkdir_write_en...
2018-11-03 10:09:50 1756
原创 Centos7 设置静态IP
1 修改配置文件 /etc/sysconfig/network-scripts/ifcfg-eno1 ONBOOT=yes #开机启动 BOOTPROTO=static #静态IP IPADDR=192.168.1.88 #本机地址 NETMASK=255.255.255.0 #子网掩码 GATEWAY=192.168.1.1 #默认网关...
2018-11-03 07:10:25 226
原创 Centos的firewall设置
1.安装firewall yum install firewalld firewalld-config2.设置firewall 2.1 开启firewall防火墙 systemctl start firewalld.service #开启firewall systemctl stop firewalld.service #停止firewall ...
2018-11-02 14:13:23 509
原创 centos挂载硬盘并设置系统启动自动挂载
1 fdisk -l 查看硬盘信息磁盘 /dev/sdb:1000.2 GB, 1000203804160 字节,1953523055 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/sda:256.1 GB, 25...
2018-10-29 11:33:39 2022
原创 Mysql 5.7 设置root账号密码并可以远程登录
1.跳过密码验证 如果首次安装没有密码,可以在mysql配置文件/etc/my.cnf最后追加一行代码 skip-grant-tables 这行代码意思就是跳过跳过授权表,即是可以跳过密码验证直接进入数据库2.重置密码 service mysqld restart mysql -uroot -p //此时直接回车,既可以进入数据库。 出现mysq...
2018-10-23 15:18:51 9807
IOS程序跳转demo
2017-09-05
IOS字体展示
2017-01-04
GuideDemo.zip
2020-04-13
mysql-5.7.29-1.el7.x86_64.rpm-bundle.zip
2020-02-22
cornerstone 3.0.3 破解版和使用方法
2018-09-15
对半查找,选择排序,冒泡排序和快速排序的Objective-C实现
2018-03-13
多线程使用FMDB操作sqlite数据库
2018-03-08
swift4 新功能
2017-10-24
Swift3官方中文文档
2017-10-24
KVO-KVC-demo
2017-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人