软件作者:hellfish
信息来源:邪恶八进制信息安全团队(
www.eviloctal.com)
研究虚拟机,结果做出个编译器,已经彻底的走火入魔了
我居然去更新, 更入魔了, 0.02 支持 -d 编译为 dll 文件,支持 API
真想实现自编译,那样就...
代码例子:
复制内容到剪贴板
代码:
.FILEALIGN 4
//注意,不同的DLL必须单独使用 .IMPORT
//在定义后 API 名称将成为 Label
//你可以用 CALL A[API名称] 的方式使用API
//本文件编译后 516 Bytes
.IMPORT kernel32.dll,GetProcAddress,LoadLibraryA
.IMPORT user32.dll,MessageBoxA
txt1&& DB 'Hello World!'
msgbox: MACRO handle=0,text=0,title=0,button=0
push &button
push &title
push &text
push &handle
call A[MessageBoxA]
END
Start:
msgbox handle=eax,text=txt1,title=txt1,button=0
ret复制内容到剪贴板
代码:
.FILEALIGN 4
//请使用 Xasm -s tiny.asm 命令编译
//使用 -s 命令编译不支持 .IMPORT
//本文件编译后 168 Bytes
.ALIGN 4
Start:
ret[code].FILEALIGN 4
//这个文件编译后是无法执行的
//但是你可以用OD等工具看看被编译成了什么
//本文件编译后 320 Bytes
.ALIGN 2
struct1: STRUCT
FieldDB: DB $90 DIV $90
FieldDW: DW $9090 SHR 10
FieldDD: DD $90909090 / 2
FieldDQ: DQ $90909090 * 2
END
.ALIGN 4
macro1: MACRO param1=0,param2=0
mov eax,