如another question中所述,可以修補cmd.exe以禁止「終止批處理作業(是/否)?」信息。 Patching instructions適用於Windows XP。如何禁止Win7 cmd.exe中的「終止批處理作業」
不幸的是,這些修補方向對於Windows 7來說是過時的,我不知道有足夠的程序集來更新它們。 (我知道如何使用十六進制編輯器,並且能夠遵循WinXP的指示。)
基於這些WinXP的指示,我如何更新Windows 7中的cmd.exe來修復這個令人討厭的錯誤?
如another question中所述,可以修補cmd.exe以禁止「終止批處理作業(是/否)?」信息。 Patching instructions適用於Windows XP。如何禁止Win7 cmd.exe中的「終止批處理作業」
不幸的是,這些修補方向對於Windows 7來說是過時的,我不知道有足夠的程序集來更新它們。 (我知道如何使用十六進制編輯器,並且能夠遵循WinXP的指示。)
基於這些WinXP的指示,我如何更新Windows 7中的cmd.exe來修復這個令人討厭的錯誤?
網頁的作者給我更換偏移:
.text:000000004AD1CF53 48 83 3D 8D 02 01 00 00 cmp cs:CurrentBatchFile, 0
.text:000000004AD1CF5B 74 3D jz short loc_4AD1CF9A
.....
.text:000000004AD1CF5D BA 7B 23 00 00 mov edx, 237Bh
.text:000000004AD1CF62 33 C9 xor ecx, ecx
.text:000000004AD1CF64 44 8D 42 AD lea r8d, [rdx-53h]
.text:000000004AD1CF68 E8 E3 7B 00 00 call PromptUser
.text:000000004AD1CF6D 83 F8 01 cmp eax, 1
.text:000000004AD1CF70 74 0B jz short loc_4AD1CF7D
.text:000000004AD1CF72 E8 B9 51 FE FF call ResetCtrlC
^F.text:000000004AD1CF77 90 nop
.text:000000004AD1CF78 E9 46 54 FE FF jmp loc_4AD023C3
.....
.text:000000004AD1CF7D loc_4AD1CF7D: ; CODE XREF:
CheckCtrlC+1ABC0^Xj
.text:000000004AD1CF7D 48 8B 1D 64 02 01 00 mov rbx, cs:CurrentBatchFile
.text:000000004AD1CF84 EB 0F jmp short loc_4AD1CF95
在64位WIN7的cmd.exe即開始從0x20字節偏移0x1c35d
寫一個真正的可執行文件,然後運行你的bat文件和管道來回輸入和輸出,顯然不會傳遞Ctrl + Break?
這看起來幾乎相同爲http://計算器。 COM /問題/ 1234571 /何燦的i-抑制最終止批處理作業進行中CMD-EXE – sorin 2009-12-28 16:34:21