Cycript是一个理解Objective-C语法的javascript解释器,这意味着我们能够在一个命令中用Objective-C或者javascript,甚至2者兼用。它能够挂钩正在运行的进程,能够在运行时修改应用的很多东西。使用Cycript有如下好处: 1.我们能够挂钩正在运行的进程,并且找出正被使用的类信息,例如view controllers,内部和第3方库,甚至程序的delegate […]

下面我们使用class-dump-z来导出IOS应用的类信息,包括函数名。 首先要安装class-dump-z,官方地址:https://code.google.com/p/networkpx/wiki/class_dump_z ssh到你的设备,使用wget下载class-dump-z (你要先安装wget,才能使用wget命令) 下载完成之后使用tar来解压,一旦解压完成,进入目录iphone […]

由于去年校招一直忙于找工作,然后找到工作后也一直在放松,所以都没有更新博客。 我最近在学习IOS安全方面的东西,所以就想把自己学的一些东西记录下来,我以前也没有接触过IOS,而且只学了一个星期的IOS开发,就直接学IOS安全的东西了,而且总共的时间也就半个月。如果就错误的地方还请大家指出,一起学习! 首先准备一台IOS越狱设备,为了在电脑上能登陆设备,所以我们要再设备上面安装OpenSSH,以便电 […]

SQL标准定义了4类隔离级别,下面列出在不同的事务隔离级别下这些锁是如何使用的。 锁的种类: Read Uncommitted(读取未提交内容)        在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。 […]

AES算法本质上是一种对称分组密码体制,采用代替/置换网络,每轮由三层组成:线性混合层确保多轮之上的高度扩散,非线性层由16个S盒并置起到混淆的作用,密钥加密层将子密钥异或到中间状态。AES是一个迭代分组密码,其分组长度和密钥长度都是可变的,只是为了满足AES的要求才限定处理的分组大小为128位,而密钥长度为128位、192位或256位,相应的迭代轮数N,为10轮、12轮、14轮。AES汇聚了安全 […]

DES(Data Encryption Standard)算法于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。 DES是一种分组密码,明文、密文和密钥的分组长度都是64位,并且都是面向二进制的密码算法。DES处理的明文分组长度为64位,密文分组长度也是64位,使用的密钥长度为56位(实现上函数要求一个64位的密钥作为输入,但其中用到的只有56位,另外8位可以用作奇偶校 […]

前面虽然已经讲到了TCP连接的建立与终止,也没细讲,我觉得还是比较重要的,所以这里拿出来再扯一扯。 TCP是是一个面向连接的协议,无论哪一方发送数据之前,都必须在双方之间建立一条连接。 一、建立连接协议 ① 请求端(通常称为客户)发送一个SYN段指明客户打算连接的服务器的端口,以及初始序号(ISN)。这个SYN段为报文段1。 ② 服务器发回包含服务器的初始序号的SYN报文段(报文段2)作为应答。同 […]

题目: 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。 基本思路: 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是: f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[ […]

指针和数组到底有什么样的关系,他们之间没有任何关系! 指针就是指针,指针变量在32 位系统下,永远占4 个byte,其值为某一个内存的地址。指针可以指向任何地方,但是不是任何地方你都能通过这个指针变量访问到。 数组就是数组,其大小与元素的类型和个数有关。定义数组时必须指定其元素的类型和个数。数组可以存任何类型的数据,但不能存函数。 一、以指针的形式访问和以下标的形式访问 下面我们就详细讨论讨论它们 […]

sizeof是关键字不是函数,就算不知道它是否为32 个关键字之一时,我们也可以借助编译器确定它的身份。来看看下面几种情况: A),sizeof(int); B),sizeof(i); C),sizeof int; D),sizeof i; 32位系统下: 首先很明显A、B都是4.那么C和D呢? 我们用Visual C++6.0或者其他编译器来试下: C报错syntax error : &#821 […]