我正在制作一个使用AutoIt显示hello world
的程序。汇编代码用于其他语言的示例,但不用于AutoIt。代码是:
char code[] =
"\xb8\x04\x00\x00\x00"
"\xbb\x01\x00\x00\x00"
"\xb9\x00\x00\x00\x00"
"\xba\x0f\x00\x00\x00"
"\xcd\x80\xb8\x01\x00"
"\x00\x00\xbb\x00\x00"
"\x00\x00\xcd\x80";
我会尝试使用AutoIt:
$pt = DLLStructCreate("byte[" & BinaryLen($YourShellcode) & "]")
DllStructSetData($pt, 1, $YourShellcode)
$y=DllStructGetPtr($pt)
_WinAPI_CallWindowProc($y, 0, 0, 0, 0)
但我不知道如何包含此汇编代码来打印hello world
。怎么做?只有hello world
使用asm和AutoIt的小例子。
答案 0 :(得分:1)
你试过这个吗?
#include <WinAPI.au3>
Global $YourShellcode = "0xb804000000bb01000000b900000000ba0f000000cd80b801000000bb00000000cd80"
$pt = DLLStructCreate("byte[" & BinaryLen($YourShellcode) & "]")
DllStructSetData($pt, 1, $YourShellcode)
$y=DllStructGetPtr($pt)
_WinAPI_CallWindowProc($y, 0, 0, 0, 0)