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

[其他] 【讨论】debug在bat中的作用

      本贴核心目的
  1.说明debug命令在bat中的作用:生成exe;以及涉及第三方程序时的生成(担心所用的东东用户没有)。
  2.初步说明debug的执行方式。


     至于有些人问的  如何生成debug文件?以及  如何突破debug的64K限制?  等等  不再本贴讨论范围内。

  应 topy12345 和 cy32cxb98 的要求在此讨论.....仅仅是讨论哦  O(∩_∩)O~
------------------------------------------------------------------------------------------------------
      bat作为一个方便快捷的东东,有它的优势,自然也有他的局限性。


      比如:   一些系统函数 API等等  都无法实现。

      echo 和>>的结合给了我们bat操作系统关键部分希望  。 利用这两个命令  可以生成txt,reg,ini.......用他们操作系统的注册表,boot.ini等等关键部分(亦有独立的命令,如: reg add)。

      但是这还不够。  debug生成exe 作为bat的一个扩展出现。  有了exe  我们能干的事情多了.....比如坛子里的【挑战区】,我们都可以用exe来完成。
      有些人问:  这还是bat么?  嘿嘿  debug是bat的一个命令,生成的exe,我们把它当做临时文件好了   (呵呵  有点投机取巧.....)


        以下是debug参数 (只给出bat方面能用到的,  想知道更多 问斑竹去   (~ o ~)~zZ  )

  ? 显示 Debug 命令列表。
  c 比较内存的两个部分。
  d 显示部分内存的内容。
  e 从指定地址开始,将数据输入到内存。
  f 使用指定值填充一段内存。
  g 运行在内存中的可执行文件。
  h 执行十六进制运算。
   /n 为 l 或 w 命令指定文件,或者指定正在测试的文件的参数。
   p 执行循环、重复的字符串指令、软件中断或子例程。
  q 停止 Debug 会话。
  r 显示或改变一个或多个寄存器。
   w 将被测试文件写入磁盘。


     以下给出个例子  :   (自己编的一部分)
由于不知道你们习惯什么样的  注释   就用---------------------来说明


  1. @echo off-------------------- 关闭回显
  2. cls--------------------清屏  此法虽然没有临时文件,但会显示编译过程
  3. more +72 "%~0"|debug&graftabl 936>nul-------------------more 偏移  ,截取我的东东,  你自己要改more的值
  4. copy/b/y C:\WINDOWS\system32\$tmp$ C:\WINDOWS\system32\BL_alarm.exe>nul
  5. del/a/f/q C:\WINDOWS\system32\$tmp$
  6. goto:test_f-------------------这个是去执行下个的 ,
  7. e0100  4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 --------------------文件代码
  8. e0110  B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00
  9. e0120  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  10. e0130  00 00 00 00 00 00 00 00 00 00 00 00 B8 00 00 00
  11. .........
  12. ..........
  13. ...........
  14. rcx
  15. 5FFF
  16. nC:\WINDOWS\system32\$tmp$
  17. w
  18. q-----------------记得退出
复制代码


   附件是 我写的2个例子 ,已经有权限了,所以发的是成品。
      1.是 实时监控的成品
      2.是md5检测工具的生成(偷懒....  把程序直接截取过来)。

[ 本帖最后由 bluewing009 于 2009-12-1 17:27 编辑 ]

回复 3楼 的帖子

说明啊~~~
附件和帖子上的都是为了讲解的例子样品  拿来直接用肯定是失败的。

虽然我有完整的  但是权限不足 大小超过了。

或者谁帮我发一下 ?


更新:   现在例子已经完整了。

[ 本帖最后由 bluewing009 于 2009-12-1 17:27 编辑 ]

TOP

回复 7楼 的帖子

64K 限制用第二种>>法可以,或者分开最后在合起来。
n命令  使我们自己设定的,可以不考虑特殊情况。

确实没看到debug的帖子......55555555

帖子目的已经在 开头说的很明确了  只是初步讨论
  向你这样  已经掌握的  干吗不跳过去呢?

TOP

回复 9楼 的帖子

呵呵  你这两个拿给别人看 .....效果如何?

本来 debug在bat的应用 就不是很普遍。  你这个虽然以第一名的文件举例子,
但是 到底讲了debug多少东西,对于 来坛子里的人来说,最需要的、

是你的原理?还是仅仅是要个工具 ? 亦或者 仅仅要求浅显的了解 工作方式?

TOP

回复 9楼 的帖子

debug该给谁用?   是版主?  是管理员?还是技术组?

debug 命令 该放在什么位置?我们到底需要它干什么?

如果是技术组考核问题 还可以理解,如果像我帖子开头说明 的 只是 讨论  而不是你们的【教学贴】的话,
发这两篇文章明显 过头了

TOP

回复 15楼 的帖子

原创区  ....   斑竹有权限,站着说话不腰疼哦  ...谁让我权限不足哦~

至于称为“讨论”,因为 debug命令 我也是初学,涉及不深。没有各位斑竹的学识,
说以 不能成为“教学贴”。因为自己的知识面窄,我只是抛砖引玉。特别是 Batcher ,他总能想出一些新东西,所以  “讨论”  的作用之一是用来钓他的哦  O(∩_∩)O~

TOP

返回列表