如何将数据写入程序自身?比如我想实现:
每次在VB程序退出时把当前时间存储到VB程序里,然后下次运行程序时再把存储的时间数据读出来与当前时间进行比较,通过这样的方式来实现简单的应用程序保护。求写入方法和读取方法。(请大家帮忙一下,分数不够的话小弟可以再加!)
每次在VB程序退出时把当前时间存储到VB程序里,然后下次运行程序时再把存储的时间数据读出来与当前时间进行比较,通过这样的方式来实现简单的应用程序保护。求写入方法和读取方法。(请大家帮忙一下,分数不够的话小弟可以再加!)
1、编写并生成另一个Exe文件,假设名为:“Midf.exe”,这个Exe没别的用处,就是用于改写你的主Exe;
2、在你的主Exe需写自己时,就退出,并在退出前调用前面那个Midf.exe;
3、Midf.exe要注意,不能一启动就执行改写操作,因为,这时调用它的主程序还没退出,改写会失败的,可用一个Timer延时1-2秒,再执行,执行完就退出;
4、Midf.exe最好不要用exe做扩展名,随便换一个名,如:Midf.dll,主Exe退出时,对其先执行一次复制操作,将其复本命名为Midf.exe,再调用复本。
5、Midf.exe退出时再重新启动主Exe,而主exe同样延时1-2秒,检查一下Midf.exe是否存在,若存在就Kill,整个过程,就一点不留痕迹了。
6、Exe文件头与尾有很多地方可以写内容,你用16进制编辑看看,一些有文本的地方,多数可以改写,你可利用这些位置,文件中间最好别动,因为每次编译后,其位置可能会有变化的。
7、这种方案我以前曾用于过在线升级程序升级自身,很好用。
那你可以用加密算法把用于记录具体数据的文件加密一下就可以了
不管是写注册表还是写文件,都可以监视,关键在于用加密,就算别人知道你把数据方在什么地方也没用。
如果我的数据库是Access,你们认为把关键数据放在加了数据库密码的Access中安全么?
1、程序退出时将自己复制成new.dat,将new.dat作为数据文件修改,然后运行new.dat(shell命令可以运行不是exe的程序)。
2、new.dat运行后发现自己的名字不是main.exe,则隐藏运行并企图删除main.exe。如果删除不成功,就不断重试(要加doevents语句)。删除成功后,new.dat将自己复制到main.exe。
3、可以再次运行main.exe以删除new.dat,但是好像没有太大必要。这个new.dat可以起到声东击西的作用。用户会误以为执行词次数存在了new.dat里面。
虽然改自己程序的方式也不可靠,但是在被别人原理发现之前还是可以尝试的。最好做成多种手段结合的方式。让使用者尝试每一种手段时都不成功。