kissy 发表于 2008-3-24 15:47

一些常见语言所编写的程序的OEP特征

标 题: 一些常见语言所编写的程序的OEP特征
作 者: DimRacker
时 间: 2007-01-26 23:54
附 件: pehead.rar
链 接: http://bbs.pediy.com/showthread.php?t=38612
详细信息:

闲得无聊搜集的一些OEP和Section,希望能对研究脱壳的朋友们帮上一点小忙。
末尾有打包下载。

**********************************************************************
Borland C++ 1999

.text
.data
.tls
.rdata
.idata
.edata
.rsrc
.reloc

00401000 Find> $ /EB 10      jmp short Finder33.00401012
00401002   |66         db 66                        ; CHAR 'f'
00401003   |62         db 62                        ; CHAR 'b'
00401004   |3A         db 3A                        ; CHAR ':'
00401005   |43         db 43                        ; CHAR 'C'
00401006   |2B         db 2B                        ; CHAR '+'
00401007   |2B         db 2B                        ; CHAR '+'
00401008   |48         db 48                        ; CHAR 'H'
00401009   |4F         db 4F                        ; CHAR 'O'
0040100A   |4F         db 4F                        ; CHAR 'O'
0040100B   |4B         db 4B                        ; CHAR 'K'
0040100C   |90         nop
0040100D   |E9         db E9
0040100E    . |AC         lods byte ptr ds:
0040100F    . |2348 00       and ecx,dword ptr ds:
00401012    > \A1 9F234800   mov eax,dword ptr ds:
00401017    . C1E0 02       shl eax,2
0040101A    . A3 A3234800   mov dword ptr ds:,eax
0040101F    . 52         push edx                         ; ntdll.KiFastSystemCallRet
00401020    . 6A 00      push 0                        ; /pModule = NULL
00401022    . E8 79010800   call <jmp.&KERNEL32.GetModuleHandleA>          ; \GetModuleHandleA
00401027    . 8BD0      mov edx,eax
00401029    . E8 F64F0700   call Finder33.00476024
0040102E    . 5A         pop edx                         ; kernel32.7C816FD7
0040102F    . E8 544F0700   call Finder33.00475F88
00401034    . E8 2B500700   call Finder33.00476064
00401039    . 6A 00      push 0                        ; /Arg1 = 00000000
0040103B    . E8 48620700   call Finder33.00477288                  ; \Finder33.00477288
00401040    . 59         pop ecx                         ; kernel32.7C816FD7
00401041    . 68 48234800   push Finder33.00482348
00401046    . 6A 00      push 0                        ; /pModule = NULL
00401048    . E8 53010800   call <jmp.&KERNEL32.GetModuleHandleA>          ; \GetModuleHandleA
0040104D    . A3 A7234800   mov dword ptr ds:,eax
00401052    . 6A 00      push 0
00401054    . E9 0BB40700   jmp Finder33.0047C464
00401059 Find> $ E9 76620700   jmp Finder33.004772D4
0040105E    . 33C0      xor eax,eax
00401060    . A0 91234800   mov al,byte ptr ds:
00401065    . C3         retn

EB 10 66 62 3A 43 2B 2B 48 4F 4F 4B 90 E9 AC 23 48 00 A1 9F 23 48 00 C1 E0 02 A3 A3 23 48 00 52
6A 00 E8 79 01 08 00 8B D0 E8 F6 4F 07 00 5A E8 54 4F 07 00 E8 2B 50 07 00 6A 00 E8 48 62 07 00
59 68 48 23 48 00 6A 00 E8 53 01 08 00 A3 A7 23 48 00 6A 00 E9 0B B4 07 00 E9 76 62 07 00 33 C0
A0 91 23 48 00 C3

**********************************************************************
Borland C++

CODE
DATA
.INIT
.idata
.edata
.reloc
.rsrc

00401000 BCW.> $ A1 59B05000   mov eax,dword ptr ds:
00401005    . C1E0 02       shl eax,2
00401008    . A3 5DB05000   mov dword ptr ds:,eax
0040100D    . 57         push edi                         ; ntdll.7C930738
0040100E    . 51         push ecx
0040100F    . 33C0      xor eax,eax
00401011    . BF 84665400   mov edi,BCW.00546684
00401016    . B9 8C345500   mov ecx,BCW.0055348C
0040101B    . 3BCF      cmp ecx,edi                     ; ntdll.7C930738
0040101D    . 76 05      jbe short BCW.00401024
0040101F    . 2BCF      sub ecx,edi                     ; ntdll.7C930738
00401021    . FC         cld
00401022    . F3:AA      rep stos byte ptr es:
00401024    > 59         pop ecx                         ; kernel32.7C816FD7
00401025    . 5F         pop edi                         ; kernel32.7C816FD7
00401026    . 64:67:8B16 0400   mov edx,dword ptr fs:
0040102C    . 8B42 F8       mov eax,dword ptr ds:
0040102F    . A3 61B05000   mov dword ptr ds:,eax
00401034    . 8B42 FC       mov eax,dword ptr ds:
00401037    . A3 65B05000   mov dword ptr ds:,eax
0040103C    . 83EA 04       sub edx,4
0040103F    . 8915 80345500    mov dword ptr ds:,edx            ; ntdll.KiFastSystemCallRet
00401045    . 83EA 04       sub edx,4
00401048    . 3BD4      cmp edx,esp
0040104A    . 73 02      jnb short BCW.0040104E
0040104C    . 8BE2      mov esp,edx                     ; ntdll.KiFastSystemCallRet
0040104E    > 6A 00      push 0                        ; /Arg1 = 00000000
00401050    . E8 45100000   call BCW.0040209A                  ; \BCW.0040209A
00401055    . 59         pop ecx                         ; kernel32.7C816FD7
00401056    . 68 2CB05000   push BCW.0050B02C
0040105B    . 6A 00      push 0                        ; /pModule = NULL
0040105D    . E8 73821000   call <jmp.&KERNEL32.GetModuleHandleA>          ; \GetModuleHandleA
00401062    . A3 6AB05000   mov dword ptr ds:,eax
00401067    . 6A 00      push 0
00401069    . E9 93801000   jmp <jmp.&cw3220mt.__startup>
0040106E BCW.> $ E9 09110000   jmp BCW.0040217C
00401073   00         db 00
00401074   00         db 00
00401075   00         db 00
00401076   00         db 00
00401077   00         db 00
00401078   /$ 55         push ebp
00401079   |. 8BEC      mov ebp,esp
0040107B   |. 53         push ebx
0040107C   |. 56         push esi
0040107D   |. 57         push edi                         ; ntdll.7C930738
0040107E   |. 8B75 0C       mov esi,dword ptr ss:
00401081   |. 6A 00      push 0                        ; /pDefaultCharUsed = NULL
00401083   |. 6A 00      push 0                        ; |pDefaultChar = NULL
00401085   |. 6A 00      push 0                        ; |MultiByteCount = 0
00401087   |. 6A 00      push 0                        ; |MultiByteStr = NULL
00401089   |. 56         push esi                         ; |WideCharCount = FFFFFFFF (-1.)
0040108A   |. FF75 08       push dword ptr ss:                ; |WideCharStr = "?",82,"???",82,"?,87,"??暄T偎",86,"",85,"?盏????,A1,"",96,"v?",04,"???P???P?漾",B8,"?,86,"",85,"?,85,"????j?",10,"",89,"?",82,"?,98,"旦Q?,10,"",99,"{",82,"?,98,"?肓",10,"?",11,""
0040108D   |. 6A 00      push 0                        ; |Options = 0
0040108F   |. 6A 00      push 0                        ; |CodePage = CP_ACP
00401091   |. E8 99821000   call <jmp.&KERNEL32.WideCharToMultiByte>         ; \WideCharToMultiByte
00401096   |. 8BD8      mov ebx,eax
00401098   |. 83FE FF       cmp esi,-1
0040109B   |. 0F95C0       setne al
0040109E   |. 83E0 01       and eax,1
004010A1   |. 03C3      add eax,ebx
004010A3   |. 50         push eax
004010A4   |. E8 A47F1000   call <jmp.&cw3220mt.@$bnwa$qui>
004010A9   |. 59         pop ecx                         ; kernel32.7C816FD7
004010AA   |. 8BF8      mov edi,eax
004010AC   |. 6A 00      push 0                        ; /pDefaultCharUsed = NULL
004010AE   |. 6A 00      push 0                        ; |pDefaultChar = NULL
004010B0   |. 53         push ebx                         ; |MultiByteCount = 7FFDF000 (2147348480.)
004010B1   |. 57         push edi                         ; |MultiByteStr = ntdll.7C930738
004010B2   |. 56         push esi                         ; |WideCharCount = FFFFFFFF (-1.)
004010B3   |. FF75 08       push dword ptr ss:                ; |WideCharStr = "?",82,"???",82,"?,87,"??暄T偎",86,"",85,"?盏????,A1,"",96,"v?",04,"???P???P?漾",B8,"?,86,"",85,"?,85,"????j?",10,"",89,"?",82,"?,98,"旦Q?,10,"",99,"{",82,"?,98,"?肓",10,"?",11,""
004010B6   |. 6A 00      push 0                        ; |Options = 0
004010B8   |. 6A 00      push 0                        ; |CodePage = CP_ACP
004010BA   |. E8 70821000   call <jmp.&KERNEL32.WideCharToMultiByte>         ; \WideCharToMultiByte
004010BF   |. 8BD8      mov ebx,eax
004010C1   |. 83FE FF       cmp esi,-1
004010C4   |. 74 04      je short BCW.004010CA
004010C6   |. C6041F 00      mov byte ptr ds:,0
004010CA   |> 8BC7      mov eax,edi                     ; ntdll.7C930738
004010CC   |. 5F         pop edi                         ; kernel32.7C816FD7
004010CD   |. 5E         pop esi                         ; kernel32.7C816FD7
004010CE   |. 5B         pop ebx                         ; kernel32.7C816FD7
004010CF   |. 5D         pop ebp                         ; kernel32.7C816FD7
004010D0   \. C3         retn

A1 59 B0 50 00 C1 E0 02 A3 5D B0 50 00 57 51 33 C0 BF 84 66 54 00 B9 8C 34 55 00 3B CF 76 05 2B
CF FC F3 AA 59 5F 64 67 8B 16 04 00 8B 42 F8 A3 61 B0 50 00 8B 42 FC A3 65 B0 50 00 83 EA 04 89
15 80 34 55 00 83 EA 04 3B D4 73 02 8B E2 6A 00 E8 45 10 00 00 59 68 2C B0 50 00 6A 00 E8 73 82
10 00 A3 6A B0 50 00 6A 00 E9 93 80 10 00 E9 09 11 00 00 00 00 00 00 00 55 8B EC 53 56 57 8B 75
0C 6A 00 6A 00 6A 00 6A 00 56 FF 75 08 6A 00 6A 00 E8 99 82 10 00 8B D8 83 FE FF 0F 95 C0 83 E0
01 03 C3 50 E8 A4 7F 10 00 59 8B F8 6A 00 6A 00 53 57 56 FF 75 08 6A 00 6A 00 E8 70 82 10 00 8B
D8 83 FE FF 74 04 C6 04 1F 00 8B C7 5F 5E 5B 5D C3

**********************************************************************
Borland Delphi 2.0

CODE
DATA
BSS
.idata
.tls
.rdata
.reloc
.rsrc

00433D9C htes> 55          push ebp
00433D9D    8BEC         mov ebp,esp
00433D9F    83C4 F4      add esp,-0C
00433DA2    E8 F1F4FCFF      call htest.00403298
00433DA7    E8 940AFDFF      call htest.00404840
00433DAC    E8 CF3AFDFF      call htest.00407880
00433DB1    E8 92A4FDFF      call htest.0040E248
00433DB6    E8 D1A5FDFF      call htest.0040E38C
00433DBB    E8 28C5FDFF      call htest.004102E8
00433DC0    E8 633CFEFF      call htest.00417A28
00433DC5    E8 CE0BFFFF      call htest.00424998
00433DCA    E8 2956FFFF      call htest.004293F8
00433DCF    E8 1474FFFF      call htest.0042B1E8
00433DD4    E8 C3A2FFFF      call htest.0042E09C
00433DD9    E8 4ED3FFFF      call htest.0043112C
00433DDE    E8 A5E2FFFF      call htest.00432088
00433DE3    A1 28664300      mov eax,dword ptr ds:
00433DE8    E8 1302FFFF      call htest.00424000
00433DED    BA 2C3E4300      mov edx,htest.00433E2C                  ; ASCII "MP3-2-EXE Player"
00433DF2    A1 28664300      mov eax,dword ptr ds:
00433DF7    E8 20FFFEFF      call htest.00423D1C
00433DFC    B9 A4664300      mov ecx,htest.004366A4
00433E01    BA 04254300      mov edx,htest.00432504
00433E06    A1 28664300      mov eax,dword ptr ds:
00433E0B    E8 0002FFFF      call htest.00424010
00433E10    A1 28664300      mov eax,dword ptr ds:
00433E15    E8 8602FFFF      call htest.004240A0
00433E1A    E8 2904FDFF      call htest.00404248
00433E1F    8BE5         mov esp,ebp
00433E21    5D          pop ebp                         ; kernel32.7C816FD7
00433E22    C3          retn

55 8B EC 83 C4 F4 E8 F1 F4 FC FF E8 94 0A FD FF E8 CF 3A FD FF E8 92 A4 FD FF E8 D1 A5 FD FF E8
28 C5 FD FF E8 63 3C FE FF E8 CE 0B FF FF E8 29 56 FF FF E8 14 74 FF FF E8 C3 A2 FF FF E8 4E D3
FF FF E8 A5 E2 FF FF A1 28 66 43 00 E8 13 02 FF FF BA 2C 3E 43 00 A1 28 66 43 00 E8 20 FF FE FF
B9 A4 66 43 00 BA 04 25 43 00 A1 28 66 43 00 E8 00 02 FF FF A1 28 66 43 00 E8 86 02 FF FF E8 29
04 FD FF 8B E5 5D C3

**********************************************************************
Borland Delphi 3.0

CODE
DATA
BSS
.idata
.tls
.rdata
.reloc
.rsrc

