念茜的博客

我是一单线程妞儿

排序:
默认
按更新时间
按访问量

iOS安全攻防(二十四):敏感逻辑的保护方案(1)

iOS安全攻防(二十四):敏感逻辑的保护方案(1)Objective-C代码容易被hook,暴露信息太赤裸裸,为了安全,改用C来写吧!当然不是全部代码都要C来写,我指的是敏感业务逻辑代码。本文就介绍一种低学习成本的,简易的,Objective-C逻辑代码重构为C代码的办法。也许,程序中存在一个类似...

2014-06-07 19:04:38

阅读数:33016

评论数:57

iOS安全攻防(二十三):Objective-C代码混淆

iOS安全攻防(二十三):Objective-C代码混淆class-dump可以很方便的导出程序头文件,不仅让攻击者了解了程序结构方便逆向,还让着急赶进度时写出的欠完善的程序给同行留下笑柄。所以,我们迫切的希望混淆自己的代码。混淆的常规思路混淆分许多思路,比如:1)花代码花指令,即随意往程序中加入...

2014-06-07 17:00:47

阅读数:89887

评论数:36

iOS安全攻防(二十二):static和被裁的符号表

static和被裁的符号表为了不让攻击者理清自己程序的敏感业务逻辑,于是我们想方设法提高逆向门槛。本文就介绍一个防御技巧————利用static关键字裁掉函数符号。原理如果函数属性为 static ,那么编译时该函数符号就会被解析为local符号。在发布release程序时(用Xcode打包编译二...

2014-03-18 17:11:18

阅读数:18889

评论数:17

iOS安全攻防(二十):越狱检测的攻与防

越狱检测的攻与防在应用开发过程中,我们希望知道设备是否越狱,正以什么权限运行程序,好对应采取一些防御和安全提示措施。iOS7相比之前版本的系统而言,升级了沙盒机制,封锁了几乎全部应用沙盒可以共享数据的入口。即使在越狱情况下,限制也非常多,大大增加了应用层攻击难度。比如,在iOS7之前,我们可以尝试...

2014-03-02 13:38:28

阅读数:32568

评论数:14

iOS安全攻防(十九):基于脚本实现动态库注入

基于脚本实现动态库注入MobileSubstrate可以帮助我们加载自己的动态库,于是开发者们谨慎的采取了对MobileSubstrate的检索和防御措施。那么,除了依靠MobileSubstrate帮忙注入dylib,还有别的攻击入口吗?理理思路,条件、目的很明确:1)必须在应用程序启动之前,把...

2014-02-21 22:26:20

阅读数:21995

评论数:9

iOS安全攻防(十七):Fishhook

Fishhook众所周知,Objective-C的首选hook方案为Method Swizzle,于是大家纷纷表示核心内容应该用C写。接下来进阶说说iOS下C函数的hook方案,先介绍第一种方案————fishhook .什么是fishhookfishhook是facebook提供的一个动态修改链...

2014-02-12 00:08:03

阅读数:36125

评论数:26

iOS安全攻防(十三):数据擦除

数据擦除对于敏感数据,我们不希望长时间放在内存中,而希望使用完后立即就被释放掉。但是不管是ARC还是MRC,自动释放池也有轮循工作周期,我们都无法控制内存数据被擦除的准确时间,让hackers们有机可乘。本文介绍一个小技巧——及时数据擦除。假如一个View Controller A的一个数据被绑在...

2014-01-22 18:47:20

阅读数:16986

评论数:25

iOS安全攻防(九):使用Keychain-Dumper导出keychain数据

使用Keychain-Dumper导出keychain数据iOS系统及第三方应用都会使用Keychain来作为数据持久化存储媒介,或者应用间数据共享的渠道。所以Keychain数据库是hacker们最关注的数据源头之一。不知道是算幸运还是不幸,导出Keychain数据库数据的工具早已非常完善,下载...

2014-01-17 12:23:55

阅读数:28087

评论数:6

iOS安全攻防(四):阻止GDB依附

阻止GDB依附GDB是大多数hackers的首选,阻止GDB依附到应用的常规办法是:#import int main(int argc, char *argv[]) { #ifndef DEBUG ptrace(PT_DENY_ATTACH,0,0,0); #endif @au...

2014-01-13 15:24:54

