中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 16:18
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » [原创vbs]异或加密
可打印版本  2,726 / 16
第1楼 s11ss 发表于 2008-02-22 19:20
银牌会员 发帖 566 积分 2,098
[原创vbs]异或加密
原理是没错的,不过发现好多vbs都不能转换,这跟WriteLine有关系吧?
高手请赐教!!!!!!!!!!!!!!


代码修改了下,这下甭管啥vbs都能转换了,但是转换后的文件体积更大了。


[ Last edited by s11ss on 2008-2-23 at 12:26 AM ]
第2楼 fastslz 发表于 2008-02-22 19:51
铂金会员 发帖 2,315 积分 5,493 来自 上海

就这段代码有时出现17行1错误
第3楼 fastslz 发表于 2008-02-22 20:07
铂金会员 发帖 2,315 积分 5,493 来自 上海
符号尽力用MsgBox Chr(40)&Chr(34)&Chr(41)否则BUG难免

MsgBox Chr(115)&Chr(49)&Chr(49)&Chr(115)&Chr(115)
第4楼 s11ss 发表于 2008-02-23 00:28
银牌会员 发帖 566 积分 2,098
已作修改
第5楼 dy2003310 发表于 2008-02-23 14:16
初级用户 发帖 68 积分 180 来自 China
凑个热闹---异或加密
希望没理解错

加:
echo exit|cmd /kprompt ed0 51 BE 00 01 BF 00 01 AC 34 33 30 E4 AA E2 F8 59 CD 20 $_g=d0$_njia.txt$_w$_q$_|debug old.txt>nul


解:
echo exit|cmd /kprompt ed0 51 BE 00 01 BF 00 01 AC 34 33 30 E4 AA E2 F8 59 CD 20 $_g=d0$_njie.txt$_w$_q$_|debug jia.txt>nul
第6楼 s11ss 发表于 2008-02-23 15:18
银牌会员 发帖 566 积分 2,098
Originally posted by dy2003310 at 2008-2-23 02:16 PM:

ed0 51 BE 00 01 BF 00 01 AC 34 33 30 E4 AA E2 F8 59 CD 20



很牛啊,顺便问下,为什么要xor ah,ah呢?
第7楼 dy2003310 发表于 2008-02-23 16:14
初级用户 发帖 68 积分 180 来自 China

s11ss兄细心
不用xor ah,ah也行

---
改正
加:
echo exit|cmd /kprompt ed0 51 BE 00 01 BF 00 01 AC 34 33 AA E2 FA 59 CD 20 $_g=d0$_njia.txt$_w$_q$_|debug old.txt>nul


解:
echo exit|cmd /kprompt ed0 51 BE 00 01 BF 00 01 AC 34 33 AA E2 FA 59 CD 20 $_g=d0$_njie.txt$_w$_q$_|debug jia.txt>nul
第8楼 knoppix7 发表于 2008-02-23 17:11
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
貌似把 51 和59去掉也没什么问题.
没有push没有影响?
第9楼 dy2003310 发表于 2008-02-23 18:01
初级用户 发帖 68 积分 180 来自 China
呵呵
knoppix7兄说的是
开始试验时我是想在debug中多次执行来看结果
就先将字节数保存起来
避免加密后cx为0
再接着解密就不行了

佩服兄的细心
再改
加:
echo exit|cmd /kprompt ed0 BE 00 01 BF 00 01 AC 34 33 AA E2 FA CD 20 $_g=d0$_njia.txt$_w$_q$_|debug old.txt>nul

解:
echo exit|cmd /kprompt ed0 BE 00 01 BF 00 01 AC 34 33 AA E2 FA CD 20 $_g=d0$_njie.txt$_w$_q$_|debug jia.txt>nul
第10楼 knoppix7 发表于 2008-02-23 18:17
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
就是说.push的作用相当于setlocal?
弹出了以后一切还原?
没学过汇编见谅
第11楼 knoppix7 发表于 2008-02-23 18:24
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
dy2003310兄。十分感谢.这下弄文本加密就永不找狂读HEX了.
真是省了不少事呢.过几天去找套自己自己学学看.汇编真强大..
第12楼 dy2003310 发表于 2008-02-23 18:44
初级用户 发帖 68 积分 180 来自 China
knoppix7兄
那两者的作用应是不同的
push的作用只是将某个寄存器的值压入堆栈(某个内存单元)保存
pop是将栈中的值交还给原先(push 后面的)的寄存器 当然也可交给其它的寄存器
在这里因要用到debug中的w命令
而w命令要求预先在bx,cx中放置文件长度
----
就我上面的代码来说 被加密的文本应小于或等于(64k-100h byte)
s11ss兄的就没有此限制
---
越来越发觉自己的表达有问题
knoppix7兄还是自己找资料看看
不要让我给弄糊涂了
呵呵
第13楼 knoppix7 发表于 2008-02-23 18:56
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
十分感谢.
是不是就是rcx和rbx里的cx和bx?
防止文件长度被清零。让W无法写入.
push将cx放到其他地方保存起来.待操作完成.用pop还原回去

找点书看看去.现在是明白到微软WSM一直不放弃DEBUG的原因了

PS:汗,一直以为rcx/rbx就是一个命令.现在才明白.(害得我以前还要自己计算文件长度..)

PS2:debug已经够用了.64K除非他写系统优化的VBS,要不然到不了.
第14楼 dy2003310 发表于 2008-02-23 20:31
初级用户 发帖 68 积分 180 来自 China
呵呵
就是那个
第15楼 lvsea2008 发表于 2008-02-24 14:38
新手上路 发帖 1 积分 2
谢谢分享
学习下
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023