004ABA30 ResH> 55          push ebp
004ABA31    8BEC         mov ebp,esp
004ABA33    83C4 F0      add esp,-10
004ABA36    33C0         xor eax,eax
004ABA38    8945 F0      mov dword ptr ss:,eax
004ABA3B    B8 60B84A00      mov eax,ResHacke.004AB860
004ABA40    E8 B79CF5FF      call ResHacke.004056FC
004ABA45    33C0         xor eax,eax
004ABA47    55          push ebp
004ABA48    68 40BB4A00      push ResHacke.004ABB40
004ABA4D    64:FF30      push dword ptr fs:
004ABA50    64:8920      mov dword ptr fs:,esp
004ABA53    A1 60DC4A00      mov eax,dword ptr ds:
004ABA58    8B00         mov eax,dword ptr ds:
004ABA5A    E8 856EF8FF      call ResHacke.004328E4
004ABA5F    A1 60DC4A00      mov eax,dword ptr ds:
004ABA64    8B00         mov eax,dword ptr ds:
004ABA66    BA 54BB4A00      mov edx,ResHacke.004ABB54                ; ASCII "Resource Hacker"
004ABA6B    E8 8C6BF8FF      call ResHacke.004325FC
004ABA70    A1 60DC4A00      mov eax,dword ptr ds:
004ABA75    8B00         mov eax,dword ptr ds:
004ABA77    C640 3F 00      mov byte ptr ds:,0
004ABA7B    8B0D D8DA4A00   mov ecx,dword ptr ds:            ; ResHacke.004AE81C
004ABA81    A1 60DC4A00      mov eax,dword ptr ds:
004ABA86    8B00         mov eax,dword ptr ds:
004ABA88    8B15 DCE44900   mov edx,dword ptr ds:            ; ResHacke.0049E51C
004ABA8E    E8 696EF8FF      call ResHacke.004328FC
004ABA93    E8 786DF5FF      call ResHacke.00402810
004ABA98    48          dec eax
004ABA99    7E 78         jle short ResHacke.004ABB13
004ABA9B    8D55 F0      lea edx,dword ptr ss:
004ABA9E    B8 01000000      mov eax,1
004ABAA3    E8 C86DF5FF      call ResHacke.00402870
004ABAA8    8B45 F0      mov eax,dword ptr ss:
004ABAAB    8038 2D      cmp byte ptr ds:,2D
004ABAAE    75 63         jnz short ResHacke.004ABB13
004ABAB0    B2 01         mov dl,1
004ABAB2    A1 88AE4800      mov eax,dword ptr ds:
004ABAB7    E8 B872F5FF      call ResHacke.00402D74
004ABABC    A3 84E84A00      mov dword ptr ds:,eax
004ABAC1    33C0         xor eax,eax
004ABAC3    55          push ebp
004ABAC4    68 F9BA4A00      push ResHacke.004ABAF9
004ABAC9    64:FF30      push dword ptr fs:
004ABACC    64:8920      mov dword ptr fs:,esp
004ABACF    8B15 D8DA4A00   mov edx,dword ptr ds:            ; ResHacke.004AE81C
004ABAD5    8B12         mov edx,dword ptr ds:
004ABAD7    A1 84E84A00      mov eax,dword ptr ds:
004ABADC    E8 8BF5FDFF      call ResHacke.0048B06C
004ABAE1    33C0         xor eax,eax
004ABAE3    5A          pop edx                         ; kernel32.7C816FD7
004ABAE4    59          pop ecx                         ; kernel32.7C816FD7
004ABAE5    59          pop ecx                         ; kernel32.7C816FD7
004ABAE6    64:8910      mov dword ptr fs:,edx                ; ntdll.KiFastSystemCallRet
004ABAE9    68 00BB4A00      push ResHacke.004ABB00
004ABAEE    A1 84E84A00      mov eax,dword ptr ds:
004ABAF3    E8 A472F5FF      call ResHacke.00402D9C
004ABAF8    C3          retn
004ABAF9   ^ E9 6A78F5FF      jmp ResHacke.00403368
004ABAFE   ^ EB EE         jmp short ResHacke.004ABAEE
004ABB00    A1 D8DA4A00      mov eax,dword ptr ds:
004ABB05    8B00         mov eax,dword ptr ds:
004ABB07    E8 304DF8FF      call ResHacke.0043083C
004ABB0C    E8 837CF5FF      call ResHacke.00403794
004ABB11    EB 0B         jmp short ResHacke.004ABB1E
004ABB13    A1 60DC4A00      mov eax,dword ptr ds:
004ABB18    8B00         mov eax,dword ptr ds:
004ABB1A    C640 3F 01      mov byte ptr ds:,1
004ABB1E    A1 60DC4A00      mov eax,dword ptr ds:
004ABB23    8B00         mov eax,dword ptr ds:
004ABB25    E8 5E6EF8FF      call ResHacke.00432988
004ABB2A    33C0         xor eax,eax
004ABB2C    5A          pop edx                         ; kernel32.7C816FD7
004ABB2D    59          pop ecx                         ; kernel32.7C816FD7
004ABB2E    59          pop ecx                         ; kernel32.7C816FD7
004ABB2F    64:8910      mov dword ptr fs:,edx                ; ntdll.KiFastSystemCallRet
004ABB32    68 47BB4A00      push ResHacke.004ABB47
004ABB37    8D45 F0      lea eax,dword ptr ss:
004ABB3A    E8 097EF5FF      call ResHacke.00403948
004ABB3F    C3          retn

55 8B EC 83 C4 F0 33 C0 89 45 F0 B8 60 B8 4A 00 E8 B7 9C F5 FF 33 C0 55 68 40 BB 4A 00 64 FF 30
64 89 20 A1 60 DC 4A 00 8B 00 E8 85 6E F8 FF A1 60 DC 4A 00 8B 00 BA 54 BB 4A 00 E8 8C 6B F8 FF
A1 60 DC 4A 00 8B 00 C6 40 3F 00 8B 0D D8 DA 4A 00 A1 60 DC 4A 00 8B 00 8B 15 DC E4 49 00 E8 69
6E F8 FF E8 78 6D F5 FF 48 7E 78 8D 55 F0 B8 01 00 00 00 E8 C8 6D F5 FF 8B 45 F0 80 38 2D 75 63
B2 01 A1 88 AE 48 00 E8 B8 72 F5 FF A3 84 E8 4A 00 33 C0 55 68 F9 BA 4A 00 64 FF 30 64 89 20 8B
15 D8 DA 4A 00 8B 12 A1 84 E8 4A 00 E8 8B F5 FD FF 33 C0 5A 59 59 64 89 10 68 00 BB 4A 00 A1 84
E8 4A 00 E8 A4 72 F5 FF C3 E9 6A 78 F5 FF EB EE A1 D8 DA 4A 00 8B 00 E8 30 4D F8 FF E8 83 7C F5
FF EB 0B A1 60 DC 4A 00 8B 00 C6 40 3F 01 A1 60 DC 4A 00 8B 00 E8 5E 6E F8 FF 33 C0 5A 59 59 64
89 10 68 47 BB 4A 00 8D 45 F0 E8 09 7E F5 FF C3

**********************************************************************
Borland Delphi 4.0 - 5.0

CODE
DATA
BSS
.idata
.tls
.rdata
.reloc
.rsrc

00457E00 YUCE> 55          push ebp
00457E01    8BEC         mov ebp,esp
00457E03    83C4 F4      add esp,-0C
00457E06    B8 C87C4500      mov eax,YUCE.00457CC8
00457E0B    E8 44E4FAFF      call YUCE.00406254
00457E10    A1 048F4500      mov eax,dword ptr ds:
00457E15    8B00         mov eax,dword ptr ds:
00457E17    BA 547E4500      mov edx,YUCE.00457E54
00457E1C    E8 83DEFEFF      call YUCE.00445CA4
00457E21    8B0D 688D4500   mov ecx,dword ptr ds:            ; YUCE.0045A878
00457E27    A1 048F4500      mov eax,dword ptr ds:
00457E2C    8B00         mov eax,dword ptr ds:
00457E2E    8B15 C85B4500   mov edx,dword ptr ds:            ; YUCE.00455C14
00457E34    E8 2FE2FEFF      call YUCE.00446068
00457E39    A1 048F4500      mov eax,dword ptr ds:
00457E3E    8B00         mov eax,dword ptr ds:
00457E40    E8 A3E2FEFF      call YUCE.004460E8
00457E45    E8 F6B8FAFF      call YUCE.00403740
00457E4A    0000         add byte ptr ds:,al
00457E4C    FFFF         ???                           ; Unknown command
00457E4E    FFFF         ???                           ; Unknown command
00457E50    0C 00         or al,0
00457E52    0000         add byte ptr ds:,al
00457E54    C9          leave
00457E55    FA          cli
00457E56    C3          retn

55 8B EC 83 C4 F4 B8 C8 7C 45 00 E8 44 E4 FA FF A1 04 8F 45 00 8B 00 BA 54 7E 45 00 E8 83 DE FE
FF 8B 0D 68 8D 45 00 A1 04 8F 45 00 8B 00 8B 15 C8 5B 45 00 E8 2F E2 FE FF A1 04 8F 45 00 8B 00
E8 A3 E2 FE FF E8 F6 B8 FA FF 00 00 FF FF FF FF 0C 00 00 00 C9 FA C3

**********************************************************************
Borland Delphi 6.0 - 7.0

CODE
DATA
BSS
.idata
.tls
.rdata
.reloc
.rsrc

0047845C pymf> 55          push ebp
0047845D    8BEC         mov ebp,esp
0047845F    83C4 E8      add esp,-18
00478462    33C0         xor eax,eax
00478464    8945 EC      mov dword ptr ss:,eax
00478467    8945 E8      mov dword ptr ss:,eax
0047846A    B8 6C824700      mov eax,pymf.0047826C
0047846F    E8 94E3F8FF      call pymf.00406808
00478474    33C0         xor eax,eax
00478476    55          push ebp
00478477    68 21854700      push pymf.00478521
0047847C    64:FF30      push dword ptr fs:
0047847F    64:8920      mov dword ptr fs:,esp
00478482    E8 0DD5FFFF      call pymf.00475994
00478487    84C0         test al,al
00478489    75 18         jnz short pymf.004784A3
0047848B    6A 24         push 24
0047848D    68 30854700      push pymf.00478530                  ; ASCII "Error"
00478492    68 38854700      push pymf.00478538                  ; ASCII "YMF7x4 driver is not found. Start the program anyway?"
00478497    6A 00         push 0
00478499    E8 C2ECF8FF      call <jmp.&user32.MessageBoxA>
0047849E    83F8 06      cmp eax,6
004784A1    75 63         jnz short pymf.00478506
004784A3    8D55 E8      lea edx,dword ptr ss:
004784A6    B8 01000000      mov eax,1
004784AB    E8 BCA5F8FF      call pymf.00402A6C
004784B0    8B45 E8      mov eax,dword ptr ss:
004784B3    8D55 EC      lea edx,dword ptr ss:
004784B6    E8 3900F9FF      call pymf.004084F4
004784BB    8B45 EC      mov eax,dword ptr ss:
004784BE    BA 78854700      mov edx,pymf.00478578                  ; ASCII "-clean"
004784C3    E8 5CC3F8FF      call pymf.00404824
004784C8    75 07         jnz short pymf.004784D1
004784CA    E8 B1C7FFFF      call pymf.00474C80
004784CF    EB 35         jmp short pymf.00478506
004784D1    A1 E8B24700      mov eax,dword ptr ds:
004784D6    8B00         mov eax,dword ptr ds:
004784D8    E8 A75BFEFF      call pymf.0045E084
004784DD    8B0D 00B14700   mov ecx,dword ptr ds:            ; pymf.0047CDC0
004784E3    A1 E8B24700      mov eax,dword ptr ds:
004784E8    8B00         mov eax,dword ptr ds:
004784EA    8B15 F85B4700   mov edx,dword ptr ds:            ; pymf.00475C44
004784F0    E8 A75BFEFF      call pymf.0045E09C
004784F5    A1 E8B24700      mov eax,dword ptr ds:
004784FA    8B00         mov eax,dword ptr ds:
004784FC    E8 1B5CFEFF      call pymf.0045E11C
00478501    E8 5ED6FFFF      call pymf.00475B64
00478506    33C0         xor eax,eax
00478508    5A          pop edx                         ; kernel32.7C816FD7
00478509    59          pop ecx                         ; kernel32.7C816FD7
0047850A    59          pop ecx                         ; kernel32.7C816FD7
0047850B    64:8910      mov dword ptr fs:,edx                ; ntdll.KiFastSystemCallRet
0047850E    68 28854700      push pymf.00478528
00478513    8D45 E8      lea eax,dword ptr ss:
00478516    BA 02000000      mov edx,2
0047851B    E8 2CBFF8FF      call pymf.0040444C
00478520    C3          retn

55 8B EC 83 C4 E8 33 C0 89 45 EC 89 45 E8 B8 6C 82 47 00 E8 94 E3 F8 FF 33 C0 55 68 21 85 47 00
64 FF 30 64 89 20 E8 0D D5 FF FF 84 C0 75 18 6A 24 68 30 85 47 00 68 38 85 47 00 6A 00 E8 C2 EC
F8 FF 83 F8 06 75 63 8D 55 E8 B8 01 00 00 00 E8 BC A5 F8 FF 8B 45 E8 8D 55 EC E8 39 00 F9 FF 8B
45 EC BA 78 85 47 00 E8 5C C3 F8 FF 75 07 E8 B1 C7 FF FF EB 35 A1 E8 B2 47 00 8B 00 E8 A7 5B FE
FF 8B 0D 00 B1 47 00 A1 E8 B2 47 00 8B 00 8B 15 F8 5B 47 00 E8 A7 5B FE FF A1 E8 B2 47 00 8B 00
E8 1B 5C FE FF E8 5E D6 FF FF 33 C0 5A 59 59 64 89 10 68 28 85 47 00 8D 45 E8 BA 02 00 00 00 E8
2C BF F8 FF C3

**********************************************************************
MASM32 / TASM32

.text
.rdata
.data
.rsrc

