首页
论坛
课程
招聘
[求助]请问下暗桩的原理是什么
2013-7-13 18:56 19704

[求助]请问下暗桩的原理是什么

2013-7-13 18:56
19704
脱armadillo的时候,让子进程脱离之后运行几次异常就出错了。之前按照教程贴学习obsidium脱壳也碰到了暗桩,请问是什么原理呢。不明白啊,为什么程序的流程会出错。

【公告】【iPhone 13、ipad、iWatch】11月15日中午12:00,看雪·众安 2021 KCTF秋季赛 正式开赛【攻击篇】!!!文末有惊喜~

收藏
点赞0
打赏
分享
最新回复 (8)
雪    币: 11
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
woosheep 活跃值 2013-7-13 19:03
2
0
F9遇上软件异常
雪    币: 132
活跃值: 活跃值 (29)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
fatecaster 活跃值 1 2013-7-13 21:39
3
0
刚才可能没有说清楚。
我觉得脱壳之后,修复了IAT按理就能直接运行了,因为在oep处dump,程序之后的流程应该就跟没加壳一样了,再修复IAT,api的调用也正常了。可是实际会碰到暗桩,出现运行不了的情况如obsidium1.3。而加壳程序是可以运行的,那么到底这里面是什么在起作用呢。
雪    币: 132
活跃值: 活跃值 (29)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
fatecaster 活跃值 1 2013-7-13 21:42
4
0
armadillo3.7子进程脱离之后是这样的,调试子进程,shiftF9几次,碰到几次异常,就失败了,是不是说,这些SEH起到了检测壳自身是否存在的作用,本来是原本程序不需要的,而加壳时选一定的位置插入的检测?
雪    币: 793
活跃值: 活跃值 (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
老伙计 活跃值 2013-7-13 22:12
5
0
顾名思义,“暗桩”显然是专门针对破解的,当然,一般情况下,只有商业软件才会使用此招。
    作者在软件保护方面故意卖出明显破绽,吸引破解者注意并下手,而实际上程序暗地里却另外布设了若干更加隐秘的保护,程序在运行中如果探测到非法破解,并不是直接报错或拒绝继续运行,而是让程序进入病态并继续运行。这时,程序的核心功能往往丧失或不正常。破解者一般是非专业人士,不会深度去使用专业软件,因而也无法轻易发现问题所在。
    把软件保护和专业应用如此紧密结合,无疑是给破解者设置了一个巨大的障碍,只要保护策略设计得当,可以有效地阻止大多数非专业人员的破解,从而达到保护软件的目的。
雪    币: 132
活跃值: 活跃值 (29)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
fatecaster 活跃值 1 2013-7-13 23:21
6
0
谢谢前辈科普。可是,之前我看脱obsidium1.3的壳,加壳的程序本身是没有暗桩的,加壳之后脱壳才有。
雪    币: 793
活跃值: 活跃值 (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
老伙计 活跃值 2013-7-13 23:48
7
0
      你说的这种情况应该不属于暗桩,最大的可能是输入表没有完全修复好,程序在调用个别API时会导致异常。跟踪脱了壳的程序,看看在哪里出现异常,因为什么导致的异常,再跟踪带壳的程序,在出现异常的地方设置执行断点,断下后,比较一下,看看和无壳程序有什么不同,然后再顺藤摸瓜才有可能解决问题。
雪    币: 132
活跃值: 活跃值 (29)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
fatecaster 活跃值 1 2013-7-14 08:31
8
0
感谢,看来还是得多跟踪才能知道原因。
雪    币: 69
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sdcpzzg 活跃值 2013-7-14 08:39
9
0
感谢指点啊。
游客
登录 | 注册 方可回帖
返回