标题: [原创]复制后不能使用的批处理:
[打印本页]
作者: bat-zw
时间: 2008-4-20 12:39
标题: [原创]复制后不能使用的批处理:
一时没事写来好玩的,下面的这段代码运行一次后,原文件移动或复制的文件都不能用(表现为报错),如加在别的批处理中并转为exe将难倒不少人,呵呵。。。
@echo off
for /f "tokens=1" %%i in (%~nx0) do if "%%i"=="::" goto begin
for /f "delims=" %%i in ('cd') do echo.:: %%i\%~nx0>>%~nx0
:begin
for /f "tokens=1* delims= " %%i in (%~nx0) do set path=%%j
for /f "delims=" %%i in ('cd') do if not "%%i\%~nx0"=="%path%" echo 错误!不是原文件,请使用原文件运行。&del /q 复件>nul 2>nul&ping /n 2 127.1>nul&goto :eof
echo 程序开始运行...
pause>nul
[
Last edited by zw19750516 on 2008-4-20 at 05:19 PM ]
作者: siwmm
时间: 2008-4-20 15:05
有意思
作者: yjc173
时间: 2008-9-14 11:00
呵呵,好东西!
作者: radem
时间: 2008-9-14 12:14
yjc173:这么久的贴子也让你给挖出来了
作者: ZJHJ
时间: 2008-9-14 22:05
将文件名和路经写入自身,来防止复制和移动这个方法不好,
你的程序给别人使用,人家在自己的机器上都不能复制和移动,这未免太........不方便了 不实用.
告诉你最好的方法是:在自己的机器上可复制和移动,但复制在其他机器上就不能用,这才是真正的防止.
作者: AppleWolf
时间: 2008-9-16 17:33
Quote: |
Originally posted by ZJHJ at 2008-9-14 10:05 PM:
将文件名和路经写入自身,来防止复制和移动这个方法不好,
你的程序给别人使用,人家在自己的机器上都不能复制和移动,这未免太........不方便了 ... |
|
这个我有办法,已经写好了
根据计算机网卡的MAC地址,进行MD5运算,然后按随机种子生成序列号,再把序列号写入程序,一但换机子,序列号即发生变化,程序则自动拒绝执行,关于验证的问题,我的方法比较笨,是把验证部份随意插入到程序中去,插入很多地方,每处插入都会有不同的赋值,以尽可能防止菜鸟级的跟踪,而任意一处的验证一但失败,则整个程序马上中止.
程序运行一年多了,至今只出现过两次客户试图换机使用,并遭遇失败的情况.
[
Last edited by AppleWolf on 2008-9-16 at 05:34 PM ]
作者: ZJHJ
时间: 2008-9-17 09:40
根据计算机网卡的MAC地址,我以前也是这样用的。但是用了一段时间,在有的机器上
就会出问题。即多网卡机器会判断错误。现在已经修改了,用另外的方法可以避免多
网卡机器判断错误的问题。
作者: dragonamd
时间: 2008-9-17 13:43
没有代码! 光说的理论呀,实践起来比较难吧
作者: ZJHJ
时间: 2008-9-17 20:01
你想要现成的代码啊? 也不是没有,主要看你想获取些什么?获取的识别码是无法更改的,除非把识别代码删除,如果把获取方法和识别码贴出,对自己专例的还有用吗?说实话,要动脑筋.......才有收获
作者: dragonamd
时间: 2008-9-17 20:34
获取网卡码,写入自身,。注册码,。应该有比较大的难度
作者: metoo
时间: 2008-9-17 22:02
批处理就是批处理,没有很好的保密手段,这个基本够用了,整再复杂被人看到代码一样可以简单破解。。