00401000 RVA.>/$ 6A 00      push 0                        ; /pModule = NULL
00401002   |. E8 830A0000   call <jmp.&KERNEL32.GetModuleHandleA>          ; \GetModuleHandleA
00401007   |. A3 07304000   mov dword ptr ds:,eax
0040100C   |. 6A 00      push 0                        ; /lParam = NULL
0040100E   |. 68 6C104000   push RVA.0040106C                  ; |DlgProc = RVA.0040106C
00401013   |. 6A 00      push 0                        ; |hOwner = NULL
00401015   |. 68 00304000   push RVA.00403000                  ; |pTemplate = "DIALOG"
0040101A   |. FF35 07304000    push dword ptr ds:                ; |hInst = NULL
00401020   |. E8 F9090000   call <jmp.&USER32.DialogBoxParamA>            ; \DialogBoxParamA
00401025   |. 50         push eax                         ; /ExitCode = 0
00401026   \. E8 4D0A0000   call <jmp.&KERNEL32.ExitProcess>             ; \ExitProcess
0040102B   /. 55         push ebp
0040102C   |. 8BEC      mov ebp,esp
0040102E   |. 837D 0C 10   cmp dword ptr ss:,10
00401032   |. 75 0C      jnz short RVA.00401040
00401034   |. 6A 00      push 0                        ; /Result = 0
00401036   |. FF75 08       push dword ptr ss:                ; |hWnd = 00401000
00401039   |. E8 EC090000   call <jmp.&USER32.EndDialog>               ; \EndDialog
0040103E   |. EB 26      jmp short RVA.00401066
00401040   |> 817D 0C 11010000cmp dword ptr ss:,111
00401047   |. 75 1D      jnz short RVA.00401066
00401049   |. 8B45 10       mov eax,dword ptr ss:
0040104C   |. 66:3D B80B   cmp ax,0BB8
00401050   |. 75 14      jnz short RVA.00401066
00401052   |. C1E8 10       shr eax,10
00401055   |. 66:0BC0       or ax,ax
00401058   |. 75 0A      jnz short RVA.00401064
0040105A   |. 6A 00      push 0                        ; /Result = 0
0040105C   |. FF75 08       push dword ptr ss:                ; |hWnd = 00401000
0040105F   |. E8 C6090000   call <jmp.&USER32.EndDialog>               ; \EndDialog
00401064   |> EB 00      jmp short RVA.00401066
00401066   |> 33C0      xor eax,eax
00401068   |. C9         leave
00401069   \. C2 1000       retn 10

6A 00 E8 83 0A 00 00 A3 07 30 40 00 6A 00 68 6C 10 40 00 6A 00 68 00 30 40 00 FF 35 07 30 40 00
E8 F9 09 00 00 50 E8 4D 0A 00 00 55 8B EC 83 7D 0C 10 75 0C 6A 00 FF 75 08 E8 EC 09 00 00 EB 26
81 7D 0C 11 01 00 00 75 1D 8B 45 10 66 3D B8 0B 75 14 C1 E8 10 66 0B C0 75 0A 6A 00 FF 75 08 E8
C6 09 00 00 EB 00 33 C0 C9 C2 10 00

**********************************************************************
Microsoft Visual Basic 5.0 / 6.0

.text
.data
.rsrc

00402360 Kill>/$ 68 2C4D4000   push KillBox.00404D2C                  ; ASCII "VB5!6&*"
00402365   |. E8 EEFFFFFF   call <jmp.&MSVBVM60.#100>
0040236A   |. 0000      add byte ptr ds:,al
0040236C   |. 0000      add byte ptr ds:,al
0040236E   |. 0000      add byte ptr ds:,al
00402370   |. 3000      xor byte ptr ds:,al
00402372   |. 0000      add byte ptr ds:,al
00402374   |. 3800      cmp byte ptr ds:,al
00402376   |. 0000      add byte ptr ds:,al
00402378   |. 0000      add byte ptr ds:,al
0040237A   |. 0000      add byte ptr ds:,al
0040237C   |. 4F         dec edi                         ; ntdll.7C930738
0040237D   \. C2 F150       retn 50F1

68 2C 4D 40 00 E8 EE FF FF FF 00 00 00 00 00 00 30 00 00 00 38 00 00 00 00 00 00 00 4F C2 F1 50

**********************************************************************
Microsoft Visual C++ 4.x

.text
.rdata
.data
.idata
.reloc

00401CC0 memt> $ 64:A1 00000000   mov eax,dword ptr fs:
00401CC6    . 55         push ebp
00401CC7    . 8BEC      mov ebp,esp
00401CC9    . 6A FF      push -1
00401CCB    . 68 28804000   push memtest.00408028
00401CD0    . 68 001B4000   push memtest.00401B00
00401CD5    . 50         push eax
00401CD6    . 64:8925 00000000mov dword ptr fs:,esp
00401CDD    . 83EC 60       sub esp,60
00401CE0    . 53         push ebx
00401CE1    . 56         push esi
00401CE2    . 57         push edi                         ; ntdll.7C930738
00401CE3    . 8965 E8       mov dword ptr ss:,esp
00401CE6    . FF15 30D14000    call near dword ptr ds:[<&KERNEL32.GetVersion>]   ; kernel32.GetVersion
00401CEC    . A3 B89A4000   mov dword ptr ds:,eax
00401CF1    . 33C0      xor eax,eax
00401CF3    . A0 B99A4000   mov al,byte ptr ds:
00401CF8    . A3 C49A4000   mov dword ptr ds:,eax
00401CFD    . A1 B89A4000   mov eax,dword ptr ds:
00401D02    . C12D B89A4000 10shr dword ptr ds:,10
00401D09    . 25 FF000000   and eax,0FF
00401D0E    . A3 C09A4000   mov dword ptr ds:,eax
00401D13    . C1E0 08       shl eax,8
00401D16    . 0305 C49A4000    add eax,dword ptr ds:
00401D1C    . A3 BC9A4000   mov dword ptr ds:,eax
00401D21    . E8 6A010000   call memtest.00401E90
00401D26    . 85C0      test eax,eax
00401D28    . 75 0A      jnz short memtest.00401D34
00401D2A    . 6A 1C      push 1C
00401D2C    . E8 2F010000   call memtest.00401E60
00401D31    . 83C4 04       add esp,4
00401D34    > C745 FC 00000000mov dword ptr ss:,0
00401D3B    . E8 00260000   call memtest.00404340
00401D40    . E8 EB250000   call memtest.00404330
00401D45    . FF15 2CD14000    call near dword ptr ds:[<&KERNEL32.GetCommandLineA>]   ; [GetCommandLineA
00401D4B    . A3 80CD4000   mov dword ptr ds:,eax
00401D50    . E8 8B210000   call memtest.00403EE0
00401D55    . A3 3C924000   mov dword ptr ds:,eax
00401D5A    . 85C0      test eax,eax
00401D5C    . 74 09      je short memtest.00401D67
00401D5E    . 833D 80CD4000 00cmp dword ptr ds:,0
00401D65    . 75 0A      jnz short memtest.00401D71
00401D67    > 6A FF      push -1
00401D69    . E8 021B0000   call memtest.00403870
00401D6E    . 83C4 04       add esp,4
00401D71    > E8 EA1E0000   call memtest.00403C60
00401D76    . E8 F51D0000   call memtest.00403B70
00401D7B    . E8 C01A0000   call memtest.00403840
00401D80    . 8B35 80CD4000    mov esi,dword ptr ds:
00401D86    . 8A06      mov al,byte ptr ds:
00401D88    . 3C 22      cmp al,22
00401D8A    . 74 0C      je short memtest.00401D98
00401D8C    . 3C 20      cmp al,20
00401D8E    . 76 35      jbe short memtest.00401DC5
00401D90    > 46         inc esi
00401D91    . 803E 20       cmp byte ptr ds:,20
00401D94    .^ 77 FA      ja short memtest.00401D90
00401D96    . EB 2D      jmp short memtest.00401DC5
00401D98    > 46         inc esi
00401D99    . 803E 22       cmp byte ptr ds:,22
00401D9C    . 74 26      je short memtest.00401DC4
00401D9E    . 8A5D D8       mov bl,byte ptr ss:
00401DA1    > 8A1E      mov bl,byte ptr ds:
00401DA3    . 84DB      test bl,bl
00401DA5    . 74 18      je short memtest.00401DBF
00401DA7    . 33C0      xor eax,eax
00401DA9    . 8AC3      mov al,bl
00401DAB    . 50         push eax
00401DAC    . E8 5F1D0000   call memtest.00403B10
00401DB1    . 83C4 04       add esp,4
00401DB4    . 85C0      test eax,eax
00401DB6    . 74 01      je short memtest.00401DB9
00401DB8    . 46         inc esi
00401DB9    > 46         inc esi
00401DBA    . 803E 22       cmp byte ptr ds:,22
00401DBD    .^ 75 E2      jnz short memtest.00401DA1
00401DBF    > 803E 22       cmp byte ptr ds:,22
00401DC2    . 75 01      jnz short memtest.00401DC5
00401DC4    > 46         inc esi
00401DC5    > 803E 00       cmp byte ptr ds:,0
00401DC8    . 74 0B      je short memtest.00401DD5
00401DCA    > 803E 20       cmp byte ptr ds:,20
00401DCD    . 77 06      ja short memtest.00401DD5
00401DCF    . 46         inc esi
00401DD0    . 803E 00       cmp byte ptr ds:,0
00401DD3    .^ 75 F5      jnz short memtest.00401DCA
00401DD5    > C745 BC 00000000mov dword ptr ss:,0
00401DDC    . 8D45 90       lea eax,dword ptr ss:
00401DDF    . 50         push eax                         ; /pStartupinfo = NULL
00401DE0    . FF15 28D14000    call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>]   ; \GetStartupInfoA
00401DE6    . F645 BC 01   test byte ptr ss:,1
00401DEA    . B8 0A000000   mov eax,0A
00401DEF    . 74 08      je short memtest.00401DF9
00401DF1    . 8B45 C0       mov eax,dword ptr ss:            ; ntdll.7C92E64E
00401DF4    . 25 FFFF0000   and eax,0FFFF
00401DF9    > 50         push eax                         ; /Arg4 = 00000000
00401DFA    . 56         push esi                         ; |Arg3 = FFFFFFFF
00401DFB    . 6A 00      push 0                        ; |Arg2 = 00000000
00401DFD    . 6A 00      push 0                        ; |/pModule = NULL
00401DFF    . FF15 24D14000    call near dword ptr ds:[<&KERNEL32.GetModuleHandleA>]; |\GetModuleHandleA
00401E05    . 50         push eax                         ; |Arg1 = 00000000
00401E06    . E8 F5F1FFFF   call memtest.00401000                  ; \memtest.00401000
00401E0B    . 50         push eax
00401E0C    . E8 5F1A0000   call memtest.00403870
00401E11    . EB 27      jmp short memtest.00401E3A
00401E13    . 8B45 EC       mov eax,dword ptr ss:
00401E16    . 8B00      mov eax,dword ptr ds:
00401E18    . 8B00      mov eax,dword ptr ds:
00401E1A    . 8945 E0       mov dword ptr ss:,eax
00401E1D    . 8B45 EC       mov eax,dword ptr ss:
00401E20    . 50         push eax
00401E21    . 8B45 E0       mov eax,dword ptr ss:
00401E24    . 50         push eax
00401E25    . E8 561B0000   call memtest.00403980
00401E2A    . 83C4 08       add esp,8
00401E2D    . C3         retn

64 A1 00 00 00 00 55 8B EC 6A FF 68 28 80 40 00 68 00 1B 40 00 50 64 89 25 00 00 00 00 83 EC 60
53 56 57 89 65 E8 FF 15 30 D1 40 00 A3 B8 9A 40 00 33 C0 A0 B9 9A 40 00 A3 C4 9A 40 00 A1 B8 9A
40 00 C1 2D B8 9A 40 00 10 25 FF 00 00 00 A3 C0 9A 40 00 C1 E0 08 03 05 C4 9A 40 00 A3 BC 9A 40
00 E8 6A 01 00 00 85 C0 75 0A 6A 1C E8 2F 01 00 00 83 C4 04 C7 45 FC 00 00 00 00 E8 00 26 00 00
E8 EB 25 00 00 FF 15 2C D1 40 00 A3 80 CD 40 00 E8 8B 21 00 00 A3 3C 92 40 00 85 C0 74 09 83 3D
80 CD 40 00 00 75 0A 6A FF E8 02 1B 00 00 83 C4 04 E8 EA 1E 00 00 E8 F5 1D 00 00 E8 C0 1A 00 00
8B 35 80 CD 40 00 8A 06 3C 22 74 0C 3C 20 76 35 46 80 3E 20 77 FA EB 2D 46 80 3E 22 74 26 8A 5D
D8 8A 1E 84 DB 74 18 33 C0 8A C3 50 E8 5F 1D 00 00 83 C4 04 85 C0 74 01 46 46 80 3E 22 75 E2 80
3E 22 75 01 46 80 3E 00 74 0B 80 3E 20 77 06 46 80 3E 00 75 F5 C7 45 BC 00 00 00 00 8D 45 90 50
FF 15 28 D1 40 00 F6 45 BC 01 B8 0A 00 00 00 74 08 8B 45 C0 25 FF FF 00 00 50 56 6A 00 6A 00 FF
15 24 D1 40 00 50 E8 F5 F1 FF FF 50 E8 5F 1A 00 00 EB 27 8B 45 EC 8B 00 8B 00 89 45 E0 8B 45 EC
50 8B 45 E0 50 E8 56 1B 00 00 83 C4 08 C3

**********************************************************************
Microsoft Visual C++ 5.0

.text
.rdata
.data
.rsrc

