【文章标题】: CrackMe狂想
【文章作者】: YwdxY
【作者邮箱】: mwdxr2002@hotmail.com
【软件名称】: 无
【下载地址】:
【作者声明】:本人很菜,文中可能有很多可笑之处,祝大家笑一笑十年少!欢迎拍砖。
--------------------------------------------------------------------------------
【狂想过程】
怎么让CM不被他人破解呢?
最好的方法,直接对人下手,色诱利诱,威逼恐吓大牛们,让他们手下留情。哈哈
没那些能耐怎么办?
1,在对方不知道明文代码的情况下,怎么不被破解,或者说很难被破解?
像winrar一样,解码后校验CRC或者其它,CRC错误,那解密的内容也同样错误。 事后诸葛亮,让你永远接触不到明文。
不过winrar的算法好像也被破解了,看到过新闻 -_______-!
2,在对方知道明文代码的情况下呢?如果对方有了一个正确的用户名 密码 注册码 授权文件怎么办?
对方知道了明文代码,你的代码保护做的再好,也有可能被对方直接绕过。DUMP明文代码,复制到你的CM中,直接运行明文代码。
那我们也想想办法,现在很多壳都有ANTI DUMP功能,让你单纯DUMP下来的代码复制到其他CM实例中没办法运行。
怎么样才能实现ANTI DUMP呢?做掉DUMP软件?太暴力不要!
使每一个CM的关键明文代码具有唯一性,然后通过某些方式来检测这唯一性。我们在一个CM里面加入了具有唯一性的东西。
1,这唯一性可能是我们添加的暗桩值,并且CM中其他很多函数需要此暗桩值才能运行,如果此暗桩值被人DUMP成其它了,那么其它函数都不正常工作,以此来检测唯一性。迫使对方要将这些函数一一修复。以此提高破解成本。
2,这唯一性也可能是唯一的VM的HANDLE表 + 唯一的VM函数,每一个CM有自己特定的VM HANDLE表,关键的明文代码是基于此HANDLE表的VM代码,同样的,CM中其它的VM函数也都是基于此VM HANDLE表。同时让VM代码也具有唯一性,写N个VM引擎?那太麻烦了,这对我们菜鸟来说防破解成本太高了。就像 汇编代码可以变形,VM代码同样可以变形,eg: MOV EAX,0 ==》 xor eax,eax ==> mov eax,3 ; sub eax,3.....;VM也可以变,那么多使用与非门,或非门变来变去的大牛,早就现身说法过了。如果DUMP掉这些唯一的VM的HANDLE表 + VM函数,那你的CM也嗝屁了。如果有牛人要 还原此VM,那就让他杀,此时的破解成本应该很高了。
将这些具有唯一性的东西,压缩并放到 授权文件中,以此来与用户信息一一对应。可能就能ANTI DUMP了。
就想到了这些了......
还有很多其它方法来保护CrackMe,大家都来说说看吧。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2009年12月28日 10:34:51
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!