阅读数:22447

评论数:12

被废弃的dispatch_get_current_queue

苹果为何废弃dispatch_get_current_queue

2014-01-02 11:23:39

阅读数:32810

评论数:16

Objective-C的hook方案(一): Method Swizzling

Objective-C的hook方案(一):  Method Swizzling在没有一个类的实现源码的情况下,想改变其中一个方法的实现,除了继承它重写、和借助类别重名方法暴力抢先之外,还有更加灵活的方法吗?在Objective-C编程中,如何实现hook呢?标题有点大,计划分几篇来总结。本文主要...

2013-07-18 23:29:16

阅读数:113547

评论数:67

漫谈Objective-C :空段selector

Objective-C支持空段selector,这显然不具备良好的代码可读性,平时我们也不会这么写这么用,那为什么还要特别提出来说这件事呢?只是想给大家提个醒......

2013-07-05 18:08:39

阅读数:10080

评论数:14

Objective-C 的“多继承”

Objective-C 的“多继承” 当单继承不够用,很难为问题域建模时,我们通常都会直接想到多继承。多继承是从多余一个直接基类派生类的能力,可以更加直接地为应用程序建模。但是Objective-C不支持多继承,由于消息机制名字查找发生在运行时而非编译时,很难解决多个基类可能导致的二义性问题。不...

2013-05-24 17:10:43

阅读数:32746

评论数:41

iOS 5与iOS 6的 low-memory 处理

iOS 5 与 iOS 6 的 low-memory 处理移动设备终端的内存极为有限,应用程序必须做好low-memory处理工作,才能避免程序因内存使用过大而崩溃。low-memory 处理思路通常一个应用程序会包含多个view controllers,当从view跳转到另一个view时,之前的...

2013-05-06 19:06:59

阅读数:18840

评论数:32

在iOS上绘制自然的签名

在iOS上绘制自然的签名这里有一篇很棒的文章写如何在Android上获取流畅的签名:Smoother Signatures,但是我没有找到一篇是写在iOS上如何实现。那么,究竟怎么做才能在iOS设备上获取用户的签名呢?虽然我没有找到任何关于获取签名的文章,但是在App store上已经有了实现得很...

2013-04-25 16:29:20

阅读数:21527

评论数:16

将LMbench移植到Android上

将LMbench移植到Android上LMbench是个可移植的,用于评价系统综合性能的多平台开源benchmark,能够测试包括文档读写、内存操作、进程创建销毁开销、网络等性能。通过以下步骤操作,即可将LMbench移植到Android上。1.下载LMbench源码传送门:http://www....

2013-03-12 18:15:17

阅读数:10748

评论数:3

Objective-C 和 Core Foundation 对象相互转换的内存管理总结

Objective-C 和 Core Foundation 对象相互转换的内存管理总结iOS允许Objective-C 和 Core Foundation 对象之间可以轻松的转换,拿 NSString 和 CFStringRef 来说,直接转换豪无压力:CFStringRef aCFString ...

2013-01-30 21:26:37

阅读数:28760

评论数:13

Android 安全攻防(三): SEAndroid Zygote

Android 安全攻防(三): SEAndroid Zygote在Android系统中,所有的应用程序进程,以及系统服务进程SystemServer都是由Zygote孕育fork出来的。 Zygote的native获取主要研究dalvik/vm/native/dalvik_system_Zygo...

2013-01-12 12:10:26

阅读数:11701

评论数:5

Android 安全攻防(二): SEAndroid bionic

Android 安全攻防(二):SEAndroid  bionic 最近研究SEAndroid,会陆续对各个模块做对比分析,学习移植SELinux至Android,学习程序管控策略。bionic 作为第一个分析的模块,在此之前,先简单叙述一下SEAndroid,便于后续理解。SEAndroid 与...

2013-01-10 19:02:30

阅读数:11841

评论数:9

Android 安全攻防(一):SEAndroid的编译

SEAndroid的编译SEAndroid概述SEAndroid(Security-Enhanced Android),是将原本运用在Linux操作系统上的MAC强制存取控管套件SELinux,移植到Android平台上。可以用来强化Android操作系统对App的存取控管,建立类似沙箱的执行隔离...

2012-12-19 11:00:31

阅读数:32374

评论数:11

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