0040B060 HEdi> $ 55         push ebp
0040B061    . 8BEC      mov ebp,esp
0040B063    . 6A FF      push -1
0040B065    . 68 C8264400   push HEdit.004426C8
0040B06A    . 68 38E24000   push HEdit.0040E238                   ; SE handler installation
0040B06F    . 64:A1 00000000   mov eax,dword ptr fs:
0040B075    . 50         push eax
0040B076    . 64:8925 00000000mov dword ptr fs:,esp
0040B07D    . 83C4 A8       add esp,-58
0040B080    . 53         push ebx
0040B081    . 56         push esi
0040B082    . 57         push edi                         ; ntdll.7C930738
0040B083    . 8965 E8       mov dword ptr ss:,esp
0040B086    . FF15 F0C14300    call near dword ptr ds:[<&KERNEL32.GetVersion>]   ; kernel32.GetVersion
0040B08C    . 33D2      xor edx,edx                     ; ntdll.KiFastSystemCallRet
0040B08E    . 8AD4      mov dl,ah
0040B090    . 8915 A0174500    mov dword ptr ds:,edx            ; ntdll.KiFastSystemCallRet
0040B096    . 8BC8      mov ecx,eax
0040B098    . 81E1 FF000000    and ecx,0FF
0040B09E    . 890D 9C174500    mov dword ptr ds:,ecx
0040B0A4    . C1E1 08       shl ecx,8
0040B0A7    . 03CA      add ecx,edx                     ; ntdll.KiFastSystemCallRet
0040B0A9    . 890D 98174500    mov dword ptr ds:,ecx
0040B0AF    . C1E8 10       shr eax,10
0040B0B2    . A3 94174500   mov dword ptr ds:,eax
0040B0B7    . E8 F45C0000   call HEdit.00410DB0
0040B0BC    . 85C0      test eax,eax
0040B0BE    . 75 0A      jnz short HEdit.0040B0CA
0040B0C0    . 6A 1C      push 1C
0040B0C2    . E8 79010000   call HEdit.0040B240
0040B0C7    . 83C4 04       add esp,4
0040B0CA    > E8 11290000   call HEdit.0040D9E0
0040B0CF    . 85C0      test eax,eax
0040B0D1    . 75 0A      jnz short HEdit.0040B0DD
0040B0D3    . 6A 10      push 10
0040B0D5    . E8 66010000   call HEdit.0040B240
0040B0DA    . 83C4 04       add esp,4
0040B0DD    > C745 FC 00000000mov dword ptr ss:,0
0040B0E4    . E8 B75A0000   call HEdit.00410BA0
0040B0E9    . E8 821B0000   call HEdit.0040CC70
0040B0EE    . FF15 70C24300    call near dword ptr ds:[<&KERNEL32.GetCommandLineA>]   ; [GetCommandLineA
0040B0F4    . A3 D02E4500   mov dword ptr ds:,eax
0040B0F9    . E8 42590000   call HEdit.00410A40
0040B0FE    . A3 DC174500   mov dword ptr ds:,eax
0040B103    . 85C0      test eax,eax
0040B105    . 74 09      je short HEdit.0040B110
0040B107    . A1 D02E4500   mov eax,dword ptr ds:
0040B10C    . 85C0      test eax,eax
0040B10E    . 75 0A      jnz short HEdit.0040B11A
0040B110    > 6A FF      push -1
0040B112    . E8 C9F7FFFF   call HEdit.0040A8E0
0040B117    . 83C4 04       add esp,4
0040B11A    > E8 71560000   call HEdit.00410790
0040B11F    . E8 7C550000   call HEdit.004106A0
0040B124    . E8 87F7FFFF   call HEdit.0040A8B0
0040B129    . 8B35 D02E4500    mov esi,dword ptr ds:
0040B12F    . 8975 9C       mov dword ptr ss:,esi
0040B132    . 803E 22       cmp byte ptr ds:,22
0040B135    . 0F85 BE000000    jnz HEdit.0040B1F9
0040B13B    > 46         inc esi
0040B13C    . 8975 9C       mov dword ptr ss:,esi
0040B13F    . 8A06      mov al,byte ptr ds:
0040B141    . 3C 22      cmp al,22
0040B143    . 74 1C      je short HEdit.0040B161
0040B145    . 84C0      test al,al
0040B147    . 74 18      je short HEdit.0040B161
0040B149    . 25 FF000000   and eax,0FF
0040B14E    . 50         push eax
0040B14F    . E8 EC540000   call HEdit.00410640
0040B154    . 83C4 04       add esp,4
0040B157    . 85C0      test eax,eax
0040B159    .^ 74 E0      je short HEdit.0040B13B
0040B15B    . 46         inc esi
0040B15C    . 8975 9C       mov dword ptr ss:,esi
0040B15F    .^ EB DA      jmp short HEdit.0040B13B
0040B161    > 803E 22       cmp byte ptr ds:,22
0040B164    . 75 04      jnz short HEdit.0040B16A
0040B166    . 46         inc esi
0040B167    . 8975 9C       mov dword ptr ss:,esi
0040B16A    > 8A06      mov al,byte ptr ds:
0040B16C    . 84C0      test al,al
0040B16E    . 74 0A      je short HEdit.0040B17A
0040B170    . 3C 20      cmp al,20
0040B172    . 77 06      ja short HEdit.0040B17A
0040B174    . 46         inc esi
0040B175    . 8975 9C       mov dword ptr ss:,esi
0040B178    .^ EB F0      jmp short HEdit.0040B16A
0040B17A    > C745 D0 00000000mov dword ptr ss:,0
0040B181    . 8D45 A4       lea eax,dword ptr ss:
0040B184    . 50         push eax                         ; /pStartupinfo = NULL
0040B185    . FF15 68C24300    call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>]   ; \GetStartupInfoA
0040B18B    . F645 D0 01   test byte ptr ss:,1
0040B18F    . 74 0A      je short HEdit.0040B19B
0040B191    . 8B45 D4       mov eax,dword ptr ss:            ; kernel32.7C816FD7
0040B194    . 25 FFFF0000   and eax,0FFFF
0040B199    . EB 05      jmp short HEdit.0040B1A0
0040B19B    > B8 0A000000   mov eax,0A
0040B1A0    > 50         push eax
0040B1A1    . 56         push esi
0040B1A2    . 6A 00      push 0
0040B1A4    . 6A 00      push 0                        ; /pModule = NULL
0040B1A6    . FF15 78C24300    call near dword ptr ds:[<&KERNEL32.GetModuleHandleA>]; \GetModuleHandleA
0040B1AC    . 50         push eax
0040B1AD    . E8 B5FC0000   call HEdit.0041AE67
0040B1B2    . 8945 A0       mov dword ptr ss:,eax
0040B1B5    . 50         push eax
0040B1B6    . E8 25F7FFFF   call HEdit.0040A8E0
0040B1BB    . EB 21      jmp short HEdit.0040B1DE
0040B1BD    . 8B45 EC       mov eax,dword ptr ss:
0040B1C0    . 8B08      mov ecx,dword ptr ds:
0040B1C2    . 8B09      mov ecx,dword ptr ds:                ; ntdll.7C92E64E
0040B1C4    . 894D 98       mov dword ptr ss:,ecx
0040B1C7    . 50         push eax
0040B1C8    . 51         push ecx
0040B1C9    . E8 22520000   call HEdit.004103F0
0040B1CE    . 83C4 08       add esp,8
0040B1D1    . C3         retn

55 8B EC 6A FF 68 C8 26 44 00 68 38 E2 40 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 C4 A8
53 56 57 89 65 E8 FF 15 F0 C1 43 00 33 D2 8A D4 89 15 A0 17 45 00 8B C8 81 E1 FF 00 00 00 89 0D
9C 17 45 00 C1 E1 08 03 CA 89 0D 98 17 45 00 C1 E8 10 A3 94 17 45 00 E8 F4 5C 00 00 85 C0 75 0A
6A 1C E8 79 01 00 00 83 C4 04 E8 11 29 00 00 85 C0 75 0A 6A 10 E8 66 01 00 00 83 C4 04 C7 45 FC
00 00 00 00 E8 B7 5A 00 00 E8 82 1B 00 00 FF 15 70 C2 43 00 A3 D0 2E 45 00 E8 42 59 00 00 A3 DC
17 45 00 85 C0 74 09 A1 D0 2E 45 00 85 C0 75 0A 6A FF E8 C9 F7 FF FF 83 C4 04 E8 71 56 00 00 E8
7C 55 00 00 E8 87 F7 FF FF 8B 35 D0 2E 45 00 89 75 9C 80 3E 22 0F 85 BE 00 00 00 46 89 75 9C 8A
06 3C 22 74 1C 84 C0 74 18 25 FF 00 00 00 50 E8 EC 54 00 00 83 C4 04 85 C0 74 E0 46 89 75 9C EB
DA 80 3E 22 75 04 46 89 75 9C 8A 06 84 C0 74 0A 3C 20 77 06 46 89 75 9C EB F0 C7 45 D0 00 00 00
00 8D 45 A4 50 FF 15 68 C2 43 00 F6 45 D0 01 74 0A 8B 45 D4 25 FF FF 00 00 EB 05 B8 0A 00 00 00
50 56 6A 00 6A 00 FF 15 78 C2 43 00 50 E8 B5 FC 00 00 89 45 A0 50 E8 25 F7 FF FF EB 21 8B 45 EC
8B 08 8B 09 89 4D 98 50 51 E8 22 52 00 00 83 C4 08 C3

**********************************************************************
Microsoft Visual C++ 6.0

.text
.rdata
.data
.rsrc

005522F3 Baby>/$ 55         push ebp
005522F4   |. 8BEC      mov ebp,esp
005522F6   |. 6A FF      push -1
005522F8   |. 68 58235800   push Babylon.00582358
005522FD   |. 68 6C5B5500   push Babylon.00555B6C                  ; SE handler installation
00552302   |. 64:A1 00000000   mov eax,dword ptr fs:
00552308   |. 50         push eax
00552309   |. 64:8925 00000000mov dword ptr fs:,esp
00552310   |. 83EC 58       sub esp,58
00552313   |. 53         push ebx
00552314   |. 56         push esi
00552315   |. 57         push edi                         ; ntdll.7C930738
00552316   |. 8965 E8       mov dword ptr ss:,esp
00552319   |. FF15 00635700    call near dword ptr ds:[<&KERNEL32.GetVersion>]   ; kernel32.GetVersion
0055231F   |. 33D2      xor edx,edx                     ; ntdll.KiFastSystemCallRet
00552321   |. 8AD4      mov dl,ah
00552323   |. 8915 00BF5D00    mov dword ptr ds:,edx            ; ntdll.KiFastSystemCallRet
00552329   |. 8BC8      mov ecx,eax
0055232B   |. 81E1 FF000000    and ecx,0FF
00552331   |. 890D FCBE5D00    mov dword ptr ds:,ecx
00552337   |. C1E1 08       shl ecx,8
0055233A   |. 03CA      add ecx,edx                     ; ntdll.KiFastSystemCallRet
0055233C   |. 890D F8BE5D00    mov dword ptr ds:,ecx
00552342   |. C1E8 10       shr eax,10
00552345   |. A3 F4BE5D00   mov dword ptr ds:,eax
0055234A   |. 6A 01      push 1
0055234C   |. E8 391D0000   call Babylon.0055408A
00552351   |. 59         pop ecx                         ; kernel32.7C816FD7
00552352   |. 85C0      test eax,eax
00552354   |. 75 08      jnz short Babylon.0055235E
00552356   |. 6A 1C      push 1C
00552358   |. E8 C3000000   call Babylon.00552420
0055235D   |. 59         pop ecx                         ; kernel32.7C816FD7
0055235E   |> E8 99350000   call Babylon.005558FC
00552363   |. 85C0      test eax,eax
00552365   |. 75 08      jnz short Babylon.0055236F
00552367   |. 6A 10      push 10
00552369   |. E8 B2000000   call Babylon.00552420
0055236E   |. 59         pop ecx                         ; kernel32.7C816FD7
0055236F   |> 33F6      xor esi,esi
00552371   |. 8975 FC       mov dword ptr ss:,esi
00552374   |. E8 1B840000   call Babylon.0055A794
00552379   |. FF15 0C625700    call near dword ptr ds:[<&KERNEL32.GetCommandLineA>]   ; [GetCommandLineA
0055237F   |. A3 08D85D00   mov dword ptr ds:,eax
00552384   |. E8 1B8C0000   call Babylon.0055AFA4
00552389   |. A3 7CBE5D00   mov dword ptr ds:,eax
0055238E   |. E8 C4890000   call Babylon.0055AD57
00552393   |. E8 06890000   call Babylon.0055AC9E
00552398   |. E8 A7380000   call Babylon.00555C44
0055239D   |. 8975 D0       mov dword ptr ss:,esi
005523A0   |. 8D45 A4       lea eax,dword ptr ss:
005523A3   |. 50         push eax                         ; /pStartupinfo = NULL
005523A4   |. FF15 18625700    call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>]   ; \GetStartupInfoA
005523AA   |. E8 97880000   call Babylon.0055AC46
005523AF   |. 8945 9C       mov dword ptr ss:,eax
005523B2   |. F645 D0 01   test byte ptr ss:,1
005523B6   |. 74 06      je short Babylon.005523BE
005523B8   |. 0FB745 D4      movzx eax,word ptr ss:
005523BC   |. EB 03      jmp short Babylon.005523C1
005523BE   |> 6A 0A      push 0A
005523C0   |. 58         pop eax                         ; kernel32.7C816FD7
005523C1   |> 50         push eax                         ; /Arg4 = 00000000
005523C2   |. FF75 9C       push dword ptr ss:                ; |Arg3 = 00000001
005523C5   |. 56         push esi                         ; |Arg2 = FFFFFFFF
005523C6   |. 56         push esi                         ; |/pModule = FFFFFFFF ???
005523C7   |. FF15 68645700    call near dword ptr ds:[<&KERNEL32.GetModuleHandleA>]; |\GetModuleHandleA
005523CD   |. 50         push eax                         ; |Arg1 = 00000000
005523CE   |. E8 2DC0EBFF   call Babylon.0040E400                  ; \Babylon.0040E400
005523D3   |. 8945 A0       mov dword ptr ss:,eax
005523D6   |. 50         push eax
005523D7   |. E8 95380000   call Babylon.00555C71
005523DC   |. 8B45 EC       mov eax,dword ptr ss:
005523DF   |. 8B08      mov ecx,dword ptr ds:
005523E1   |. 8B09      mov ecx,dword ptr ds:                ; ntdll.7C92E64E
005523E3   |. 894D 98       mov dword ptr ss:,ecx
005523E6   |. 50         push eax
005523E7   |. 51         push ecx
005523E8   |. E8 68550000   call Babylon.00557955
005523ED   |. 59         pop ecx                         ; kernel32.7C816FD7
005523EE   |. 59         pop ecx                         ; kernel32.7C816FD7
005523EF   \. C3         retn

