3.尽可能少地给用户提示信息,因为这些蛛丝马迹都可能导致解密者直接深入到受保护的内核。可以设计软件为当检测到破解企图后,不立即给用户提示信息,而是在系统的某个地方做一个记号,经过一段时间后软件自动停止工作。
4.不要依赖于“GetLocalTime( )”和“GetSystemTime( )”这些常见的函数来获取系统时间,可以通过读取关键系统文件的修改时间来得到系统时间信息。
5.如果采用keyfile(钥匙文件)保护方式,则其尺寸不宜太小,可将其结构设计得比较复杂,在程序中不同的地方对keyfile的不同部分进行复杂的运算和检查。
小提示:
上面提到的一些信息语句是“暴破组织”最基本的突破点,如果在软件开发的过程中,非常显眼地给出了这些提示,无疑慢性自杀。对这些“暴破”高手来说,有了这些提示,软件必将毁灭性的打击。所以开发者必须慎重,不要犯下如此低级的错误。
共享软件的防“暴破”的确是一项复杂而艰巨的任务,我们需要对“暴破”者的思维模式进行细致的研究。先假设暴破者可能采用的“暴破”方法,然后对症下药,对某些薄弱环节进行加强。可以说“暴破”跟防“暴破”是一场智力游戏,就像“猫捉老鼠”一样,虽然“暴破”者无孔不入,但只要开发者采用的“防暴”方法得当,即可将他们拒之门外。