各种开发语言的入口方法

入口点不看地址看特征

1.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
  
2.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
  
3.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
  
4.Microsoft Visual Basic 5.0 / 6.0
  
JMP DWORD PTR DS:[] ; MSVBVM60.ThunRTMain
  PUSH PACKME.00407C14
  CALL
  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
  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
  
5.BC++
  
JMP SHORT BCLOCK.0040164E
  ; CHAR 'f'
  ; CHAR 'b'
  ; CHAR ':'
  ; CHAR 'C'
  ; CHAR '+'
  ; CHAR '+'
  ; CHAR 'H'
  ; CHAR 'O'
  ; CHAR 'O'
  ; CHAR 'K'
  NOP
  00401649 |E9 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   ; \GetModuleHandleA
  MOV EDX,EAX
  
6.Dasm:
  
; /pModule = NULL
  CALL   ; \GetModuleHandleA
  MOV DWORD PTR DS:[40350C],EAX
  CALL   ; [GetCommandLineA
  MOV DWORD PTR DS:[403510],EAX
  PUSH 0A ; /Arg4 = 0000000A
  PUSH DWORD PTR DS:[403510] ; |Arg3 =  00000000
  PUSH 0 ; |Arg2 = 00000000
  PUSH DWORD PTR DS:[40350C] ; |Arg1 =  00000000
  
7.VC8 -> Microsoft Corporation
  
call QQRecord.00446C13                    ; (Initial CPU selection)
  jmp QQRecord.0043DD01
  push ebp
  mov ebp,esp
  push ecx
  push ebx
  mov eax,dword ptr ss:[ebp+C]
  add eax,0C
  mov dword ptr ss:[ebp-4],eax
  mov ebx,dword ptr fs:[0]
  mov eax,dword ptr ds:[ebx]
  mov dword ptr fs:[0],eax
  mov eax,dword ptr ss:[ebp+8]
  mov ebx,dword ptr ss:[ebp+C]
  mov ebp,dword ptr ss:[ebp-4]
  mov esp,dword ptr ds:[ebx-4]
  jmp eax
  pop ebx
  leave
  retn 8
  
8.PB
  
PUSH EBP
  MOV EBP, ESP
  PUSH EBX
  PUSH ESI
  PUSH EDI
  MOV EBX, 00416000
  TEST WORD PTR CS:[004113D2], 850F0004
  FILD DWORD PTR [EAX]
  ADD [EAX], AL
  PUSH 00000000
  CALL [00418454] ; CoInitialize
  CALL 0041100A
  MOV [EBX+00000108], 00000001
  LEA EAX, [EBX+00000290]
  PUSH EAX
  CALL [004183DC] ; GetVersionExA
  SUB ESP, 00000044
  MOV [ESP], 00000044
  MOV [ESP+2C], 00000000
  PUSH ESP
  CALL [004183D4] ; GetStartupInfoA
  MOV EAX, 0000000A
  TEST [ESP+2C], 00000001
  JZ 410DBC
  MOVZX EAX, WORD PTR [ESP+30]
  ADD ESP, 00000044
  MOV [EBX+000000FE], EAX
  CALL [004183B0] ; GetCommandLineA
  
9.Borland C++ 1999
  
jmp short VBto_UNP.004014E2
  bound di,dword ptr ds:[edx]
  inc ebx
  sub ebp,dword ptr ds:[ebx]
  dec eax
  dec edi
  dec edi
  dec ebx
  nop
  jmp 0097157A
  mov eax,dword ptr ds:[57008B]
  shl eax,2
  mov dword ptr ds:[57008F],eax
  push edx
  push 0
  call  <jmp.&kernel32.GetModuleHandleA>
  
10,Microsoft Visual C++ ver. 8.0
  
call SolidPDF.004A3F56
  jmp SolidPDF.004A38AF
  int3
  int3
  int3
  int3
  int3
  int3
  push ecx
  lea ecx,dword ptr ss:[esp+8]
  sub ecx,eax
  and ecx,0F
  add eax,ecx
  sbb ecx,ecx
  or eax,ecx
  pop ecx
  jmp SolidPDF.004A3810
  push ecx
  lea ecx,dword ptr ss:[esp+8]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值