55 8B EC 6A FF 68 58 23 58 00 68 6C 5B 55 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 EC 58
53 56 57 89 65 E8 FF 15 00 63 57 00 33 D2 8A D4 89 15 00 BF 5D 00 8B C8 81 E1 FF 00 00 00 89 0D
FC BE 5D 00 C1 E1 08 03 CA 89 0D F8 BE 5D 00 C1 E8 10 A3 F4 BE 5D 00 6A 01 E8 39 1D 00 00 59 85
C0 75 08 6A 1C E8 C3 00 00 00 59 E8 99 35 00 00 85 C0 75 08 6A 10 E8 B2 00 00 00 59 33 F6 89 75
FC E8 1B 84 00 00 FF 15 0C 62 57 00 A3 08 D8 5D 00 E8 1B 8C 00 00 A3 7C BE 5D 00 E8 C4 89 00 00
E8 06 89 00 00 E8 A7 38 00 00 89 75 D0 8D 45 A4 50 FF 15 18 62 57 00 E8 97 88 00 00 89 45 9C F6
45 D0 01 74 06 0F B7 45 D4 EB 03 6A 0A 58 50 FF 75 9C 56 56 FF 15 68 64 57 00 50 E8 2D C0 EB FF
89 45 A0 50 E8 95 38 00 00 8B 45 EC 8B 08 8B 09 89 4D 98 50 51 E8 68 55 00 00 59 59 C3

**********************************************************************
Microsoft Visual C++ 6.0

.text
.rdata
.data
.tls
.rsrc

004AD06E ACDS>/$ 55         push ebp
004AD06F   |. 8BEC      mov ebp,esp
004AD071   |. 6A FF      push -1
004AD073   |. 68 28014E00   push ACDSee.004E0128
004AD078   |. 68 9C0C4B00   push ACDSee.004B0C9C                   ; SE handler installation
004AD07D   |. 64:A1 00000000   mov eax,dword ptr fs:
004AD083   |. 50         push eax
004AD084   |. 64:8925 00000000mov dword ptr fs:,esp
004AD08B   |. 83EC 58       sub esp,58
004AD08E   |. 53         push ebx
004AD08F   |. 56         push esi
004AD090   |. 57         push edi                         ; ntdll.7C930738
004AD091   |. 8965 E8       mov dword ptr ss:,esp
004AD094   |. FF15 A8744D00    call near dword ptr ds:[<&KERNEL32.GetVersion>]   ; kernel32.GetVersion
004AD09A   |. 33D2      xor edx,edx                     ; ntdll.KiFastSystemCallRet
004AD09C   |. 8AD4      mov dl,ah
004AD09E   |. 8915 F4584F00    mov dword ptr ds:,edx            ; ntdll.KiFastSystemCallRet
004AD0A4   |. 8BC8      mov ecx,eax
004AD0A6   |. 81E1 FF000000    and ecx,0FF
004AD0AC   |. 890D F0584F00    mov dword ptr ds:,ecx
004AD0B2   |. C1E1 08       shl ecx,8
004AD0B5   |. 03CA      add ecx,edx                     ; ntdll.KiFastSystemCallRet
004AD0B7   |. 890D EC584F00    mov dword ptr ds:,ecx
004AD0BD   |. C1E8 10       shr eax,10
004AD0C0   |. A3 E8584F00   mov dword ptr ds:,eax
004AD0C5   |. 6A 01      push 1
004AD0C7   |. E8 C12D0000   call ACDSee.004AFE8D
004AD0CC   |. 59         pop ecx                         ; kernel32.7C816FD7
004AD0CD   |. 85C0      test eax,eax
004AD0CF   |. 75 08      jnz short ACDSee.004AD0D9
004AD0D1   |. 6A 1C      push 1C
004AD0D3   |. E8 C3000000   call ACDSee.004AD19B
004AD0D8   |. 59         pop ecx                         ; kernel32.7C816FD7
004AD0D9   |> E8 4E230000   call ACDSee.004AF42C
004AD0DE   |. 85C0      test eax,eax
004AD0E0   |. 75 08      jnz short ACDSee.004AD0EA
004AD0E2   |. 6A 10      push 10
004AD0E4   |. E8 B2000000   call ACDSee.004AD19B
004AD0E9   |. 59         pop ecx                         ; kernel32.7C816FD7
004AD0EA   |> 33F6      xor esi,esi
004AD0EC   |. 8975 FC       mov dword ptr ss:,esi
004AD0EF   |. E8 42510000   call ACDSee.004B2236
004AD0F4   |. FF15 7C724D00    call near dword ptr ds:[<&KERNEL32.GetCommandLineA>]   ; [GetCommandLineA
004AD0FA   |. A3 58704F00   mov dword ptr ds:,eax
004AD0FF   |. E8 00500000   call ACDSee.004B2104
004AD104   |. A3 D8584F00   mov dword ptr ds:,eax
004AD109   |. E8 A94D0000   call ACDSee.004B1EB7
004AD10E   |. E8 EB4C0000   call ACDSee.004B1DFE
004AD113   |. E8 EF080000   call ACDSee.004ADA07
004AD118   |. 8975 D0       mov dword ptr ss:,esi
004AD11B   |. 8D45 A4       lea eax,dword ptr ss:
004AD11E   |. 50         push eax                         ; /pStartupinfo = NULL
004AD11F   |. FF15 74724D00    call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>]   ; \GetStartupInfoA
004AD125   |. E8 7C4C0000   call ACDSee.004B1DA6
004AD12A   |. 8945 9C       mov dword ptr ss:,eax
004AD12D   |. F645 D0 01   test byte ptr ss:,1
004AD131   |. 74 06      je short ACDSee.004AD139
004AD133   |. 0FB745 D4      movzx eax,word ptr ss:
004AD137   |. EB 03      jmp short ACDSee.004AD13C
004AD139   |> 6A 0A      push 0A
004AD13B   |. 58         pop eax                         ; kernel32.7C816FD7
004AD13C   |> 50         push eax
004AD13D   |. FF75 9C       push dword ptr ss:
004AD140   |. 56         push esi
004AD141   |. 56         push esi                         ; /pModule = FFFFFFFF ???
004AD142   |. FF15 90744D00    call near dword ptr ds:[<&KERNEL32.GetModuleHandleA>]; \GetModuleHandleA
004AD148   |. 50         push eax
004AD149   |. E8 F9E50000   call ACDSee.004BB747
004AD14E   |. 8945 A0       mov dword ptr ss:,eax
004AD151   |. 50         push eax
004AD152   |. E8 DD080000   call ACDSee.004ADA34
004AD157   |. 8B45 EC       mov eax,dword ptr ss:
004AD15A   |. 8B08      mov ecx,dword ptr ds:
004AD15C   |. 8B09      mov ecx,dword ptr ds:                ; ntdll.7C92E64E
004AD15E   |. 894D 98       mov dword ptr ss:,ecx
004AD161   |. 50         push eax
004AD162   |. 51         push ecx
004AD163   |. E8 B3390000   call ACDSee.004B0B1B
004AD168   |. 59         pop ecx                         ; kernel32.7C816FD7
004AD169   |. 59         pop ecx                         ; kernel32.7C816FD7
004AD16A   \. C3         retn

55 8B EC 6A FF 68 28 01 4E 00 68 9C 0C 4B 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 EC 58
53 56 57 89 65 E8 FF 15 A8 74 4D 00 33 D2 8A D4 89 15 F4 58 4F 00 8B C8 81 E1 FF 00 00 00 89 0D
F0 58 4F 00 C1 E1 08 03 CA 89 0D EC 58 4F 00 C1 E8 10 A3 E8 58 4F 00 6A 01 E8 C1 2D 00 00 59 85
C0 75 08 6A 1C E8 C3 00 00 00 59 E8 4E 23 00 00 85 C0 75 08 6A 10 E8 B2 00 00 00 59 33 F6 89 75
FC E8 42 51 00 00 FF 15 7C 72 4D 00 A3 58 70 4F 00 E8 00 50 00 00 A3 D8 58 4F 00 E8 A9 4D 00 00
E8 EB 4C 00 00 E8 EF 08 00 00 89 75 D0 8D 45 A4 50 FF 15 74 72 4D 00 E8 7C 4C 00 00 89 45 9C F6
45 D0 01 74 06 0F B7 45 D4 EB 03 6A 0A 58 50 FF 75 9C 56 56 FF 15 90 74 4D 00 50 E8 F9 E5 00 00
89 45 A0 50 E8 DD 08 00 00 8B 45 EC 8B 08 8B 09 89 4D 98 50 51 E8 B3 39 00 00 59 59 C3

**********************************************************************
Microsoft Visual C++ 7.0

.text
.rdata
.data
.rsrc

004079A3 eMul> $ 6A 60      push 60
004079A5    . 68 B0244200   push eMuleUpd.004224B0
004079AA    . E8 F5E1FFFF   call eMuleUpd.00405BA4
004079AF    . BF 94000000   mov edi,94
004079B4    . 8BC7      mov eax,edi                     ; ntdll.7C930738
004079B6    . E8 65FCFFFF   call eMuleUpd.00407620
004079BB    . 8965 E8       mov dword ptr ss:,esp
004079BE    . 8BF4      mov esi,esp
004079C0    . 893E      mov dword ptr ds:,edi                ; ntdll.7C930738
004079C2    . 56         push esi                         ; /pVersionInformation = FFFFFFFF
004079C3    . FF15 70024200    call near dword ptr ds:[<&KERNEL32.GetVersionExA>]    ; \GetVersionExA
004079C9    . 8B4E 10       mov ecx,dword ptr ds:
004079CC    . 890D 28BB4200    mov dword ptr ds:,ecx
004079D2    . 8B46 04       mov eax,dword ptr ds:
004079D5    . A3 34BB4200   mov dword ptr ds:,eax
004079DA    . 8B56 08       mov edx,dword ptr ds:
004079DD    . 8915 38BB4200    mov dword ptr ds:,edx            ; ntdll.KiFastSystemCallRet
004079E3    . 8B76 0C       mov esi,dword ptr ds:
004079E6    . 81E6 FF7F0000    and esi,7FFF
004079EC    . 8935 2CBB4200    mov dword ptr ds:,esi
004079F2    . 83F9 02       cmp ecx,2
004079F5    . 74 0C      je short eMuleUpd.00407A03
004079F7    . 81CE 00800000    or esi,8000
004079FD    . 8935 2CBB4200    mov dword ptr ds:,esi
00407A03    > C1E0 08       shl eax,8
00407A06    . 03C2      add eax,edx                     ; ntdll.KiFastSystemCallRet
00407A08    . A3 30BB4200   mov dword ptr ds:,eax
00407A0D    . 33F6      xor esi,esi
00407A0F    . 56         push esi                         ; /pModule = FFFFFFFF ???
00407A10    . 8B3D 88014200    mov edi,dword ptr ds:[<&KERNEL32.GetModuleHandleA>]   ; |kernel32.GetModuleHandleA
00407A16    . FFD7      call near edi                      ; \GetModuleHandleA
00407A18    . 66:8138 4D5A    cmp word ptr ds:,5A4D
00407A1D    . 75 1F      jnz short eMuleUpd.00407A3E
00407A1F    . 8B48 3C       mov ecx,dword ptr ds:
00407A22    . 03C8      add ecx,eax
00407A24    . 8139 50450000    cmp dword ptr ds:,4550
00407A2A    . 75 12      jnz short eMuleUpd.00407A3E
00407A2C    . 0FB741 18      movzx eax,word ptr ds:
00407A30    . 3D 0B010000   cmp eax,10B
00407A35    . 74 1F      je short eMuleUpd.00407A56
00407A37    . 3D 0B020000   cmp eax,20B
00407A3C    . 74 05      je short eMuleUpd.00407A43
00407A3E    > 8975 E4       mov dword ptr ss:,esi
00407A41    . EB 27      jmp short eMuleUpd.00407A6A
00407A43    > 83B9 84000000 0Ecmp dword ptr ds:,0E
00407A4A    .^ 76 F2      jbe short eMuleUpd.00407A3E
00407A4C    . 33C0      xor eax,eax
00407A4E    . 39B1 F8000000    cmp dword ptr ds:,esi
00407A54    . EB 0E      jmp short eMuleUpd.00407A64
00407A56    > 8379 74 0E   cmp dword ptr ds:,0E
00407A5A    .^ 76 E2      jbe short eMuleUpd.00407A3E
00407A5C    . 33C0      xor eax,eax
00407A5E    . 39B1 E8000000    cmp dword ptr ds:,esi
00407A64    > 0F95C0       setne al
00407A67    . 8945 E4       mov dword ptr ss:,eax
00407A6A    > 6A 01      push 1
00407A6C    . E8 A3550000   call eMuleUpd.0040D014
00407A71    . 59         pop ecx                         ; kernel32.7C816FD7
00407A72    . 85C0      test eax,eax
00407A74    . 75 08      jnz short eMuleUpd.00407A7E
00407A76    . 6A 1C      push 1C
00407A78    . E8 02FFFFFF   call eMuleUpd.0040797F
00407A7D    . 59         pop ecx                         ; kernel32.7C816FD7
00407A7E    > E8 572A0000   call eMuleUpd.0040A4DA
00407A83    . 85C0      test eax,eax
00407A85    . 75 08      jnz short eMuleUpd.00407A8F
00407A87    . 6A 10      push 10
00407A89    . E8 F1FEFFFF   call eMuleUpd.0040797F
00407A8E    . 59         pop ecx                         ; kernel32.7C816FD7
00407A8F    > E8 756A0000   call eMuleUpd.0040E509
00407A94    . 8975 FC       mov dword ptr ss:,esi
00407A97    . E8 6F680000   call eMuleUpd.0040E30B
00407A9C    . 85C0      test eax,eax
00407A9E    . 7D 08      jge short eMuleUpd.00407AA8
00407AA0    . 6A 1B      push 1B
00407AA2    . E8 B3FEFFFF   call eMuleUpd.0040795A
00407AA7    . 59         pop ecx                         ; kernel32.7C816FD7
00407AA8    > FF15 0C024200    call near dword ptr ds:[<&KERNEL32.GetCommandLineA>]   ; [GetCommandLineA
00407AAE    . A3 10D44200   mov dword ptr ds:,eax
00407AB3    . E8 31670000   call eMuleUpd.0040E1E9
00407AB8    . A3 14BB4200   mov dword ptr ds:,eax
00407ABD    . E8 85660000   call eMuleUpd.0040E147
00407AC2    . 85C0      test eax,eax
00407AC4    . 7D 08      jge short eMuleUpd.00407ACE
00407AC6    . 6A 08      push 8
00407AC8    . E8 8DFEFFFF   call eMuleUpd.0040795A
00407ACD    . 59         pop ecx                         ; kernel32.7C816FD7
00407ACE    > E8 41640000   call eMuleUpd.0040DF14
00407AD3    . 85C0      test eax,eax
00407AD5    . 7D 08      jge short eMuleUpd.00407ADF
00407AD7    . 6A 09      push 9
00407AD9    . E8 7CFEFFFF   call eMuleUpd.0040795A
00407ADE    . 59         pop ecx                         ; kernel32.7C816FD7
00407ADF    > 6A 01      push 1
00407AE1    . E8 72030000   call eMuleUpd.00407E58
00407AE6    . 59         pop ecx                         ; kernel32.7C816FD7
00407AE7    . 8945 D8       mov dword ptr ss:,eax
00407AEA    . 3BC6      cmp eax,esi
00407AEC    . 74 07      je short eMuleUpd.00407AF5
00407AEE    . 50         push eax
00407AEF    . E8 66FEFFFF   call eMuleUpd.0040795A
00407AF4    . 59         pop ecx                         ; kernel32.7C816FD7
00407AF5    > 8975 BC       mov dword ptr ss:,esi
00407AF8    . 8D45 90       lea eax,dword ptr ss:
00407AFB    . 50         push eax                         ; /pStartupinfo = NULL
00407AFC    . FF15 B4004200    call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>]   ; \GetStartupInfoA
00407B02    . E8 B0630000   call eMuleUpd.0040DEB7
00407B07    . 8945 E0       mov dword ptr ss:,eax
00407B0A    . F645 BC 01   test byte ptr ss:,1
00407B0E    . 74 06      je short eMuleUpd.00407B16
00407B10    . 0FB745 C0      movzx eax,word ptr ss:
00407B14    . EB 03      jmp short eMuleUpd.00407B19
00407B16    > 6A 0A      push 0A
00407B18    . 58         pop eax                         ; kernel32.7C816FD7
00407B19    > 50         push eax
00407B1A    . FF75 E0       push dword ptr ss:
00407B1D    . 56         push esi
00407B1E    . 56         push esi
00407B1F    . FFD7      call near edi                      ; ntdll.7C930738
00407B21    . 50         push eax
00407B22    . E8 33B50000   call eMuleUpd.0041305A
00407B27    . 8BF8      mov edi,eax
00407B29    . 897D D4       mov dword ptr ss:,edi            ; ntdll.7C930738
00407B2C    . 3975 E4       cmp dword ptr ss:,esi
00407B2F    . 75 06      jnz short eMuleUpd.00407B37
00407B31    . 57         push edi                         ; ntdll.7C930738
00407B32    . E8 4E040000   call eMuleUpd.00407F85
00407B37    > E8 6B040000   call eMuleUpd.00407FA7
00407B3C    . EB 2B      jmp short eMuleUpd.00407B69
00407B3E    . 8B45 EC       mov eax,dword ptr ss:
00407B41    . 8B08      mov ecx,dword ptr ds:
00407B43    . 8B09      mov ecx,dword ptr ds:                ; ntdll.7C92E64E
00407B45    . 894D DC       mov dword ptr ss:,ecx
00407B48    . 50         push eax
00407B49    . 51         push ecx
00407B4A    . E8 04620000   call eMuleUpd.0040DD53
00407B4F    . 59         pop ecx                         ; kernel32.7C816FD7
00407B50    . 59         pop ecx                         ; kernel32.7C816FD7
00407B51    . C3         retn

