中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 19:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]复制后不能使用的批处理: 查看 1,357 回复 10
楼 主 [原创]复制后不能使用的批处理: 发表于 2008-04-20 12:39 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
一时没事写来好玩的,下面的这段代码运行一次后,原文件移动或复制的文件都不能用(表现为报错),如加在别的批处理中并转为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 ]
批处理之家新域名:www.bathome.net
2 发表于 2008-04-20 15:05 ·  中国 广东 广州 天河区 电信
初级用户
积分 33
发帖 18
注册 2008-04-20 11:54
18年会员
UID 116395
性别 男
来自 广州市
状态 离线
有意思
3 发表于 2008-09-14 11:00 ·  中国 山东 烟台 联通
新手上路
积分 2
发帖 1
注册 2008-07-19 15:47
18年会员
UID 121719
性别 男
状态 离线
呵呵,好东西!
4 发表于 2008-09-14 12:14 ·  中国 广东 广州 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
yjc173:这么久的贴子也让你给挖出来了
5 发表于 2008-09-14 22:05 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
将文件名和路经写入自身,来防止复制和移动这个方法不好,
你的程序给别人使用,人家在自己的机器上都不能复制和移动,这未免太........不方便了 不实用.
告诉你最好的方法是:在自己的机器上可复制和移动,但复制在其他机器上就不能用,这才是真正的防止.
6 发表于 2008-09-16 17:33 ·  中国 浙江 宁波 北仑区 电信
初级用户
积分 110
发帖 41
注册 2007-03-31 17:20
19年会员
UID 83521
性别 男
状态 离线
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 ]
7 发表于 2008-09-17 09:40 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
根据计算机网卡的MAC地址,我以前也是这样用的。但是用了一段时间,在有的机器上

就会出问题。即多网卡机器会判断错误。现在已经修改了,用另外的方法可以避免多

网卡机器判断错误的问题。
8 发表于 2008-09-17 13:43 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
18年会员
UID 122532
性别 男
状态 离线
没有代码! 光说的理论呀,实践起来比较难吧
9 发表于 2008-09-17 20:01 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
你想要现成的代码啊? 也不是没有,主要看你想获取些什么?获取的识别码是无法更改的,除非把识别代码删除,如果把获取方法和识别码贴出,对自己专例的还有用吗?说实话,要动脑筋.......才有收获
10 发表于 2008-09-17 20:34 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
18年会员
UID 122532
性别 男
状态 离线
获取网卡码,写入自身,。注册码,。应该有比较大的难度
11 发表于 2008-09-17 22:02 ·  中国 江苏 苏州 电信
初级用户
★★
积分 195
发帖 93
注册 2006-10-28 08:20
19年会员
UID 68626
性别 男
状态 离线
批处理就是批处理,没有很好的保密手段,这个基本够用了,整再复杂被人看到代码一样可以简单破解。。
论坛跳转: