作爲一個安全大學項目,我應該編寫一個PE感染者的代碼。但我是一個彙編程序的初學者,因爲我不知道如何處理變量而導致多次崩潰。裝配中的變量訪問(MASM32)
我知道,在一個正常的程序中,我們有一個。數據部分初始化變量,和。數據?未初始化的變量爲。
但是在這種情況下,每個教程似乎都認爲應該在。代碼部分中定義變量。
從而導致類似的東西:
.386
.model flat, stdcall
option casemap:none
include \masm32\include\masm32rt.inc
.code
start:
mov stuff, 1
ret
stuff dd ?
end start
不幸的是,這將導致分段錯誤,我想不通爲什麼。
另一個例子:
.386
.model flat, stdcall
option casemap:none
include \masm32\include\masm32rt.inc
.code
start:
invoke MessageBoxA, 0, offset hello, offset hello, MB_OK
ret
hello db "Hello buddy", 0
end start
這一個沒有編制,作爲Hello變量在編譯未知(組裝:P)時,這似乎是合法的給我,但然後呢是方式?
這很奇怪,但我的文章的第一行系統地刪除,即使我編輯它...但我確實打招呼:p – FTW
根據網站政策,你不應該添加諸如「你好,」和「感謝您的幫助」到您的文章。這可能是爲什麼網站自動刪除那些(?) – fuz
哦...好吧然後 – FTW