6A 60 68 B0 24 42 00 E8 F5 E1 FF FF BF 94 00 00 00 8B C7 E8 65 FC FF FF 89 65 E8 8B F4 89 3E 56
FF 15 70 02 42 00 8B 4E 10 89 0D 28 BB 42 00 8B 46 04 A3 34 BB 42 00 8B 56 08 89 15 38 BB 42 00
8B 76 0C 81 E6 FF 7F 00 00 89 35 2C BB 42 00 83 F9 02 74 0C 81 CE 00 80 00 00 89 35 2C BB 42 00
C1 E0 08 03 C2 A3 30 BB 42 00 33 F6 56 8B 3D 88 01 42 00 FF D7 66 81 38 4D 5A 75 1F 8B 48 3C 03
C8 81 39 50 45 00 00 75 12 0F B7 41 18 3D 0B 01 00 00 74 1F 3D 0B 02 00 00 74 05 89 75 E4 EB 27
83 B9 84 00 00 00 0E 76 F2 33 C0 39 B1 F8 00 00 00 EB 0E 83 79 74 0E 76 E2 33 C0 39 B1 E8 00 00
00 0F 95 C0 89 45 E4 6A 01 E8 A3 55 00 00 59 85 C0 75 08 6A 1C E8 02 FF FF FF 59 E8 57 2A 00 00
85 C0 75 08 6A 10 E8 F1 FE FF FF 59 E8 75 6A 00 00 89 75 FC E8 6F 68 00 00 85 C0 7D 08 6A 1B E8
B3 FE FF FF 59 FF 15 0C 02 42 00 A3 10 D4 42 00 E8 31 67 00 00 A3 14 BB 42 00 E8 85 66 00 00 85
C0 7D 08 6A 08 E8 8D FE FF FF 59 E8 41 64 00 00 85 C0 7D 08 6A 09 E8 7C FE FF FF 59 6A 01 E8 72
03 00 00 59 89 45 D8 3B C6 74 07 50 E8 66 FE FF FF 59 89 75 BC 8D 45 90 50 FF 15 B4 00 42 00 E8
B0 63 00 00 89 45 E0 F6 45 BC 01 74 06 0F B7 45 C0 EB 03 6A 0A 58 50 FF 75 E0 56 56 FF D7 50 E8
33 B5 00 00 8B F8 89 7D D4 39 75 E4 75 06 57 E8 4E 04 00 00 E8 6B 04 00 00 EB 2B 8B 45 EC 8B 08
8B 09 89 4D DC 50 51 E8 04 62 00 00 59 59 C3

**********************************************************************
Microsoft Visual C++ 7.0 Method2

.text
.data
.rsrc

0100739D note> 6A 70         push 70
0100739F    68 98180001      push notepad.01001898
010073A4    E8 BF010000      call notepad.01007568
010073A9    33DB         xor ebx,ebx
010073AB    53          push ebx
010073AC    8B3D CC100001   mov edi,dword ptr ds:[<&KERNEL32.GetModuleHandleA>]   ; kernel32.GetModuleHandleA
010073B2    FFD7         call near edi                      ; ntdll.7C930738
010073B4    66:8138 4D5A   cmp word ptr ds:,5A4D
010073B9    75 1F         jnz short notepad.010073DA
010073BB    8B48 3C      mov ecx,dword ptr ds:
010073BE    03C8         add ecx,eax
010073C0    8139 50450000   cmp dword ptr ds:,4550
010073C6    75 12         jnz short notepad.010073DA
010073C8    0FB741 18       movzx eax,word ptr ds:
010073CC    3D 0B010000      cmp eax,10B
010073D1    74 1F         je short notepad.010073F2
010073D3    3D 0B020000      cmp eax,20B
010073D8    74 05         je short notepad.010073DF
010073DA    895D E4      mov dword ptr ss:,ebx
010073DD    EB 27         jmp short notepad.01007406
010073DF    83B9 84000000 0E   cmp dword ptr ds:,0E
010073E6   ^ 76 F2         jbe short notepad.010073DA
010073E8    33C0         xor eax,eax
010073EA    3999 F8000000   cmp dword ptr ds:,ebx
010073F0    EB 0E         jmp short notepad.01007400
010073F2    8379 74 0E      cmp dword ptr ds:,0E
010073F6   ^ 76 E2         jbe short notepad.010073DA
010073F8    33C0         xor eax,eax
010073FA    3999 E8000000   cmp dword ptr ds:,ebx
01007400    0F95C0      setne al
01007403    8945 E4      mov dword ptr ss:,eax
01007406    895D FC      mov dword ptr ss:,ebx
01007409    6A 02         push 2
0100740B    FF15 38130001   call near dword ptr ds:[<&msvcrt.__set_app_type>]    ; msvcrt.__set_app_type
01007411    59          pop ecx                         ; kernel32.7C816FD7
01007412    830D 9CAB0001 FF   or dword ptr ds:,FFFFFFFF
01007419    830D A0AB0001 FF   or dword ptr ds:,FFFFFFFF
01007420    FF15 34130001   call near dword ptr ds:[<&msvcrt.__p__fmode>]      ; msvcrt.__p__fmode
01007426    8B0D B89A0001   mov ecx,dword ptr ds:
0100742C    8908         mov dword ptr ds:,ecx
0100742E    FF15 30130001   call near dword ptr ds:[<&msvcrt.__p__commode>]   ; msvcrt.__p__commode
01007434    8B0D B49A0001   mov ecx,dword ptr ds:
0100743A    8908         mov dword ptr ds:,ecx
0100743C    A1 2C130001      mov eax,dword ptr ds:[<&msvcrt._adjust_fdiv>]
01007441    8B00         mov eax,dword ptr ds:
01007443    A3 A4AB0001      mov dword ptr ds:,eax
01007448    E8 A7010000      call notepad.010075F4
0100744D    391D 08960001   cmp dword ptr ds:,ebx
01007453    75 0C         jnz short notepad.01007461
01007455    68 F4750001      push notepad.010075F4                  ; Entry address
0100745A    FF15 28130001   call near dword ptr ds:[<&msvcrt.__setusermatherr>]   ; msvcrt.__setusermatherr
01007460    59          pop ecx                         ; kernel32.7C816FD7
01007461    E8 77010000      call notepad.010075DD
01007466    68 10900001      push notepad.01009010
0100746B    68 0C900001      push notepad.0100900C
01007470    E8 5D010000      call <jmp.&msvcrt._initterm>
01007475    A1 B09A0001      mov eax,dword ptr ds:
0100747A    8945 DC      mov dword ptr ss:,eax
0100747D    8D45 DC      lea eax,dword ptr ss:
01007480    50          push eax
01007481    FF35 AC9A0001   push dword ptr ds:
01007487    8D45 D4      lea eax,dword ptr ss:
0100748A    50          push eax
0100748B    8D45 D0      lea eax,dword ptr ss:
0100748E    50          push eax
0100748F    8D45 CC      lea eax,dword ptr ss:
01007492    50          push eax
01007493    FF15 20130001   call near dword ptr ds:[<&msvcrt.__getmainargs>]   ; msvcrt.__getmainargs
01007499    8945 C8      mov dword ptr ss:,eax
0100749C    68 08900001      push notepad.01009008
010074A1    68 00900001      push notepad.01009000
010074A6    E8 27010000      call <jmp.&msvcrt._initterm>
010074AB    83C4 24      add esp,24
010074AE    A1 1C130001      mov eax,dword ptr ds:[<&msvcrt._acmdln>]
010074B3    8B30         mov esi,dword ptr ds:
010074B5    8975 E0      mov dword ptr ss:,esi
010074B8    803E 22      cmp byte ptr ds:,22
010074BB    75 3A         jnz short notepad.010074F7
010074BD    46          inc esi
010074BE    8975 E0      mov dword ptr ss:,esi
010074C1    8A06         mov al,byte ptr ds:
010074C3    3AC3         cmp al,bl
010074C5    74 04         je short notepad.010074CB
010074C7    3C 22         cmp al,22
010074C9   ^ 75 F2         jnz short notepad.010074BD
010074CB    803E 22      cmp byte ptr ds:,22
010074CE    75 04         jnz short notepad.010074D4
010074D0    46          inc esi
010074D1    8975 E0      mov dword ptr ss:,esi
010074D4    8A06         mov al,byte ptr ds:
010074D6    3AC3         cmp al,bl
010074D8    74 04         je short notepad.010074DE
010074DA    3C 20         cmp al,20
010074DC   ^ 76 F2         jbe short notepad.010074D0
010074DE    895D AC      mov dword ptr ss:,ebx
010074E1    8D45 80      lea eax,dword ptr ss:
010074E4    50          push eax
010074E5    FF15 D0100001   call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>]   ; kernel32.GetStartupInfoA
010074EB    F645 AC 01      test byte ptr ss:,1
010074EF    74 11         je short notepad.01007502
010074F1    0FB745 B0       movzx eax,word ptr ss:
010074F5    EB 0E         jmp short notepad.01007505
010074F7    803E 20      cmp byte ptr ds:,20
010074FA   ^ 76 D8         jbe short notepad.010074D4
010074FC    46          inc esi
010074FD    8975 E0      mov dword ptr ss:,esi
01007500   ^ EB F5         jmp short notepad.010074F7
01007502    6A 0A         push 0A
01007504    58          pop eax                         ; kernel32.7C816FD7
01007505    50          push eax
01007506    56          push esi
01007507    53          push ebx
01007508    53          push ebx
01007509    FFD7         call near edi                      ; ntdll.7C930738
0100750B    50          push eax
0100750C    E8 25B4FFFF      call notepad.01002936
01007511    8BF0         mov esi,eax
01007513    8975 C4      mov dword ptr ss:,esi
01007516    395D E4      cmp dword ptr ss:,ebx
01007519    75 07         jnz short notepad.01007522
0100751B    56          push esi
0100751C    FF15 18130001   call near dword ptr ds:[<&msvcrt.exit>]         ; msvcrt.exit
01007522    FF15 00130001   call near dword ptr ds:[<&msvcrt._cexit>]      ; msvcrt._cexit
01007528    EB 2D         jmp short notepad.01007557
0100752A    8B45 EC      mov eax,dword ptr ss:
0100752D    8B08         mov ecx,dword ptr ds:
0100752F    8B09         mov ecx,dword ptr ds:                ; ntdll.7C92E64E
01007531    894D D8      mov dword ptr ss:,ecx
01007534    50          push eax
01007535    51          push ecx
01007536    E8 8B000000      call <jmp.&msvcrt._XcptFilter>
0100753B    59          pop ecx                         ; kernel32.7C816FD7
0100753C    59          pop ecx                         ; kernel32.7C816FD7
0100753D    C3          retn

