对付自校验

转载 2007年10月04日 17:07:00
现在的软件为了保护自身不被修改,防止脱壳,不少都加上了自身的完整性校验,一旦发现自己的关键指令被修改或被脱壳了之后,毫无提示地就拒绝运行。这种令人头疼的自校验相信难住了不少跟我一样的菜鸟!后来再遇到自校验,就只好开2个OD,下断CreateFilaA,然后,一步一步地跟,一句一句地对照,不知道经过多少步之后,哈,发现了一个跳转不一样,激动地改掉,成功。对于这样直接比较的软件校验还可以用这种不怕脏不怕累的方法搞定,但是对于那种将自身一个字节一个字节读取出来,然后经过超级变态复杂地算法运算过后,得到了几个值,偷偷记下来,或作为后面程序运行的关键值,或者分开几个地方偷偷比较,如果不对,就异常啦!这样的校验,相信光凭耐心和运气是不行的吧?前几天在FLY老大的论坛偶尔看到了fxyang大侠的文章:浅谈cool edit pro2.1脱壳后解决自校验,就是这样的校验方法。fxyang大侠的解决方法是:跟踪原版程序,由于校验算法复杂,不分析过程,只看得到几个结果,记下他们的值,然后在脱壳后的文件中强行将原版的值写入,最后问题解决。这种方法虽然巧妙,但是还是要分析原版计算出的几个值,并且要在脱壳文件中一个一个写入,修改字节过多,容易出错,毕竟如果有一个地方没有看到就会前功尽弃。有没有更好更简便的方法呢?呵呵,终于到主题了,呼~ 静下心来仔细想一下,总结一下程序是如何校验的:首先GetModuleFileName得到自身路径和文件名,然后CreateFile打开自身,接下来,如果是简单地比较大小,就调用GetFileSize得到程序大小,和原版大小比较,size大了就OVER,这种比较简单;如果要进行CRC等算法校验,就会CreateFileMapping映射的一块内存中准备ReadFila读取计算,最后计算出几个值... 呵呵,注意到了吗?无论哪中方法,都要CreateFile打开自身,才能进行下一步操作,那想到了吗?既然程序要打开文件校验,我们就想办法让它不打开自身而是打开原版去计算、校验,这样无论它怎么变态,复杂,计算结果都是正确的 .

对付自校验的杀手锏 -- 偷天换日

对付自校验的杀手锏 -- 偷天换日[Cracker]    : prince[时间]             : 2005.06.30[声明]             : 只做技术交流,不做商业用途,...
  • islq
  • islq
  • 2005年07月03日 17:26
  • 1553

关于程序自校验的一些分析

当我们脱完壳后发现,程序提示被非法修改,我们知道它是有自校验的。在平时工作中,我们脱完壳修复完毕而且如果有附加数据加上附加数据之后,如果还是没法将程序跑起来,那么我们在保证没有找错OEP的前提下,就需...
  • m0_37120576
  • m0_37120576
  • 2017年05月01日 15:12
  • 404

(8)去除自校验

今天我们就掌握一下怎么去除自校验,软件是一个网吧注册工具,看了下只要修改一处自校验就可以让程序正常运行,所以拿出来做实例,有些厉害的自校验强度又大而且有多重不同自校验,以前有个一个crackme,居然...
  • eldn__
  • eldn__
  • 2012年10月03日 15:13
  • 2411

VC++程序自校验的简单方法

在Project->Settings->Link中去掉Generate debug info和Link incrementlly选项,再选择Category组合框的Customize,去掉Use pr...
  • LewenSky
  • LewenSky
  • 2011年01月24日 11:19
  • 825

delphi EXE文件自效验

var stream: TMemoryStream; CrcValue,OldCrcValue: DWORD; exename: string; WriteBuf: array[0..3] o...
  • chinazhd
  • chinazhd
  • 2011年05月23日 18:13
  • 1783

在 VS2008 下用 CRC32 算法实现程序自校验

老话题,程序自校验。不过放在 VS2008 下,情况又发生了变化。   作为软件开发者,我们一般不希望程序出来之后被人非法修改,比如破解或冠以 xxx 版等称谓,所以都会跟反调试反跟踪作斗争,当然,提...
  • DavidHsing
  • DavidHsing
  • 2009年05月14日 17:32
  • 5824

2010.11.03_ximo_过VMP加壳程序的自效验(vmp 2.06)

http://hi.baidu.com/ximo2006/blog/item/144661313b85224cac4b5f60.html VMP加壳的选项中,有个内存效验选项,默认是勾上的,于是...
  • gold2008
  • gold2008
  • 2012年05月06日 22:03
  • 4758

我怎么对付流氓软件

搞软件的,一大副业是当兼职IT,经常有人找我解决各种各样的电脑问题。今天早上我还没起床就有一位打电话过来问IE一打开就崩溃是怎么回事。帮他一查,好家伙,乱七八糟的流氓插件不知怎的装了不少。其实一直以来...
  • singlerace
  • singlerace
  • 2006年12月17日 17:32
  • 7693

Android开发WebView加载自签名认证的https网址

之前webview都是显示http网址的,或者是显示出名的https网址,比如百度     因为安全性问题,需要用上https防止别人抓取到请求链接,省钱就自签名生成cer和p12后缀的证书,这两个证...
  • u010074743
  • u010074743
  • 2017年06月17日 10:41
  • 1522

struts2二维码生成和校验

二维码生成和校验 在struts2.0的学习中,如果想在此基础上实现二维码的生成和验证,首先得熟悉二维码的生成和校验。其中最主要的还是得熟悉struts运行机制,处理流程。 这里先熟悉struts...
  • hanjiancanxue_liu
  • hanjiancanxue_liu
  • 2013年06月10日 13:20
  • 2203
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对付自校验
举报原因:
原因补充:

(最多只允许输入30个字)