各种编程语言入口特征码

Microsoft Visual Basic 5.0 / 6.0

JMP DWORD PTR DS:[<&MSVBVM60.#100>]    ; MSVBVM60.ThunRTMain
PUSH PACKME.00407C14
CALL <JMP.&MSVBVM60.#100>
ADD BYTE PTR DS:[EAX],AL
ADD BYTE PTR DS:[EAX],AL
ADD BYTE PTR DS:[EAX],AL
XOR BYTE PTR DS:[EAX],AL

或者没有第一行jmp指令:

push dumped_.0040D4D0
call <jmp.&msvbvm60.ThunRTMain>
add byte ptr ds:[eax],al
add byte ptr ds:[eax],al
add byte ptr ds:[eax],al
xor byte ptr ds:[eax],al
add byte ptr ds:[eax],al

C++

JMP SHORT BCLOCK.0040164E
DB 66                                  ;   CHAR 'f'
DB 62                                  ;   CHAR 'b'
DB 3A                                  ;   CHAR ':'
DB 43                                  ;   CHAR 'C'
DB 2B                                  ;   CHAR '+'
DB 2B                                  ;   CHAR '+'
DB 48                                  ;   CHAR 'H'
DB 4F                                  ;   CHAR 'O'
DB 4F                                  ;   CHAR 'O'
DB 4B                                  ;   CHAR 'K'
NOP
DB E9
DD OFFSET BCLOCK.___CPPdebugHook
MOV EAX,DWORD PTR DS:[4EE08B]
SHL EAX,2
MOV DWORD PTR DS:[4EE08F],EAX
PUSH EDX
PUSH 0                                   ; /pModule = NULL
CALL <JMP.&KERNEL32.GetModuleHandleA> ; GetModuleHandleA
MOV EDX,EAX

Microsoft Visual C++ 6.0

PUSH EBP                               ;   (初始 cpu 选择)
MOV EBP,ESP
PUSH -1
PUSH Screensh.00563740
PUSH Screensh.0049C78C                ;   SE 处理程序安装
MOV EAX,DWORD PTR FS:[0]
PUSH EAX
MOV DWORD PTR FS:[0],ESP
SUB ESP,58

Borland Delphi 6.0 - 7.0

PUSH EBP
MOV EBP,ESP
ADD ESP,-14
PUSH EBX
PUSH ESI
PUSH EDI
XOR EAX,EAX
MOV DWORD PTR SS:[EBP-14],EAX
MOV EAX,unpack.00509720
CALL unpack.0040694C

易语言入口

call dump_.0040100B
push eax
call <jmp.&KERNEL32.ExitProcess>
push ebp
mov ebp,esp
add esp,-110
jmp dump_.0040109C
imul esi,dword ptr ds:[edx+6E],6C
outs dx,byte ptr es:[edi]

Microsoft Visual C++ 6.0 [Overlay] E语言

PUSH EBP
MOV EBP,ESP
PUSH -1
PUSH Nisy521.004062F0
PUSH Nisy521.00404CA4                    ;   SE 处理程序安装
MOV EAX,DWORD PTR FS:[0]
PUSH EAX
MOV DWORD PTR FS:[0],ESP

MASM32 / TASM32入口

push 0                                   ; /pModule = NULL
call <jmp.&kernel32.GetModuleHandleA> ; GetModuleHandleA
mov dword ptr ds:[403000],eax
push 0                                   ; /lParam = NULL
push dump.004010DF                       ; |DlgProc = dump.004010DF
push 0                                   ; |hOwner = NULL
push 65                               ; |pTemplate = 65
push dword ptr ds:[403000]             ; |hInst = NULL
call <jmp.&user32.DialogBoxParamA>    ; DialogBoxParamA-

其他一些语言(一些脚本语言后续更新),有误部分请留言

ded3
原文地址:https://www.cnblogs.com/dedeblog/p/6036807.html