關於CF的TP禁止雙機除錯的一點記錄

2021-06-07 22:15:27 字數 2381 閱讀 6762

週末忽然蛋疼,無聊想看看tp,然後手頭只有cf這麼乙個tx的遊戲,所以就有了這一點點記錄。

禁止雙機除錯,基本是 kddisabledebugger 這個核心api,首先看一下函式定義

ntstatus kddisabledebugger(void);

因為引數木有,直接改ret

tessafe+0x59dd:

b15479dd 75b0            jne     tessafe+0x598f (b154798f)

直接 nop 

tessafe+0x59dd:

b15479dd 90              nop

b15479de 90              nop

tessafe+0x5b0b:

b1547b0b 7402            je      tessafe+0x5b0f (b1547b0f)

改為 jmp

tessafe+0x5b0b: 

b1547b0b eb02            jmp     tessafe+0x5b0f (b1547b0f)

cf的tp保護貌似沒有最大保護,不知道為嘛。。。

最後附上一點點**。

b13f2abe a18c2c40b1      mov     eax,dword ptr [tessafe+0x15c8c (b1402c8c)]

b13f2ac3 8b402c          mov     eax,dword ptr [eax+2ch]

b13f2ac6 3305882c40b1    xor     eax,dword ptr [tessafe+0x15c88 (b1402c88)]

b13f2acc 7404            je      tessafe+0x5ad2 (b13f2ad2)

b13f2ace ffd0          

call    eax

b13f2ad0 eb24           jmp     tessafe+0x5af6 (b13f2af6)

b13f2ad2 803d4ae23fb100  cmp     byte ptr [tessafe+0x1124a (b13fe24a)],0

b13f2ad9 751b            jne     tessafe+0x5af6 (b13f2af6)

b13f2adb 688b010000      push    18bh

b13f2ae0 68e64d6e43      push    436e4de6h

b13f2ae5 6873426e57      push    576e4273h

b13f2aea e81dd9ffff      call    tessafe+0x340c (b13f040c)

b13f2aef c6054ae23fb101  mov     byte ptr [tessafe+0x1124a (b13fe24a)],1

b13f2af6 8b0d3ce23fb1    

mov     ecx,dword ptr [tessafe+0x1123c (b13fe23c)] ds:0023:b13fe23c=

b13f2afc 85c9            test    ecx,ecx

b13f2afe 740f            je      tessafe+0x5b0f (b13f2b0f)

b13f2b00 a140e23fb1      mov     eax,dword ptr [tessafe+0x11240 (b13fe240)]

b13f2b05 85c0            test    eax,eax

b13f2b07 7406            je      tessafe+0x5b0f (b13f2b0f)

b13f2b09 3901            cmp     dword ptr [ecx],eax

b13f2b0b 7402            

je      tessafe+0x5b0f (b13f2b0f)

b13f2b0d 8901            

mov     dword ptr [ecx],eax

b13f2b0f c3              ret

留意紅色部分。

第乙個是call kddisabledebugger 

第二個是 kidebugroutine ,是個全域性變數,這個的意思是決定是否除錯的乙個標誌。

摘自 restos 的一點**

第三處是決定性的乙個地方。

第四個是賦值了,也就是kddisabledebugger的作用所在。

TP除錯遇到的問題

一 i2c已經掛載,但是不通 可能情況 1 i2c位址不對 2 上電問題 電壓不對,時序不對 3 硬體問題 pin腳不對 二 i2c通了,但是沒有中斷 可能情況 1 中斷腳不對 2 中斷gpio模式不對 3 中斷觸發方式不對 三 開始報點,但是觸控螢幕不工作 可能情況 1 報點函式順序不對 2 在p...

雙機除錯準備過程遇到的問題

一般的過程 1.安裝winddbg和虛擬機器,2.虛擬機器設定,用命名管道模擬乙個串列埠 pipe com 1 this end is then server 3.主機增加bat檔案 b k com pipe,port pipe com 1,baud 115200,reconnect y 4.虛擬機...

1394雙機除錯的問題

我原來用串列埠除錯,速度很慢,現在買了乙個1394卡,結果雙機除錯總是連不上,請各位大俠教教我啊。具體情況是,筆記本原生1394,4針小口,台式電腦買了乙個via 1394 pci e卡插上,可以正確識別。台式電腦是大口6針1394介面,用4轉6的線盒筆記本連線。xp下面,系統自動安裝1394 網絡...