首页
社区
课程
招聘
[求助]请问下暗桩的原理是什么
发表于: 2013-7-13 18:56 22324

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

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

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

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