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