////////////////////////////////////////////////////////////////////////////////////
//
// FileName : JmpECode.oms(直接轉跳到易格式可執行檔案的原體起始程式碼)
// Author : monkeycz
// Date : 2004-11-28 23:16
// Comment : 搜尋易格式所在的節,找到易格式資料頭資訊,取m_nStartCodeOffset,
// 計算出易格式程式碼的起始位置,下斷點。
//
////////////////////////////////////////////////////////////////////////////////////
EOB Break1
mov reg04,0x400000 //ImageBase,需要自行修改
invoke Search, reg04, "2E65636F64" //查詢易格式所在節
cmp reg00,-1
je nofind //沒有找到:(
mov reg01,reg00
add reg01,0x0C //到VirtualAddress處
invoke ReadMemLong,reg01,0x04 //讀取易格式的VirtualAddress
mov reg05,reg00
add reg05,reg04 //當前易格式所在的節記憶體中的偏移
mov reg03,reg05
add reg03,60 //到m_nStartCodeOffset處
invoke ReadMemLong,reg03,0x04
add reg05,reg00 //計算出易格式程式碼的起始位置
invoke bp,reg05
run
halt
Break1:
invoke bc, eip
jmp target
nofind:
invoke msg,"No find the E code!"
halt
target:
invoke msg,"Look,this is target:)"
halt