反 「ESP定律「 的方法以及原理。

2021-06-16 03:25:34 字數 538 閱讀 9801

對於在2000---2005 左右出的一些殼, esp 定律無疑是他們的噩夢,它幾乎能對他們進行秒殺哦。。。

當乙個外國的高手提出 堆疊平衡 的時候,這種方法被用來對付加了殼的程式,秒殺當時的很多殼。。

回到正題,堆疊平衡,我想知道一點破解的人都應該知道,它可以用於脫絕大部分的壓縮殼,一些早期的加密殼,

想 upx, aspack,北斗這樣的玩意。。

但是,我想,如果我的程式,怎麼樣來保護自己不被秒殺?

很重要的一點,堆疊的平衡被用於脫殼,是因為他能在我們的殼最後解壓或處理完,跳向 oep 時,中斷下來。

我想,我們可以通過修改程式跳向 oep 前的幾個位元組,不讓cracker 能在我們的大門口停下,我們可以在程式入站的

時候,將環境的變數多複製幾份,儲存在幾個不同的位址,當程式出站時,隨即的呼叫恢復環境的函式,讓斷點遠離

我們的oep ,經過我的測試,程式可能會段在程式的領空,對於破解者,這個可不是有用的東西。。。

當然,修改程式,讓堆疊不平衡,也是可以達到這樣的效果,但是,程式的穩定性就不好說了。。。

ESP定律的原理

殼 在一開始會使用pushad指令將所有的暫存器入棧,此時esp所指向的記憶體記錄著某乙個暫存器的值。然後我們esp指向的記憶體處下乙個硬體記憶體訪問斷點 執行完殼 後會將所有的暫存器值出棧以平衡堆疊popad,cpu需要訪問原esp記錄的值,殼 解壓完程式 後,最後平衡堆疊時必然要從esp所指向的...

脫殼 esp定律原理

本帖最後由 zf616545 於 2014 10 2 22 14 編輯 esp定律算是我們在脫殼當中最常使用的方法之一,也特別適合像我一樣的新手!而今天文章說的是esp脫殼的原理和分析!只有知道原理了,我們的技術才能走得列遠!一.準備知識 在我們開始討論esp定律之前,我先給你講解一下一些簡單的彙編...

ESP定律的原理及其適用範圍

在我們開始討論esp定律之前,我先給你講解一下一些簡單的彙編知識。1.call 這個命令是訪問子程式的乙個彙編基本指令。也許你說,這個我早就知道了!別急請繼續看完。call真正的意義是什麼呢?我們可以這樣來理解 2.jmp到call的子程式位址處。例如 00401029.e8 da240a00 ca...