![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-12 00:29 |
共 47,812 主题排行 / 349,915 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创vbs]********any2bat******** |
| 可打印版本 1,427 / 13 |
| 第1楼 s11ss | 发表于 2008-01-05 16:47 |
| 银牌会员 发帖 566 积分 2,098 | |
|
[原创vbs]********any2bat******** 在与knoppix7兄的探讨中,知道了bx的作用,特作修改使待转换的文件的大小“理论上”无限制(因为处理64KB以上的文件还是比较慢): 在与knoppix7兄的探讨中,又发现由于debug的e命令的限制使上面的代码不能正确还原成原文件。特改变方案,采用copy/b的方式,可对64KB以上的文件完全还原。大家可用"%ALLUSERSPROFILE%\Documents\My Pictures\示例图片\Sunset.jpg"实验一下(可用fc/b来比较原文件和还原出来的文件)。 修改后的代码:(感谢zh159兄的建议) [ Last edited by s11ss on 2008-1-17 at 07:57 PM ] |
|
| 第2楼 knoppix7 | 发表于 2008-01-05 17:19 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
文件大小有限制吗?
|
|
| 第3楼 s11ss | 发表于 2008-01-05 18:59 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by knoppix7 at 2008-1-5 05:19 PM: 越大越慢(哎,废话),理论上是没限制的 [ Last edited by s11ss on 2008-1-5 at 07:01 PM ] |
|
| 第4楼 s11ss | 发表于 2008-01-06 14:14 |
| 银牌会员 发帖 566 积分 2,098 | |
|
弄错了,有限制,文件大小<64KB,是debug的原因。
|
|
| 第5楼 knoppix7 | 发表于 2008-01-06 18:06 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
我现在是.
DEBUG 64KB限制. VBS写入内存限制 (一个变量1M多.....占用虚拟内存1000MB.......) |
|
| 第6楼 knoppix7 | 发表于 2008-01-06 19:39 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
破掉64kb限制了.
-rbx BX 0000 :640 -n c:\1oom -w Writing 6400000 bytes (100MB呢) - 原来cx不够放bx ax作用未知 |
|
| 第7楼 s11ss | 发表于 2008-01-06 21:13 |
| 银牌会员 发帖 566 积分 2,098 | |
|
哦,BX为文件长度高16位,CX为文件长度低16位
|
|
| 第8楼 zh159 | 发表于 2008-01-06 21:53 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
可以简写为: |
|
| 第9楼 knoppix7 | 发表于 2008-01-07 19:06 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
恐怖...如果计算没错.
若rbx=FFFF rcx=FFFF 则生成的文件足足有64GB. 就是说。最大可以转64GB的文件. 恐怖..... 64G文件转换完最少需要192GB的空间.... |
|
| 第10楼 knoppix7 | 发表于 2008-01-12 20:55 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
LZ.还是有问题的.
^ Error -e11000 9B 76 4E A6 EA A6 25 98 58 FB 05 BD 6E C3 BD 2A ^ Error -e11010 A2 57 3C 89 4D 20 3D F2 39 50 B7 D3 5A B4 A9 65 ^ Error -e11020 CE B6 0B 2A 9E ED 7A 37 BF C7 9E 36 0C 94 ED 3F ^ Error -e11030 CE 3B 76 C0 78 12 46 F2 A9 D8 33 57 EB 4A A7 04 ^ Error -e11040 B2 CE 56 A3 58 79 A6 4C A8 CA 4B 6D 94 7C CD 3F ^ Error -e11050 3B 86 A8 44 A6 AA B1 91 CA 25 AD D0 82 B3 C7 19 ^ Error -e11060 18 4A 94 DA FD E9 25 4C D2 A0 0E F1 1E 18 DB DE ^ Error -e11070 58 42 04 BD DA 61 02 A6 6D C3 24 07 05 8E C5 19 ^ Error -e11080 BF C5 A2 B4 67 48 3D 84 1C 08 CA 39 2F 3E F8 9B ^ Error -e11090 4C 56 E8 D2 0B 43 B7 51 A7 47 86 0B 58 45 34 31 ^ Error -e110A0 F7 98 C6 我试验过了. 64KB以后的部分必须这么写 E 1000:FFFF XXXXXX E 0001:0000 XXXXXXX |
|
| 第11楼 knoppix7 | 发表于 2008-01-12 21:00 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
貌似W
的话只能W FFFF的 FFFF以后的是用随机数据代替.(太阳) |
|
| 第12楼 s11ss | 发表于 2008-01-12 23:22 |
| 银牌会员 发帖 566 积分 2,098 | |
|
我是这么想的:以64KB为单位,生成n个临时文件t1、t2到tn,然后用copy/b把它们合并成原文件。
|
|
| 第13楼 knoppix7 | 发表于 2008-01-13 10:59 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
和我想的一样.
今天把加密程序写完。 然后把加密部分剥离。剩下的就是any2hex了. |
|
| 第14楼 s11ss | 发表于 2008-01-17 20:09 |
| 银牌会员 发帖 566 积分 2,098 | |
|
从e100到effff,共65280字节。
所以应该是: 以65280字节为单位,生成n个临时文件t1、t2到tn,然后用copy/b把它们合并成原文件。 今天实现了它。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |