自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 越狱动态调试

1. reveal调试1.1 reveal概述Reveal是一款UI调试神器,对iOS开发非常有帮助。我们使用的是Version 4 (8796)的版本。1.2 reveal安装电脑端文件现在无法上传,需要的联系我吧1.3 环境配置导入dylib文件由于新版本的Reveal只有Framework文件,所以需要修改Framework的可执行文件为dylib库找到相关库,电脑端的reveal,help下查找如下图在手机的/Library 目录下新建目录 mkdirRHRevea

2020-12-01 13:14:52 356

原创 iOS 越狱-砸壳工具的使用

1.越狱概述1.1通过iOS系统安全启动链漏洞,从而禁止掉信任链中负责验证的组件。拿到iOS系统最大权限ROOT权限.1.2当启动一台iOS设备时,系统首先会从只读的ROM中读取初始化指令,也就是系统的引导程序(事实上所有的操作系统启动时都要经过这一步,只是过程略有不同)。这个引导ROM包含苹果官方权威认证的公钥,他会验证底层启动加载器(LLB)的签名,一旦通过验证后就启动系统。LLB会所一些基础工作,然后验证第二级引导程序iBoot。iBoot启动后,设备就可以进入恢复模式或启动内核。在iB

2020-11-27 14:56:10 9693

原创 logos语法

1.logos语法简介1.1logos语法简介Logos语法其实是CydiaSubstruct框架提供的一组宏定义。便于开发者使用宏进行HOOK操作。语法简单,功能强大且稳定。logos语法官网1.2logos语法分类Logos语法分为三大类:Block level这一类型的指令会开辟一个代码块,以%end结束。%group、%hook、% subclass 、 %endTop level这个TopLevel指令不放在BlockLevel中。%config、%hookf、%cto

2020-11-19 17:51:32 1019

原创 iOS 之 LLDB(下)(chisel 和 cycript)

安装 Chiselhome-brewbrew.shbrew -vbrew listbrew updatebrew install chisel配置Chisel 进入 ~/.lldbinit 添加一行 command script import /usr/local/opt/chisel/libexec/fblldb.py配置LLDB进入~/.lldb添加一行command script #import /opt/LLDB/lldb_commands/dslldb.py

2020-11-11 18:06:58 228

原创 iOS 之 LLDB(上)

断点设置断点$breakpoint set -n XXXset 是子命令-n 是选项 是–name 的缩写!查看断点列表$breakpoint list删除断点$breakpoint delete 组号禁用/启用$breakpoint disable 禁用 $breakpoint enable 启用遍历整个项目中满足Game:这个字符的所有方法$breakpoint set -r Game:$breakpoint set --file 指定文件名 -r Game:简写:b -

2020-11-10 10:27:04 278 1

原创 HOOK原理与fishhook初探防护

1.HOOK概述1、Method Swizzle利用oc的runtime特性,动态改变SEL(方法编号)和IMP(方法实现)的对应关系,达到oc方法调用流程改变的目的。主要用于oc方法。2、fishhook它是Facebook提供的一个动态链接mach-O文件的工具。利用Macho文件加载原理,通过修改懒加载和非懒加载两个表的指针达到C函数Hook的目的3 cydia SubstrateCydia Substrte原名为mobile Substrte,它主要的作用是针对OC方法、C函数以及函数地

2020-11-05 18:05:01 506

原创 iOS DYLD

2020-10-28 10:51:43 158

原创 iOS 改变图片颜色

标题一:创建使用分类,用 UIGraphics方法。首先我们创建一个UIImage的Category,名为ChangeColor。这个名为ChangeColor的Category只有一个方法,即-(UIImage*)imageChangeColor:(UIColor*)color。这个方法的具体实现如下:#import “UIImage+ChangeColor.h”@implementation UIImage (ChangeColor)//绘图-(UIImage*)imageChangeColo

2020-07-28 22:39:06 1004

原创 iOS crash符号化分析

一.准备的四个文件:1.打包后对应的 dsym ipa2.symbolicatecrash准备find /Applications/Xcode.app -name symbolicatecrash -type f(xcode需是你应用程序中的xcode的名字)cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation...

2019-12-06 11:55:39 285

原创 Mach-O文件, 架构包framework的合并和拆分

.o文件终端 vim test.c输入指令:#include <stdio.h>void test1();int main(){printf("\ntest"); test1();return 1;}终端命令(编译test.c文件为test.o文件):clang -c test.c命令:file test.o可以查出test.o文件的mach-o...

2019-10-17 18:14:18 591

原创 多种HOOK方式

1.利用runtime交换方法的实现,破坏微信的注册2.利用runtime addmethod 添加新方法实现hook3.利用runtime 替换方法实现hook4,利用 runtime get set IMP 实现Hoook推介使用第四种方法,比较简单好用。

2019-10-16 16:07:40 1536

原创 RunTime方法交换Method Swizzle

利用runtime 进行方法的交换 --Method SwizzleMethod Swizzle1.例如通常转url的字符窜中含有中文的话,url转完后会变为nil,为了整个项目方便替换,通常会使用到runtime进行方法的替换。如下,在viewdidload中- (void)viewDidLoad { [super viewDidLoad]; // Do any addi...

2019-10-16 15:44:23 186

原创 用户,组 ,权限 和 脚本重签名和代码注入

1.脚本重签名2.脚本注入代码脚本重签名1.先新建一个空工程在自己的真机上运行起来。为了导入描述文件。2.项目的同级目录下新建一个App文件夹,里面放入要重签名的ipa包。3.在项目中新建一个脚本,输入如下的命令。第一行为了,给app.sh赋值可执行的权限。4.在终端中cd到项目上级目录下,touch 一个 app.sh文件,里面放入如下的脚本。commond+r运行即可脚本重签...

2019-10-15 10:55:37 272

原创 CodeSign重签名

摘要:1.利用codesign重签名2.利用xcode重签名重签名的步骤codesign重签名1.利用pp助手下载越狱的微信ipa2,下载后在解压缩,打开里面payload下的ipa包就是需要的3,把应用包放到所需的资料文件夹的目录下,用终端的 codesign -vv -d WeChat.app 命令可以看到这个ipa包,是具有签名信息的。4.security fin...

2019-10-12 12:26:25 2032

原创 应用签名的原理

代码签名,双层签名

2019-10-12 11:19:10 281

原创 密码学

摘要1.HASH概述2.密码加密3.数字签名4.对称加密HASH概述:HMAC的key值是每个用户都是不同,且是服务器给的,可以定时跟新,每个key值是用户在注册的时候,服务器给的,登录成功后,存在本地。如果换设备登录的时候,如果跟原设备绑定的话,可以找原设备授权以后,再给新设备key,如果登录成功后,再保存在本地。安全方案可以在数据哈希值 后面 加上服务器的时间戳后,再进行md...

2019-10-10 18:28:50 195

原创 密码学

主要内容:1.由欧拉函数,模反元素等数学原理和迪菲赫尔曼密钥交换得出RSA额数学原理;2.终端生成 公钥 私钥 ,利用共钥 私钥 加密揭秘信息,私钥 生成rsa钥匙串,利用rsa请求crt证书,利用crt证书,得出iOS中使用的der证书(公钥),p12证书(私钥)。3.代码演示base64加解码信息,der和p12加密解密信息。一:数学原理1.欧拉函数给定的任意正整数n,小于等于n...

2019-09-25 23:10:53 237

原创 framework,SDK的模拟器和真机包合并

有时候Xcode中的脚本合并真不靠谱,一会好,一会不好,而且那么多行的脚本慢慢读费劲,而且也不能断点调试,这时候命令合成sdk包才是硬道理。话不多说之前上代码了。这是我合并的命令行:lipo -create /Users/admin/Desktop/robotSDK/真机/RobotChatSDK.framework/RobotChatSDK /Users/admin/Desktop/ro...

2019-09-24 11:33:15 325

原创 iOS 后台返回的json数据中包含json字符串

摘要:json字符串转对象-----先把json字符串UTF8编码成data,再用data转成对象NSArray * arr = [self jsonObject:model.MESSAGE_CONTENT];(id)jsonObject:(NSString *)str {str = [str stringByReplacingOccurrencesOfString:@"\n" wit...

2019-07-22 10:38:28 590

转载 iOS多线程

iOS多线程-概念一. 多线程基础进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内2.线程1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程,称为主线程)一个进程(程序)的所有任务都在线程中执行进程和线程的比较1.线程是CPU调用(执行任务)的最小单位。2.进程是CPU分配资源的最小单位。3.一个...

2019-06-27 13:57:41 167

原创 iOS 支付成功或者取消后回跳到app首页而不是支付页面

前段时间调支付的时候,发现无论支付成后还是支付取消失败,直接跳回自己app首页了而不是支付页面,也不走任何支付回调的断点,前前后后一直复查支付的流程都是对的,没有任何问题。简直是疯了,后来才发现是自己改app的icon后测试机上有两个自己一样的app,当然除了icon不一样。在第一个app上发起支付,跳到微信取消或者支付成功后,回调到自己app时候,回跳到另一个(也就是上一个没改icon)的ap...

2019-06-12 16:20:41 1700

原创 iOS 接口返回的是json,但是xcode打印的是NSData的二进制

接口返回的网页中打印的数据如下:自己的代码如下:xcode打印如下:原因:原来一直不理解manager.responseSerializer=[AFHTTPResponseSerializer serializer];这行代码,原来一直处理返回的字符串的接受方式,序列化的,AFHTTPResponseSerializer 是接受的二进制的,所以一直出现NSdata数据。去掉这行就可以了,...

2019-06-12 16:09:52 1108

原创 iOS 后台直接返回的字符串,Data类型解析

今天后台返回数据在网页上看直接是一个不规范的字符串,如下:对于习惯解析json数据格式的我,顿时就是这他妈是谁呀,老子从来没见过,怎么搞事情么,于是一言不合就冲过去找事情,虽然后台是7,8年老大神,就说让他改,这东西只能看到接受的8个byte,其他的老子费尽九牛二虎之力,也不识别你这玩意,赶紧改成json,后台大哥一看卧槽,换个格式你就不认识了,不是给你返回字符串了么,网页上都能看见,接口没问...

2019-02-21 00:17:16 2010

原创 iOS urlString中带有字典

今天有请求== http://192.168.1.222:9090/XiaoYiRobotSer/Ct?type=setCol_F&amp;status={“moveType”:“le f t”}&amp;deviceID=sichuan1==这样的一个urlstring,post 拼接参数的方式请求的。首先我把{“moveType”:“left”}字典,通过字典转json字符串的方式拼接到...

2019-02-20 23:59:58 717

转载 UITableViewCell嵌入多个UITextField复用问题解决方案

有这样一种需求,需要创建一些信息上传到服务器,那么在界面上,就需要进行文本输入,如果一个或者两个文本框,那么就好实现,不需要用UITableViewCell了,但如果是多个文本输入呢,就不得不使用UITableViewCell,那么随之而来的是UITextField文本随着Cell复用带来了问题,即当滑动操作时,文本框的内容会发生错乱等,如何解决呢?我的解决方案如下:创建一个模型,用这个模型声...

2018-11-19 17:46:27 691

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除