[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[原创] 批处理技术内幕:序

本帖最后由 Demon 于 2012-7-25 20:03 编辑

标题: 批处理技术内幕:序
作者: Demon
链接: http://demon.tw/reverse/cmd-internal-preface.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。

批处理是我见过的最丑陋的脚本,杂乱无章的语法,语焉不详的文档,似是而非的教程,良莠不齐的用户,一切都是那么的混乱不堪。

在我还没有听说过VBScript脚本之前,我就已经开始接触批处理了,那是大一第一个学期的期末考试之后,跟着中国DOS联盟的教程学习,幻想着自己有一天也能成为批处理的高手。后来,中国DOS联盟由兴盛转向衰落,我对VBScript从一无所知到略知一二,然而批处理水平却没有任何长进。

其实这并不能怪我,当你学习过任何一门正常点的编程语言之后再回过头看批处理,你就会对它凌乱的语法感到恶心,对它鸡肋的功能表示不满。如果批处理能做的VBScript都能做,批处理不能做的VBScript也能做,那我还学批处理做什么呢?

如果这个问题有答案的话,那么答案也许就是为了耍酷,或者换一个词,装逼。“嘿,你看,我连批处理都会,是不是很厉害?”

但是想深入了解批处理是很困难的,其他语言都可以在书店找到一摞厚厚的教科书,如果批处理也有那么一本价格不菲的权威书籍,你会掏钱买吗?当然不会!所以不会有这么一本书。至于网上的那些教程,大部分只是帮助文档的简单重复罢了。

于是我想到了逆向分析,借助OllyDbg和IDA Pro等工具来探索cmd.exe的内部运行机制,试图揭开批处理的神秘面纱。我会把分析的笔记整理出来,并取名为《批处理技术内幕》,听起来很牛逼,只不过是为了吸引眼球罢了。

最后以一行没有技术含量的代码结束:
  1. @echo off&setlocal=enabledelayedexpansion&(for=%%!=in=(h=t=t=p=:=/=/=d=e=m=o=n=.=t=w)=do=set,=!,!%%!)&start=!,!&pause
复制代码
提示1:文章的测试环境均为Windows 7 Ultimate Service Pack 1 英文原版,恕不累述,不同的系统之间可能会有细微的差别。

提示2:批处理技术内幕系列文章并不是批处理教程,相反,我假定你有批处理基础,并且最好对字符编码、系统API函数、C语言有所了解,当然懂汇编就更好啦。
2

评分人数

返回列表