首页
社区
课程
招聘
[求助]iOS中anti-debugging的方式有几种呢?
发表于: 2014-8-18 15:00 8735

[求助]iOS中anti-debugging的方式有几种呢?

2014-8-18 15:00
8735
在调试一个iOS游戏(地下城宝石,DungeonGems),gdb attach上去就segment fault,觉得是开了anti-debugging。
直接载入rb doModInit*后run的话exit code 055。
对ptrace和sysctl下断点,初步判断不是这两种anti-debugging的方式。对exit下断点也断不到,直接跑飞exit code 055。
有大大了解其他anti-debugging的方式么?

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 183
活跃值: (1289)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
不要想太多2333
2014-8-18 15:38
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
也没想太多吧
2014-8-18 15:42
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最后确定是通过syscall调用0x1a系统调用设置禁止调试的
2014-8-19 10:22
0
雪    币: 287
活跃值: (618)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
IOS有这种禁止调试的标志开关,LZ能科普你的经验么
2014-8-20 01:56
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
有两篇文章讲这个
4a4K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4G2M7X3g2V1N6h3#2H3i4K6u0W2k6%4u0Q4x3V1k6S2M7Y4c8A6j5$3I4W2M7#2)9J5c8X3W2G2M7#2)9J5k6r3q4F1N6r3W2Q4x3X3c8V1k6h3u0#2k6$3N6A6L8X3N6Q4x3X3c8H3M7X3!0@1k6h3y4@1K9h3!0F1M7#2)9J5k6s2m8S2M7Y4c8Q4x3X3b7I4i4K6u0r3
695K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4G2M7X3g2V1N6h3#2H3i4K6u0W2k6%4u0Q4x3V1k6S2M7Y4c8A6j5$3I4W2M7#2)9J5c8X3W2G2M7#2)9J5k6r3q4F1N6r3W2Q4x3X3c8V1k6h3u0#2k6$3N6A6L8X3N6Q4x3X3c8H3M7X3!0@1k6h3y4@1K9h3!0F1M7#2)9J5k6s2m8S2M7Y4c8Q4x3X3b7J5i4K6u0r3
第一篇讲通过ptrace系统调用设置PT_DENY_ATTACH,通过断ptrace系统调用就行;有时候开发中不会直接调用ptrace,而是通过syscall加系统调用号0x1a来实现。
第二篇就是通过sysctl,查看进程信息里的标记,看自己进程有没有被trace,有的话可以自己退出或其他。

另外就是stackoverflow上也有讲其他方法,986K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4y4@1j5h3y4C8L8%4k6W2M7X3k6D9L8%4N6Q4x3X3g2U0L8$3#2Q4x3V1k6I4N6h3g2K6N6r3W2G2L8Y4y4Q4x3V1j5K6y4e0V1$3y4K6R3I4i4K6u0r3k6r3g2@1k6h3y4@1i4K6u0V1K9h3k6Q4x3X3c8Y4k6r3u0Q4x3X3c8A6M7#2)9J5k6s2u0#2L8X3&6A6L8X3M7`.
fork一个子进程去ptrace attach父进程,如果父进程已经被gdb依附,这个操作就会失败,于是判断有调试器。
2014-8-25 11:53
0
雪    币: 189
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tbl
7
mark
2015-1-6 18:21
0
游客
登录 | 注册 方可回帖
返回