Сейчас на форуме: bartolomeo, -Sanchez- (+3 невидимых) |
eXeL@B —› Вопросы новичков —› Можно ли расширить заголовок PE? |
Посл.ответ | Сообщение |
|
Создано: 08 марта 2006 01:00 · Личное сообщение · #1 |
|
Создано: 08 марта 2006 03:12 · Личное сообщение · #2 |
|
Создано: 08 марта 2006 09:09 · Личное сообщение · #3 |
|
Создано: 08 марта 2006 14:21 · Личное сообщение · #4 |
|
Создано: 08 марта 2006 16:21 · Личное сообщение · #5 .data hmapp dd 0 hfile dd 0 mapp_addr dd 0 size_ dd 0 hight dd 0 file_name db '111.exe',0 .code start: invoke CreateFileA,addr file_name,GENERIC_READ OR GENERIC_WRITE,0,0,OPEN_EXISTING,0,0 inc eax or eax,eax jz error_open dec eax mov hfile,eax invoke GetFileSize,eax,addr hight mov size_,eax add eax,2000h invoke CreateFileMapping,hfile,0,PAGE_READWRITE,0,eax,0 or eax,eax jz error_exe mov hmapp,eax invoke MapViewOfFileEx,hmapp,FILE_MAP_READ OR FILE_MAP_WRITE ,0,0,0,0 or eax,eax jz error_mapp mov mapp_addr,eax ;--------------------- двигаем секции mov ecx,size_ mov esi,eax dec esi add esi,ecx mov edi,esi add edi,2000h sub ecx,400h std rep movsb ;двигаем секции на 2000h ;----------------------------------правим заголовок mov esi,[eax+3ch] add esi,eax movzx ecx,word ptr [esi+6] ;количество секций add esi,0f8h ;начало заголовков секций mov eax,28h next_section: add dword ptr [esi+14h],2000h ;новое смещение передвинутой секции на диске add esi,eax dec ecx jne next_section ;------------------------------- invoke UnmapViewOfFile,mapp_addr error_mapp: invoke CloseHandle,hmapp error_exe: invoke CloseHandle,hfile error_open: Код двигает все секции pe на 2000h. Т.о. на диске между заголовком и 1-ой секцией появляется 2000h свободного места. То, что там находится не грузится в память. Следует учесть, что если у проги есть оверлей, то ей придёт конец, когда она попытается его использовать. А зачем это надо? |
|
Создано: 08 марта 2006 16:58 · Поправил: NUCLEuS · Личное сообщение · #6 |
|
Создано: 08 марта 2006 19:41 · Личное сообщение · #7 |
eXeL@B —› Вопросы новичков —› Можно ли расширить заголовок PE? |
Эта тема закрыта. Ответы больше не принимаются. |