疾風合併法則,學會.. ICS不是問題

疾風合併法則,學會.. ICS不是問題
作者:Aaaddress1


假設:

address - opcode

A - call B
C - nop
D - .....(之後不管它了)
============================
B - .....(前面也不理它)
...
..(中間一直都有程序再跑哦)
E - mov ecx,edx <---則我們可以從這裡開始修改.
F - mov eax,ebx
G - ret
============================
myset:
mov ecx,edx
mov eax,ebx
cmp [esp],C //這個位置等於G那個地址的RET的返回值,在A位置CALL的同時就會設定ESP值了
je Setting
ret //假如要改寫的位置不是我們要修改的位置,則跳回正確位置

Setting:
add esp,4 //復原消耗 假如你看不懂意思,就記下來吧,總之沒這行=斷線
[這裡就可以開始寫壞壞的東西]
jmp C //假若你確定ESP=C,則可以直接寫Ret

E:
jmp myset
========================================
補充:
cmp [esp]跟cmp esp ???
cmp esp是比較esp暫存器的value,但是cmp [esp]則是比較esp暫存器存放的數值的value值(這時請把它當作地址來看)

另外cmp [esp]也可以寫為cmp dword ptr [esp] 這兩個意思是一樣的,不過前者寫入記憶體會自動轉換為後者

延伸學習:
ICS寫法呢?
ICS解析(利用Call達到無須Bypass就可以使用的數據)

留言

  1. 安安大大請問您認識這個人嗎?

    https://www.facebook.com/jason.summer.96

    回覆刪除

張貼留言

本月最夯