2009-10-16 49 views
3

another question中所述,可以修補cmd.exe以禁止「終止批處理作業(是/否)?」信息。 Patching instructions適用於Windows XP。如何禁止Win7 cmd.exe中的「終止批處理作業」

不幸的是,這些修補方向對於Windows 7來說是過時的,我不知道有足夠的程序集來更新它們。 (我知道如何使用十六進制編輯器,並且能夠遵循WinXP的指示。)

基於這些WinXP的指示,我如何更新Windows 7中的cmd.exe來修復這個令人討厭的錯誤?

+0

這看起來幾乎相同爲http://計算器。 COM /問題/ 1234571 /何燦的i-抑制最終止批處理作業進行中CMD-EXE – sorin 2009-12-28 16:34:21

回答

3

網頁的作者給我更換偏移:

.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

1

寫一個真正的可執行文件,然後運行你的bat文件和管道來回輸入和輸出,顯然不會傳遞Ctrl + Break?