欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

請進! (1千字)

請進! (1千字)

Asprotect1.0針對只有.rdata section的編碼方式,是它會將Image_Thunk_D
ata這個矩陣結構放在.rdata section的開頭,即004C0000開始,Size是728h
而Import1.bin則是Image_Thunk_Data所對應的API位址; 我們為什麼要將API
的位址粘貼至Image_Thunk_Data中呢? 因為Asprotect1.0(1.07以上編碼方式
又不同)會將Image_Thunk_Data分成兩類:
  (1)01xxxxxx <-- Asprotect的轉換Code
  (2)API位址
舉個例子來說明: 例如iGame.exe它要調用RegCloseKey這個API時, 它的代碼
是這樣的:
  Call [004C0000] <-- (A)
其中的[004C0000]在未脫殼時, 其值是01xxxxxx,上面的Code(A)可寫成
  Call 01xxxxxx, 再經Asprotect的轉換會指向RegCloseKey的位址即
BFEA1644, 其時它最終可寫成
  Call BFEA1644
但是當我們脫殼後,01xxxxxx的Code以不復存在,所以我們才用BFEA1644去取代
01xxxxxx,讓程式能直接去Call這個API,基本原理就是那麼簡單.
  最後你問到iGame.exe的Raw Offset是26E00怎麼會粘貼至4B600處, 你仔細看文章,我寫的是粘貼至iGdump.exe(即我們dump下來的程式)它的Raw Offset是4B600,這是Procdump分配的, 若還有疑問我建議你再多讀點PE結構的
資料,會比較容易吸收, 祝好運!!!
      JOHNSON    2000\10\09

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功