作为一个安全大学项目,我应该编写一个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