6A 70 68 98 18 00 01 E8 BF 01 00 00 33 DB 53 8B 3D CC 10 00 01 FF D7 66 81 38 4D 5A 75 1F 8B 48
3C 03 C8 81 39 50 45 00 00 75 12 0F B7 41 18 3D 0B 01 00 00 74 1F 3D 0B 02 00 00 74 05 89 5D E4
EB 27 83 B9 84 00 00 00 0E 76 F2 33 C0 39 99 F8 00 00 00 EB 0E 83 79 74 0E 76 E2 33 C0 39 99 E8
00 00 00 0F 95 C0 89 45 E4 89 5D FC 6A 02 FF 15 38 13 00 01 59 83 0D 9C AB 00 01 FF 83 0D A0 AB
00 01 FF FF 15 34 13 00 01 8B 0D B8 9A 00 01 89 08 FF 15 30 13 00 01 8B 0D B4 9A 00 01 89 08 A1
2C 13 00 01 8B 00 A3 A4 AB 00 01 E8 A7 01 00 00 39 1D 08 96 00 01 75 0C 68 F4 75 00 01 FF 15 28
13 00 01 59 E8 77 01 00 00 68 10 90 00 01 68 0C 90 00 01 E8 5D 01 00 00 A1 B0 9A 00 01 89 45 DC
8D 45 DC 50 FF 35 AC 9A 00 01 8D 45 D4 50 8D 45 D0 50 8D 45 CC 50 FF 15 20 13 00 01 89 45 C8 68
08 90 00 01 68 00 90 00 01 E8 27 01 00 00 83 C4 24 A1 1C 13 00 01 8B 30 89 75 E0 80 3E 22 75 3A
46 89 75 E0 8A 06 3A C3 74 04 3C 22 75 F2 80 3E 22 75 04 46 89 75 E0 8A 06 3A C3 74 04 3C 20 76
F2 89 5D AC 8D 45 80 50 FF 15 D0 10 00 01 F6 45 AC 01 74 11 0F B7 45 B0 EB 0E 80 3E 20 76 D8 46
89 75 E0 EB F5 6A 0A 58 50 56 53 53 FF D7 50 E8 25 B4 FF FF 8B F0 89 75 C4 39 5D E4 75 07 56 FF
15 18 13 00 01 FF 15 00 13 00 01 EB 2D 8B 45 EC 8B 08 8B 09 89 4D D8 50 51 E8 8B 00 00 00 59 59
C3

**********************************************************************
Microsoft Visual C++ 7.0

.text
.rdata
.data
.rsrc

004A5D0A BitB> $ 6A 60      push 60
004A5D0C    . 68 D07A4C00   push BitBuddy.004C7AD0
004A5D11    . E8 7A060000   call BitBuddy.004A6390
004A5D16    . BF 94000000   mov edi,94
004A5D1B    . 8BC7      mov eax,edi                     ; ntdll.7C930738
004A5D1D    . E8 CEE6FFFF   call BitBuddy.004A43F0
004A5D22    . 8965 E8       mov dword ptr ss:,esp
004A5D25    . 8BF4      mov esi,esp
004A5D27    . 893E      mov dword ptr ds:,edi                ; ntdll.7C930738
004A5D29    . 56         push esi                         ; /pVersionInformation = FFFFFFFF
004A5D2A    . FF15 8CF24B00    call near dword ptr ds:[<&KERNEL32.GetVersionExA>]    ; \GetVersionExA
004A5D30    . 8B4E 10       mov ecx,dword ptr ds:
004A5D33    . 890D 78614E00    mov dword ptr ds:,ecx
004A5D39    . 8B46 04       mov eax,dword ptr ds:
004A5D3C    . A3 84614E00   mov dword ptr ds:,eax
004A5D41    . 8B56 08       mov edx,dword ptr ds:
004A5D44    . 8915 88614E00    mov dword ptr ds:,edx            ; ntdll.KiFastSystemCallRet
004A5D4A    . 8B76 0C       mov esi,dword ptr ds:
004A5D4D    . 81E6 FF7F0000    and esi,7FFF
004A5D53    . 8935 7C614E00    mov dword ptr ds:,esi
004A5D59    . 83F9 02       cmp ecx,2
004A5D5C    . 74 0C      je short BitBuddy.004A5D6A
004A5D5E    . 81CE 00800000    or esi,8000
004A5D64    . 8935 7C614E00    mov dword ptr ds:,esi
004A5D6A    > C1E0 08       shl eax,8
004A5D6D    . 03C2      add eax,edx                     ; ntdll.KiFastSystemCallRet
004A5D6F    . A3 80614E00   mov dword ptr ds:,eax
004A5D74    . 33F6      xor esi,esi
004A5D76    . 56         push esi                         ; /pModule = FFFFFFFF ???
004A5D77    . 8B3D 08F24B00    mov edi,dword ptr ds:[<&KERNEL32.GetModuleHandleA>]   ; |kernel32.GetModuleHandleA
004A5D7D    . FFD7      call near edi                      ; \GetModuleHandleA
004A5D7F    . 66:8138 4D5A    cmp word ptr ds:,5A4D
004A5D84    . 75 1F      jnz short BitBuddy.004A5DA5
004A5D86    . 8B48 3C       mov ecx,dword ptr ds:
004A5D89    . 03C8      add ecx,eax
004A5D8B    . 8139 50450000    cmp dword ptr ds:,4550
004A5D91    . 75 12      jnz short BitBuddy.004A5DA5
004A5D93    . 0FB741 18      movzx eax,word ptr ds:
004A5D97    . 3D 0B010000   cmp eax,10B
004A5D9C    . 74 1F      je short BitBuddy.004A5DBD
004A5D9E    . 3D 0B020000   cmp eax,20B
004A5DA3    . 74 05      je short BitBuddy.004A5DAA
004A5DA5    > 8975 E4       mov dword ptr ss:,esi
004A5DA8    . EB 27      jmp short BitBuddy.004A5DD1
004A5DAA    > 83B9 84000000 0Ecmp dword ptr ds:,0E
004A5DB1    .^ 76 F2      jbe short BitBuddy.004A5DA5
004A5DB3    . 33C0      xor eax,eax
004A5DB5    . 39B1 F8000000    cmp dword ptr ds:,esi
004A5DBB    . EB 0E      jmp short BitBuddy.004A5DCB
004A5DBD    > 8379 74 0E   cmp dword ptr ds:,0E
004A5DC1    .^ 76 E2      jbe short BitBuddy.004A5DA5
004A5DC3    . 33C0      xor eax,eax
004A5DC5    . 39B1 E8000000    cmp dword ptr ds:,esi
004A5DCB    > 0F95C0       setne al
004A5DCE    . 8945 E4       mov dword ptr ss:,eax
004A5DD1    > 6A 01      push 1
004A5DD3    . E8 6C340000   call BitBuddy.004A9244
004A5DD8    . 59         pop ecx                         ; kernel32.7C816FD7
004A5DD9    . 85C0      test eax,eax
004A5DDB    . 75 08      jnz short BitBuddy.004A5DE5
004A5DDD    . 6A 1C      push 1C
004A5DDF    . E8 02FFFFFF   call BitBuddy.004A5CE6
004A5DE4    . 59         pop ecx                         ; kernel32.7C816FD7
004A5DE5    > E8 EE300000   call BitBuddy.004A8ED8
004A5DEA    . 85C0      test eax,eax
004A5DEC    . 75 08      jnz short BitBuddy.004A5DF6
004A5DEE    . 6A 10      push 10
004A5DF0    . E8 F1FEFFFF   call BitBuddy.004A5CE6
004A5DF5    . 59         pop ecx                         ; kernel32.7C816FD7
004A5DF6    > E8 EA6F0000   call BitBuddy.004ACDE5
004A5DFB    . 8975 FC       mov dword ptr ss:,esi
004A5DFE    . E8 BC630000   call BitBuddy.004AC1BF
004A5E03    . 85C0      test eax,eax
004A5E05    . 7D 08      jge short BitBuddy.004A5E0F
004A5E07    . 6A 1B      push 1B
004A5E09    . E8 B3FEFFFF   call BitBuddy.004A5CC1
004A5E0E    . 59         pop ecx                         ; kernel32.7C816FD7
004A5E0F    > FF15 54F14B00    call near dword ptr ds:[<&KERNEL32.GetCommandLineA>]   ; [GetCommandLineA
004A5E15    . A3 F4784E00   mov dword ptr ds:,eax
004A5E1A    . E8 A46E0000   call BitBuddy.004ACCC3
004A5E1F    . A3 D85F4E00   mov dword ptr ds:,eax
004A5E24    . E8 F86D0000   call BitBuddy.004ACC21
004A5E29    . 85C0      test eax,eax
004A5E2B    . 7D 08      jge short BitBuddy.004A5E35
004A5E2D    . 6A 08      push 8
004A5E2F    . E8 8DFEFFFF   call BitBuddy.004A5CC1
004A5E34    . 59         pop ecx                         ; kernel32.7C816FD7
004A5E35    > E8 B46B0000   call BitBuddy.004AC9EE
004A5E3A    . 85C0      test eax,eax
004A5E3C    . 7D 08      jge short BitBuddy.004A5E46
004A5E3E    . 6A 09      push 9
004A5E40    . E8 7CFEFFFF   call BitBuddy.004A5CC1
004A5E45    . 59         pop ecx                         ; kernel32.7C816FD7
004A5E46    > 6A 01      push 1
004A5E48    . E8 42290000   call BitBuddy.004A878F
004A5E4D    . 59         pop ecx                         ; kernel32.7C816FD7
004A5E4E    . 8945 D8       mov dword ptr ss:,eax
004A5E51    . 3BC6      cmp eax,esi
004A5E53    . 74 07      je short BitBuddy.004A5E5C
004A5E55    . 50         push eax
004A5E56    . E8 66FEFFFF   call BitBuddy.004A5CC1
004A5E5B    . 59         pop ecx                         ; kernel32.7C816FD7
004A5E5C    > 8975 BC       mov dword ptr ss:,esi
004A5E5F    . 8D45 90       lea eax,dword ptr ss:
004A5E62    . 50         push eax                         ; /pStartupinfo = NULL
004A5E63    . FF15 58F14B00    call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>]   ; \GetStartupInfoA
004A5E69    . E8 236B0000   call BitBuddy.004AC991
004A5E6E    . 8945 E0       mov dword ptr ss:,eax
004A5E71    . F645 BC 01   test byte ptr ss:,1
004A5E75    . 74 06      je short BitBuddy.004A5E7D
004A5E77    . 0FB745 C0      movzx eax,word ptr ss:
004A5E7B    . EB 03      jmp short BitBuddy.004A5E80
004A5E7D    > 6A 0A      push 0A
004A5E7F    . 58         pop eax                         ; kernel32.7C816FD7
004A5E80    > 50         push eax
004A5E81    . FF75 E0       push dword ptr ss:
004A5E84    . 56         push esi
004A5E85    . 56         push esi
004A5E86    . FFD7      call near edi                      ; ntdll.7C930738
004A5E88    . 50         push eax                         ; |Arg1 = 00000000
004A5E89    . E8 620BF8FF   call BitBuddy.004269F0                  ; \BitBuddy.004269F0
004A5E8E    . 8BF8      mov edi,eax
004A5E90    . 897D D4       mov dword ptr ss:,edi            ; ntdll.7C930738
004A5E93    . 3975 E4       cmp dword ptr ss:,esi
004A5E96    . 75 06      jnz short BitBuddy.004A5E9E
004A5E98    . 57         push edi                         ; ntdll.7C930738
004A5E99    . E8 1E2A0000   call BitBuddy.004A88BC
004A5E9E    > E8 3B2A0000   call BitBuddy.004A88DE
004A5EA3    . EB 2B      jmp short BitBuddy.004A5ED0
004A5EA5    . 8B45 EC       mov eax,dword ptr ss:
004A5EA8    . 8B08      mov ecx,dword ptr ds:
004A5EAA    . 8B09      mov ecx,dword ptr ds:                ; ntdll.7C92E64E
004A5EAC    . 894D DC       mov dword ptr ss:,ecx
004A5EAF    . 50         push eax
004A5EB0    . 51         push ecx
004A5EB1    . E8 77690000   call BitBuddy.004AC82D
004A5EB6    . 59         pop ecx                         ; kernel32.7C816FD7
004A5EB7    . 59         pop ecx                         ; kernel32.7C816FD7
004A5EB8    . C3         retn

6A 60 68 D0 7A 4C 00 E8 7A 06 00 00 BF 94 00 00 00 8B C7 E8 CE E6 FF FF 89 65 E8 8B F4 89 3E 56
FF 15 8C F2 4B 00 8B 4E 10 89 0D 78 61 4E 00 8B 46 04 A3 84 61 4E 00 8B 56 08 89 15 88 61 4E 00
8B 76 0C 81 E6 FF 7F 00 00 89 35 7C 61 4E 00 83 F9 02 74 0C 81 CE 00 80 00 00 89 35 7C 61 4E 00
C1 E0 08 03 C2 A3 80 61 4E 00 33 F6 56 8B 3D 08 F2 4B 00 FF D7 66 81 38 4D 5A 75 1F 8B 48 3C 03
C8 81 39 50 45 00 00 75 12 0F B7 41 18 3D 0B 01 00 00 74 1F 3D 0B 02 00 00 74 05 89 75 E4 EB 27
83 B9 84 00 00 00 0E 76 F2 33 C0 39 B1 F8 00 00 00 EB 0E 83 79 74 0E 76 E2 33 C0 39 B1 E8 00 00
00 0F 95 C0 89 45 E4 6A 01 E8 6C 34 00 00 59 85 C0 75 08 6A 1C E8 02 FF FF FF 59 E8 EE 30 00 00
85 C0 75 08 6A 10 E8 F1 FE FF FF 59 E8 EA 6F 00 00 89 75 FC E8 BC 63 00 00 85 C0 7D 08 6A 1B E8
B3 FE FF FF 59 FF 15 54 F1 4B 00 A3 F4 78 4E 00 E8 A4 6E 00 00 A3 D8 5F 4E 00 E8 F8 6D 00 00 85
C0 7D 08 6A 08 E8 8D FE FF FF 59 E8 B4 6B 00 00 85 C0 7D 08 6A 09 E8 7C FE FF FF 59 6A 01 E8 42
29 00 00 59 89 45 D8 3B C6 74 07 50 E8 66 FE FF FF 59 89 75 BC 8D 45 90 50 FF 15 58 F1 4B 00 E8
23 6B 00 00 89 45 E0 F6 45 BC 01 74 06 0F B7 45 C0 EB 03 6A 0A 58 50 FF 75 E0 56 56 FF D7 50 E8
62 0B F8 FF 8B F8 89 7D D4 39 75 E4 75 06 57 E8 1E 2A 00 00 E8 3B 2A 00 00 EB 2B 8B 45 EC 8B 08
8B 09 89 4D DC 50 51 E8 77 69 00 00 59 59 C3

**********************************************************************
VC8 -> Microsoft Corporation *

.text
.rdata
.data
.rsrc

