2011 02 03 理解了VMP保護的原理

2021-06-06 07:10:01 字數 550 閱讀 1309

理解了vmp保護的原理

把x86指令  push(入棧) 之後 加密 然後  jmp到虛擬機器  然後通過直譯器,模擬cpu對指令進行執行     

比如vmprotectbegin

push 2

push 3

call  0x123456

vmprotectend

把這段**進行加密  變成

jmp 到虛擬機器中

利用直譯器進行解釋執行

加密的時候先把你加密的**加密成他直譯器的**,然後在你的程式中嵌入乙個直譯器

vmp 是從指定位置提取 x86 機器碼分解為對應的 vm_byte ,然後jmp到虛擬機器後,通過 vm_dispatcher 引擎,執行對應的 vm_byte , 有了 np 的 fkvmp 後,方便了提取各個 h 的分部位置(僅此而爾,如果你原來不懂它的,那麼這個外掛程式對你來說還是沒用的)

,出來後從有限的幾個 h 中就可以還原出原始指令的真實意圖(就我感覺,無須還原出(暫時我自己也不能還原出)與原始指令真一一對應的 x86 指令),只能抽象模擬出原始模樣(但這樣對了解演算法和破解就已經足夠了)

理解了自己的工作

工作五年,各種折騰linux uboot,driver,soc,產品,協議棧 afdx,wimax,lora os ucos,rtems,arduino,nuttx,linux,windows 非同步通訊軟體設計,讀了以下文章,深有同感,終於更加深入的理解自己做的東西,理解了自己在2007年左右所想...

終於理解了什麼是LGPL

我 們很熟悉的linux 就是採用了gpl。gpl協議和bsd,apache licence等鼓勵 重用的許可很不一樣。gpl的出發點是 的開源 免費使用和引用 修改 衍生 的開源 免費使用,但不允許修改後和衍生的代 碼做為閉源的商業軟體發布和銷售。這也就是為什麼我們能用免費的各種linux,包括商...

我終於理解了閉包

本文寫於 2020 年 5 月 14 日 閉包這個詞一聽就很高階,令人害怕。但實際上,閉包非常的強大,js 的精髓之一就是閉包。實際上,我們經常在使用閉包,而不自知!kyle simpson 在書中將掌握閉包,比喻為 不像 luke 一樣接受訓練才能掌握原力,而是像 neo 見到矩陣一樣。我們其實一...