关于移动安全的一点总结

####年底了(明明是17年初了?) , 也总结下自己看到, 学到的关于逆向的知识体系, 欢迎大家补充和指正

####1.攻击一个app 通常有六个手段

1.静态分析
2.动态调试
3.动态注入
4.中间人攻击
5.资源篡改
6.重签名

复制代码

#####1.1:静态分析

1.hopper
2.ida
3.class-dump

复制代码

#####1.2:动态调试

1.LLDB
2.Cycript
3.introspy

复制代码

#####1.3:动态注入

1.tweak注入
2.非越狱环境下的dylid注入
3.fishook和Method Swizzling

复制代码

#####1.4:中间人攻击

1.中间人代理

复制代码

#####1.5:资源篡改

1.替换Mach-O
2.替换资源图片,视频,音频等
复制代码

#####1.6:重签名

1.codesign 签名

复制代码

####2.每种攻击的防护方案 #####2.1:静态分析防护

1.对抗hopper和ida的分析可以修改macho文件的某些偏移量(具体的自己查吧), 让hopper和ida无法分析造成闪退
2.对抗class-dump 和工具分析可以方法名类名混淆,混淆方案大致三种
        1.编译前用脚本批量做宏定义替换
        2.LLVM混淆(不会)
        3.对Mach-O__objc_classnamehe __objc_methname
3.逻辑混淆(花指令)

复制代码

#####2.2:动态分析防护

1.ptrace ,syscall sysctl,dlsym等
2.cycript的防护还不会
3.introspy的也不会

复制代码

#####2.3:动态注入防护

1.__RESTRICT关联main函数
2.dladdr查看函数的内存空间信息, 验证函数的指针来自程序, 还是苹果的库, 还是未知.

复制代码

#####2.4:中间人攻击防护

1.用https 
2.传递数据加密

复制代码

#####2.5:资源篡改防护

1.对资源做加密运算, 使用时候和编译前的值做比对 

复制代码

#####2.6:重签名防护

1.拿到当前的签名文件的签名信息和编译前的签名信息比对

复制代码

####3.一些注意事项

1.调用需要弄成内联
2.最好用C或者C++写
复制代码

####4.没有破解不开的程序, 就是看时间成本值不值得去硬刚(肛),欢迎大家给我提一些宝贵的意见和方案 我会一直维护这个文章, 一直更新下去, 希望大家多补充



复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值