
【討論】debug在bat中的作用本貼核心目的:1.說明debug命令在bat中的作用:生成exe;以及涉及第三方程序時(shí)的生成(擔(dān)心所用的東東用戶沒有)。2.初步說明debug的執(zhí)行方式。 至于有些人問的如何生成debug文件?以及如何突破debug的64K限制?等等不再本貼討論范圍內(nèi)。應(yīng) topy12345 和 cy32cxb98 的要求在此討論.....僅僅是討論哦O(∩_∩)O~------------------------------------------------------------------------------------------------------bat作為一個(gè)方便快捷的東東,有它的優(yōu)勢,自然也有他的局限性。比如: 一些系統(tǒng)函數(shù) API等等都無法實(shí)現(xiàn)。echo 和>>的結(jié)合給了我們bat操作系統(tǒng)關(guān)鍵部分希望。 利用這兩個(gè)命令可以生成txt,reg,ini.......用他們操作系統(tǒng)的注冊表,boot.ini等等關(guān)鍵部分(亦有獨(dú)立的命令,如: reg add)。但是這還不夠。debug生成exe 作為bat的一個(gè)擴(kuò)展出現(xiàn)。有了exe我們能干的事情多了.....比如壇子里的【挑戰(zhàn)區(qū)】,我們都可以用exe來完成。有些人問:這還是bat么?嘿嘿debug是bat的一個(gè)命令,生成的exe,我們把它當(dāng)做臨時(shí)文件好了 (呵呵有點(diǎn)投機(jī)取巧.....)以下是debug參數(shù) (只給出bat方面能用到的,想知道更多 問斑竹去 (~ o ~)~zZ) ? 顯示 Debug 命令列表。 c 比較內(nèi)存的兩個(gè)部分。 d 顯示部分內(nèi)存的內(nèi)容。 e 從指定地址開始,將數(shù)據(jù)輸入到內(nèi)存。 f 使用指定值填充一段內(nèi)存。 g 運(yùn)行在內(nèi)存中的可執(zhí)行文件。 h 執(zhí)行十六進(jìn)制運(yùn)算。/n 為 l 或 w 命令指定文件,或者指定正在測試的文件的參數(shù)。 p 執(zhí)行循環(huán)、重復(fù)的字符串指令、軟件中斷或子例程。 q 停止 Debug 會話。 r 顯示或改變一個(gè)或多個(gè)寄存器。 w 將被測試文件寫入磁盤。 以下給出個(gè)例子: (自己編的一部分)由于不知道你們習(xí)慣什么樣的注釋 就用---------------------來說明
附件是 我寫的2個(gè)例子 ,已經(jīng)有權(quán)限了,所以發(fā)的是成品。1.是 實(shí)時(shí)監(jiān)控的成品2.是md5檢測工具的生成(偷懶....把程序直接截取過來)。[ 最后由 bluewing009 于 2009-12-1 17:27]nclick="copycode($('code0'));">復(fù)制代碼
- @echo off-------------------- 關(guān)閉回顯
- cls--------------------清屏此法雖然沒有臨時(shí)文件,但會顯示編譯過程
- more +72 %~0|debug&graftabl 936>nul-------------------more 偏移,截取我的東東,你自己要改more的值
- copy/b/y C:WINDOWSsystem32$tmp$ C:WINDOWSsystem32BL_alarm.exe>nul
- del/a/f/q C:WINDOWSsystem32$tmp$
- goto:test_f-------------------這個(gè)是去執(zhí)行下個(gè)的 ,
- e01004D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 --------------------文件代碼
- e0110B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00
- e012000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- e013000 00 00 00 00 00 00 00 00 00 00 00 B8 00 00 00
- .........
- ..........
- ...........
- rcx
- 5FFF
- nC:WINDOWSsystem32$tmp$
- w
- q-----------------記得退出

