假設得到記憶體 03700000h 的數據 大小 25 byte
edx 為指標 = 03700000h
eax 為大小 = 25 byte (HEX)
數據如下
03700000 02 02 25 00 64 6C 20 73 65 6E 64 20 64 61 74 61 %.dl send data
03700010 20 31 30 31 00
第1部分
-------------------------------
將eax暫時存放在 10051300
03700011 03700013 移動到 ax
比較ax 是否等於3131
正確則跳
不跳則又將 10051300 存放的數據放回eax
返回
-------------code--------------
mov dword ptr ds:[10051300],eax
mov ah,byte ptr ss:[edx+11]
mov al,byte ptr ss:[edx+13]
cmp ax,3131
je 跳到第2部分
mov eax,dword ptr ds:[10051300]
retn
--------------------------------
第2部分
-------------------------------
跳以後將 10051310h 位置上的5個位元組 01 01 05 00 01 寫到 edx 的指標 03700000h 位置上
變成
03700000h 01 01 05 00 01
把eax變為00000005
返回
-------------code--------------
?????????
mov eax,5
retn
-------------------------------
第1部分我知道是這樣 但是第二部分 把1005310h 的五個位元組 寫到03700000h該怎麼表現出來呢 也就是問號???部分
我想用SoftICE打個patch但無奈初學者 能力有限
麻煩眾高手大濕指導一下 感謝
