نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: inject pe

  1. #1
    تاریخ عضویت
    Jan 2014
    نوشته ها
    20
    تشکر از ارسال
    17
    Thanked 7 Times in 5 Posts

    inject pe

    سلام.
    از طریق کد زیر می خوام یک عکس به فایل pe اینجکت کنم که نمی دونم چرا کار نمی کنه!
    برنامه هیچ اروری نمیده و کامپایل میشه ولی کار نمی کنه!
    سورس:
    کد:
    #include "stdafx.h"
    #include "iostream"
    #include "windows.h"
    #pragma comment(lib,"ntdll.lib")
    #include <tlhelp32.h>
    using namespace std;
    
    PVOID  InjectImage(HANDLE hProcess,PVOID ImageAddress);
     int main() {
    
    	 HANDLE hProcess;
    	  PROCESSENTRY32 pe32;
    	    hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE, 7316 );
    		if(  hProcess == INVALID_HANDLE_VALUE )
      {
        cout<<"erro";
      }
    		InjectImage(hProcess,TEXT("C://10.jpg"));
    	 return 0;
    
     }
     PVOID  InjectImage(HANDLE hProcess,PVOID ImageAddress)
    {
        PIMAGE_DOS_HEADER pIDH;
        PIMAGE_NT_HEADERS pINH;
        PIMAGE_BASE_RELOCATION pIBR;
     
        DWORD i,count;
        DWORD_PTR delta,OldDelta;
        PDWORD_PTR p;
        LPWORD list;
        PVOID image,mem;
     
        pIDH=(PIMAGE_DOS_HEADER)ImageAddress;
        pINH=(PIMAGE_NT_HEADERS)((LPBYTE)pIDH+pIDH->e_lfanew);
     
        if(!(mem=VirtualAllocEx(hProcess,NULL,pINH->OptionalHeader.SizeOfImage,MEM_COMMIT|MEM_RESERVE,PAGE_EXECUTE_READWRITE)))
        {
            return NULL;
        }
     
        image=VirtualAlloc(NULL,pINH->OptionalHeader.SizeOfImage,MEM_COMMIT|MEM_RESERVE,PAGE_EXECUTE_READWRITE);
     
        memcpy(image,pIDH,pINH->OptionalHeader.SizeOfImage);
     
        pIBR=(PIMAGE_BASE_RELOCATION)((LPBYTE)image+pINH->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].VirtualAddress);
     
        delta=(DWORD_PTR)((LPBYTE)mem-pINH->OptionalHeader.ImageBase);
        OldDelta=(DWORD_PTR)((LPBYTE)pIDH-pINH->OptionalHeader.ImageBase);
     
        while(pIBR->VirtualAddress!=0)
        {
            if(pIBR->SizeOfBlock>=sizeof(IMAGE_BASE_RELOCATION))
            {
                count=(pIBR->SizeOfBlock-sizeof(IMAGE_BASE_RELOCATION))/sizeof(WORD);
                list=(LPWORD)((LPBYTE)pIBR+sizeof(IMAGE_BASE_RELOCATION));
     
                for(i=0;i<count;i++)
                {
                    if(list[i]>0)
                    {
                        p=(PDWORD_PTR)((LPBYTE)image+(pIBR->VirtualAddress+(0xFFF & (list[i]))));
     
                        *p-=OldDelta;
                        *p+=delta;
                    }
                }
            }
     
            pIBR=(PIMAGE_BASE_RELOCATION)((LPBYTE)pIBR+pIBR->SizeOfBlock);
        }
     
        if(!WriteProcessMemory(hProcess,mem,image,pINH->OptionalHeader.SizeOfImage,NULL))
        {
            VirtualFreeEx(hProcess,mem,0,MEM_RELEASE);
            VirtualFree(image,0,MEM_RELEASE);
        }
     
        VirtualFree(image,0,MEM_RELEASE);
        return mem;
    }

  2. #2
    تاریخ عضویت
    Aug 2010
    نوشته ها
    163
    تشکر از ارسال
    57
    Thanked 101 Times in 71 Posts
    InjectImage(hProcess,TEXT("C://10.jpg"));

    این به نظرت نباید اینجوری باشه c:\\10.jpg
    ویرایش توسط keylogger : 02-15-2014 در ساعت 03:52 PM

  3. #3
    تاریخ عضویت
    Jan 2014
    نوشته ها
    20
    تشکر از ارسال
    17
    Thanked 7 Times in 5 Posts
    مشکل از اون نیست . به فرم شما هم تغییر داده بودم ...
    نمیدونم چرا کار نمی کنه؟

  4. #4
    تاریخ عضویت
    Aug 2011
    نوشته ها
    2
    تشکر از ارسال
    0
    Thanked 0 Times in 0 Posts
    درود؛

    این کد اصولا درست نیست! آدرس تصویر رو با آرگومان ImageAddress به تابع InjectImage ارسال کردی و بعدش تبدیل به نوع PIMAGE_DOS_HEADER کردی که اصلا امکان نداره!
    به طور خلاصه اینجکت کردن شامل باز کردن تصویر و خوندن آن و بعد اضافه کردن یک section جدید (اگه جا نباشه ) است.
    توی این کد اصلا تصویر خونده نشده!(مثلا با readfile)

 

 

موضوعات مشابه

  1. Inject و پریدن کوکی
    توسط Ako0ri در انجمن بخش کاربران / سوالات مبتدی
    پاسخ ها: 2
    آخرين نوشته: 12-03-2013, 03:55 AM
  2. مقاله اموزشی xml inject
    توسط sajjad13and11 در انجمن مقالات شما
    پاسخ ها: 1
    آخرين نوشته: 03-26-2013, 06:21 AM
  3. مشکل برای یوزر ساختن RDP در Sql Inject
    توسط Encoder در انجمن بخش کاربران / سوالات مبتدی
    پاسخ ها: 12
    آخرين نوشته: 03-08-2012, 02:30 PM
  4. مشکل در Inject
    توسط Ako0ri در انجمن بخش هک و سکیوریتی
    پاسخ ها: 8
    آخرين نوشته: 10-07-2011, 11:52 PM

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •