瀏覽單個文章
DDTJK
*停權中*
 

加入日期: Oct 2006
文章: 11
請教有除錯大師 組合語言的高手嗎 拜託別沉下去

假設得到記憶體 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但無奈初學者 能力有限

麻煩眾高手大濕指導一下 感謝
     
      
舊 2006-11-12, 11:33 AM #1
回應時引用此文章
DDTJK離線中