100分求一个VC实现的禁止用户删除注册表的方法
来源:百度知道 编辑:UC知道 时间:2024/06/14 17:15:27
sdhexu - 江湖少侠可否把读写CMOS的代码发上来?我可以给你再加50分
这种加密方法的出发点就不太好。如果非要保护注册表,除非做全局钩子,进行注册表监视,就像瑞星等杀毒软件一样。但是,这需要你的程序一直运行,就是说,要么你做一个服务,要么就向病毒一样神不知鬼不觉的伴随机器启动而启动。。但是,这样的话,你这个软件也就和流氓软件差不多了。。
而且,就算你实现了注册表监控,别人可以通过修改时间来继续使用。另外,还可以将你的监控进程杀死来修改注册表。。所以破解的方法也比较简单,为了不让别人杀死你的监控进程,还要做一些工作,因此,如果非要在这方面下功夫,那你花费的时间和精力,可能要很多,而且需要的技术成本也将很高。
因此,建议你更换一种加密方法吧。加密方法何止千万中。当年我做一个利用CMOS里面的保留字节来存储用户使用次数的。除非用户把电池拿掉来清空CMOS,否则如何也能检测到使用了多少次。而且用户很难想象居然放在CMOS里面。类似的方法很多。。不多说了。
-------------------------------------------------------
当年我是用BC做的。后来没有再弄了。不过你可以嵌入ASM来实现。具体的代码我记得不是很清楚了。但是,我记得写CMOS分两步做,一是向硬件的70端口发送一个指令,表明要写入CMOS的位置。然后,再向71端口发送指令,并指定要写的内容。读的忘了。具体的,你可以去查阅一下相关资料或者baidu一下。 你可以先用DEBUG程序做实验。当年清空CMOS密码就是用debug就可以实现。 o 70 11 o 71 00 这两条指令就可以。后来CMOS有了改进,不同的厂家也对CMOS存储的内容做了不同的修改,但是一些保留没用的字段大都还是一样的。你也可以去搜搜。
另外,我说的这个CMOS的方法,只是一个引喻,你还可以考虑使用其他的方法。很多的。
办法是有的 但是没有绝对安全
我可以给你提一个两个的方案
但是不要说如此这般就可以破解
没有完美的办法
第一.隐藏注册表路径,把信息写在一个千奇百怪的路径中
虽然不那么光明磊落 但是是个好办法