2017-04-15 86 views
3

我在製作一個程序,使用AutoIt顯示hello world。彙編代碼在其他語言的示例中使用,但不是AutoIt。該代碼是: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。怎麼做?只有使用asm和AutoIt的hello world的一個小例子。

回答

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)