念茜的博客

我是一单线程妞儿

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

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

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

2014-06-07 19:04:38

阅读数:31474

评论数:53

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

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

2014-06-07 17:00:47

阅读数:79735

评论数:36

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

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

2014-03-18 17:11:18

阅读数:18367

评论数:17

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

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

2014-03-02 13:38:28

阅读数:30860

评论数:14

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

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

2014-02-21 22:26:20

阅读数:21344

评论数:9

iOS安全攻防(十七):Fishhook

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

2014-02-12 00:08:03

阅读数:34861

评论数:26

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

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

2014-01-22 18:47:20

阅读数:16513

评论数:25

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

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

2014-01-17 12:23:55

阅读数:27191

评论数: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

阅读数:21496

评论数:12

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