00495FCE    > /6A 60      push 60
00495FD0    . |68 387B4C00   push foobar20.004C7B38
00495FD5    . |E8 A60C0000   call foobar20.00496C80
00495FDA    . |8365 FC 00   and dword ptr ss:,0
00495FDE    . |8D45 90       lea eax,dword ptr ss:
00495FE1    . |50         push eax                         ; /pStartupinfo = 535C08DE
00495FE2    . |FF15 14414B00    call near dword ptr ds:[<&KERNEL32.GetStartupInfoW>]   ; \GetStartupInfoW
00495FE8    . |C745 FC FEFFFFFFmov dword ptr ss:,-2
00495FEF    . |BF 94000000   mov edi,94
00495FF4    . |57         push edi                         ; /HeapSize = 7C930738 (2090010424.)
00495FF5    . |6A 00      push 0                        ; |Flags = 0
00495FF7    . |8B1D 10414B00    mov ebx,dword ptr ds:[<&KERNEL32.GetProcessHeap>]    ; |kernel32.GetProcessHeap
00495FFD    . |FFD3      call near ebx                      ; |[GetProcessHeap
00495FFF    . |50         push eax                         ; |hHeap = 535C08DE
00496000    . |FF15 08414B00    call near dword ptr ds:[<&KERNEL32.HeapAlloc>]      ; \HeapAlloc
00496006    . |8BF0      mov esi,eax
00496008    . |85F6      test esi,esi
0049600A    . |75 0D      jnz short foobar20.00496019
0049600C    . |6A 12      push 12
0049600E    . |E8 56FFFFFF   call foobar20.00495F69
00496013    . |59         pop ecx                         ; kernel32.7C816FD7
00496014    . |E9 89010000   jmp foobar20.004961A2
00496019    > |893E      mov dword ptr ds:,edi                ; ntdll.7C930738
0049601B    . |56         push esi                         ; /pVersionInformation = FFFFFFFF
0049601C    . |FF15 0C414B00    call near dword ptr ds:[<&KERNEL32.GetVersionExA>]    ; \GetVersionExA
00496022    . |56         push esi
00496023    . |6A 00      push 0
00496025    . |85C0      test eax,eax
00496027    . |75 0E      jnz short foobar20.00496037
00496029    . |FFD3      call near ebx
0049602B    . |50         push eax                         ; |hHeap = 535C08DE
0049602C    . |FF15 C8414B00    call near dword ptr ds:[<&KERNEL32.HeapFree>]      ; \HeapFree
00496032    . |E9 6B010000   jmp foobar20.004961A2
00496037    > |8B46 10       mov eax,dword ptr ds:
0049603A    . |8945 E0       mov dword ptr ss:,eax
0049603D    . |8B46 04       mov eax,dword ptr ds:
00496040    . |8945 DC       mov dword ptr ss:,eax
00496043    . |8B46 08       mov eax,dword ptr ds:
00496046    . |8945 D8       mov dword ptr ss:,eax
00496049    . |8B7E 0C       mov edi,dword ptr ds:
0049604C    . |81E7 FF7F0000    and edi,7FFF
00496052    . |FFD3      call near ebx
00496054    . |50         push eax                         ; |hHeap = 535C08DE
00496055    . |FF15 C8414B00    call near dword ptr ds:[<&KERNEL32.HeapFree>]      ; \HeapFree
0049605B    . |8B75 E0       mov esi,dword ptr ss:
0049605E    . |83FE 02       cmp esi,2
00496061    . |74 06      je short foobar20.00496069
00496063    . |81CF 00800000    or edi,8000
00496069    > |8B4D DC       mov ecx,dword ptr ss:
0049606C    . |8BC1      mov eax,ecx
0049606E    . |C1E0 08       shl eax,8
00496071    . |8B55 D8       mov edx,dword ptr ss:            ; ntdll.7C930738
00496074    . |03C2      add eax,edx                     ; ntdll.KiFastSystemCallRet
00496076    . |8935 CC084E00    mov dword ptr ds:,esi
0049607C    . |A3 D4084E00   mov dword ptr ds:,eax
00496081    . |890D D8084E00    mov dword ptr ds:,ecx
00496087    . |8915 DC084E00    mov dword ptr ds:,edx            ; ntdll.KiFastSystemCallRet
0049608D    . |893D D0084E00    mov dword ptr ds:,edi            ; ntdll.7C930738
00496093    . |E8 F5FEFFFF   call foobar20.00495F8D
00496098    . |8945 E0       mov dword ptr ss:,eax
0049609B    . |33DB      xor ebx,ebx
0049609D    . |43         inc ebx
0049609E    . |53         push ebx
0049609F    . |E8 8C100000   call foobar20.00497130
004960A4    . |59         pop ecx                         ; kernel32.7C816FD7
004960A5    . |85C0      test eax,eax
004960A7    . |75 08      jnz short foobar20.004960B1
004960A9    . |6A 1C      push 1C
004960AB    . |E8 B9FEFFFF   call foobar20.00495F69
004960B0    . |59         pop ecx                         ; kernel32.7C816FD7
004960B1    > |E8 C5050000   call foobar20.0049667B
004960B6    . |85C0      test eax,eax
004960B8    . |75 08      jnz short foobar20.004960C2
004960BA    . |6A 10      push 10
004960BC    . |E8 A8FEFFFF   call foobar20.00495F69
004960C1    . |59         pop ecx                         ; kernel32.7C816FD7
004960C2    > |E8 80790000   call foobar20.0049DA47
004960C7    . |895D FC       mov dword ptr ss:,ebx
004960CA    . |E8 38770000   call foobar20.0049D807
004960CF    . |85C0      test eax,eax
004960D1    . |7D 08      jge short foobar20.004960DB
004960D3    . |6A 1B      push 1B
004960D5    . |E8 9B080000   call foobar20.00496975
004960DA    . |59         pop ecx                         ; kernel32.7C816FD7
004960DB    > |E8 88760000   call foobar20.0049D768
004960E0    . |A3 9C544E00   mov dword ptr ds:,eax
004960E5    . |E8 1D750000   call foobar20.0049D607
004960EA    . |A3 AC084E00   mov dword ptr ds:,eax
004960EF    . |E8 68740000   call foobar20.0049D55C
004960F4    . |85C0      test eax,eax
004960F6    . |7D 08      jge short foobar20.00496100
004960F8    . |6A 08      push 8
004960FA    . |E8 76080000   call foobar20.00496975
004960FF    . |59         pop ecx                         ; kernel32.7C816FD7
00496100    > |E8 31720000   call foobar20.0049D336
00496105    . |85C0      test eax,eax
00496107    . |7D 08      jge short foobar20.00496111
00496109    . |6A 09      push 9
0049610B    . |E8 65080000   call foobar20.00496975
00496110    . |59         pop ecx                         ; kernel32.7C816FD7
00496111    > |53         push ebx
00496112    . |E8 7A090000   call foobar20.00496A91
00496117    . |59         pop ecx                         ; kernel32.7C816FD7
00496118    . |85C0      test eax,eax
0049611A    . |74 07      je short foobar20.00496123
0049611C    . |50         push eax
0049611D    . |E8 53080000   call foobar20.00496975
00496122    . |59         pop ecx                         ; kernel32.7C816FD7
00496123    > |E8 C8710000   call foobar20.0049D2F0
00496128    . |845D BC       test byte ptr ss:,bl
0049612B    . |74 06      je short foobar20.00496133
0049612D    . |0FB74D C0      movzx ecx,word ptr ss:
00496131    . |EB 03      jmp short foobar20.00496136
00496133    > |6A 0A      push 0A
00496135    . |59         pop ecx                         ; kernel32.7C816FD7
00496136    > |51         push ecx
00496137    . |50         push eax
00496138    . |6A 00      push 0
0049613A    . |68 00004000   push foobar20.00400000
0049613F    . |E8 8EAAF9FF   call foobar20.00430BD2
00496144    . |8945 E4       mov dword ptr ss:,eax
00496147    . |837D E0 00   cmp dword ptr ss:,0
0049614B    . |75 06      jnz short foobar20.00496153
0049614D    . |50         push eax
0049614E    . |E8 9E0A0000   call foobar20.00496BF1
00496153    > |E8 BB0A0000   call foobar20.00496C13
00496158    . |EB 2E      jmp short foobar20.00496188
0049615A    . |8B45 EC       mov eax,dword ptr ss:
0049615D    . |8B08      mov ecx,dword ptr ds:
0049615F    . |8B09      mov ecx,dword ptr ds:                ; ntdll.7C92E10E
00496161    . |894D D4       mov dword ptr ss:,ecx
00496164    . |50         push eax
00496165    . |51         push ecx
00496166    . |E8 16700000   call foobar20.0049D181
0049616B    . |59         pop ecx                         ; kernel32.7C816FD7
0049616C    . |59         pop ecx                         ; kernel32.7C816FD7
0049616D    . |C3         retn
0049616E    . |8B65 E8       mov esp,dword ptr ss:
00496171    . |8B45 D4       mov eax,dword ptr ss:            ; kernel32.7C816FD7
00496174    . |8945 E4       mov dword ptr ss:,eax
00496177    . |837D E0 00   cmp dword ptr ss:,0
0049617B    . |75 06      jnz short foobar20.00496183
0049617D    . |50         push eax
0049617E    . |E8 7F0A0000   call foobar20.00496C02
00496183    > |E8 9A0A0000   call foobar20.00496C22
00496188    > |C745 FC FEFFFFFFmov dword ptr ss:,-2
0049618F    . |8B45 E4       mov eax,dword ptr ss:
00496192    . |EB 13      jmp short foobar20.004961A7
00496194    . |33C0      xor eax,eax
00496196    . |40         inc eax
00496197    . |C3         retn
00496198    . |8B65 E8       mov esp,dword ptr ss:
0049619B    . |C745 FC FEFFFFFFmov dword ptr ss:,-2
004961A2    > |B8 FF000000   mov eax,0FF
004961A7    > |E8 190B0000   call foobar20.00496CC5
004961AC    . |C3         retn
004961AD foob> $ |E8 DD780000   call foobar20.0049DA8F
004961B2    .^\E9 17FEFFFF   jmp foobar20.00495FCE
004961B7    $ 3B0D B0CC4D00    cmp ecx,dword ptr ds:
004961BD    . 75 02      jnz short foobar20.004961C1
004961BF    . F3:         prefix rep:
004961C0    . C3         retn

6A 60 68 38 7B 4C 00 E8 A6 0C 00 00 83 65 FC 00 8D 45 90 50 FF 15 14 41 4B 00 C7 45 FC FE FF FF
FF BF 94 00 00 00 57 6A 00 8B 1D 10 41 4B 00 FF D3 50 FF 15 08 41 4B 00 8B F0 85 F6 75 0D 6A 12
E8 56 FF FF FF 59 E9 89 01 00 00 89 3E 56 FF 15 0C 41 4B 00 56 6A 00 85 C0 75 0E FF D3 50 FF 15
C8 41 4B 00 E9 6B 01 00 00 8B 46 10 89 45 E0 8B 46 04 89 45 DC 8B 46 08 89 45 D8 8B 7E 0C 81 E7
FF 7F 00 00 FF D3 50 FF 15 C8 41 4B 00 8B 75 E0 83 FE 02 74 06 81 CF 00 80 00 00 8B 4D DC 8B C1
C1 E0 08 8B 55 D8 03 C2 89 35 CC 08 4E 00 A3 D4 08 4E 00 89 0D D8 08 4E 00 89 15 DC 08 4E 00 89
3D D0 08 4E 00 E8 F5 FE FF FF 89 45 E0 33 DB 43 53 E8 8C 10 00 00 59 85 C0 75 08 6A 1C E8 B9 FE
FF FF 59 E8 C5 05 00 00 85 C0 75 08 6A 10 E8 A8 FE FF FF 59 E8 80 79 00 00 89 5D FC E8 38 77 00
00 85 C0 7D 08 6A 1B E8 9B 08 00 00 59 E8 88 76 00 00 A3 9C 54 4E 00 E8 1D 75 00 00 A3 AC 08 4E
00 E8 68 74 00 00 85 C0 7D 08 6A 08 E8 76 08 00 00 59 E8 31 72 00 00 85 C0 7D 08 6A 09 E8 65 08
00 00 59 53 E8 7A 09 00 00 59 85 C0 74 07 50 E8 53 08 00 00 59 E8 C8 71 00 00 84 5D BC 74 06 0F
B7 4D C0 EB 03 6A 0A 59 51 50 6A 00 68 00 00 40 00 E8 8E AA F9 FF 89 45 E4 83 7D E0 00 75 06 50
E8 9E 0A 00 00 E8 BB 0A 00 00 EB 2E 8B 45 EC 8B 08 8B 09 89 4D D4 50 51 E8 16 70 00 00 59 59 C3
8B 65 E8 8B 45 D4 89 45 E4 83 7D E0 00 75 06 50 E8 7F 0A 00 00 E8 9A 0A 00 00 C7 45 FC FE FF FF
FF 8B 45 E4 EB 13 33 C0 40 C3 8B 65 E8 C7 45 FC FE FF FF FF B8 FF 00 00 00 E8 19 0B 00 00 C3 E8
DD 78 00 00 E9 17 FE FF FF 3B 0D B0 CC 4D 00 75 02 F3 C3

**********************************************************************

蚊香 发表于 2008-3-24 19:38

类似标题的文章见过不少。。这个是最全的 Delphi的版本分的好细

hackwm 发表于 2008-3-24 22:08

好全面呀~~收藏啦~

一见如故 发表于 2008-3-25 13:40

很好的材料,感谢分享

139user 发表于 2008-3-26 15:22

o(∩_∩)o...~很全很过瘾
哈哈 貌似涉及这一类的都显得死板
另外断点大全那贴更好用点A4纸放大全挂卫生间门背后 大家WC时候就有空记记

kyhack 发表于 2008-3-27 10:46

是很全的!!
楼主!帖子我收藏了!

lunglungyu 发表于 2008-3-27 10:50

不小心看到了XP記事本的那個

100739D

478578 发表于 2008-4-1 17:24

xiexie

aisht 发表于 2008-5-27 17:48

kissy 为我偶像。。。。
他的东西一定要收藏。

hezhaoyang 发表于 2008-12-11 22:54

不错,下载收藏:handshake
页: [1] 2 3
查看完整版本: 一些常见语言所编写的程序的OEP特征