Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых)

 eXeL@B —› Программирование —› CreateFileMapping и SEC_IMAGE
Посл.ответ Сообщение


Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 14 января 2007 06:23
· Личное сообщение · #1

Хочу открыть образ РЕ фаила в режиме чтения, написал вот такой код (вариант без обработки ошибок):
HANDLE hFile = CreateFile(szFileName, GENERIC_READ, FILE_SHARE_READ , NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
HANDLE hMap = CreateFileMapping(hFile, NULL, SEC_IMAGE, 0, 0, 0);

На выходе hMap == 0, хендл открытого файла валиден.
Может быть надо применить какую-то другую комбинацию флагов? МСДН об этом молчит...



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 14 января 2007 06:30 · Поправил: Smon
· Личное сообщение · #2

HoBleen
попробуй так:
HMap:=LoadLibraryEx(PChar('file.exe'),0,DONT_RESOLVE_DLL_REFERENCES)
CreateFile в данном случае не нужен )

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 14 января 2007 06:37
· Личное сообщение · #3

PE:=CreateFile(PChar(F_PEFilePath),GENERIC_READ,FILE_SHARE_READ,nil,OP EN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
MEMSZ:=GetFileSize(PE,nil);
MEMPTR:=MapViewOfFile(FM,FILE_MAP_WRITE, 0, 0, MEMSZ);

См0три.




Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 14 января 2007 06:40
· Личное сообщение · #4

hfile := CreateFile(name, GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
if hfile = INVALID_HANDLE_VALUE then Exit;
hmap := CreateFileMapping(hfile, nil, PAGE_READONLY+SEC_IMAGE, 0, 0, nil);
if hmap = 0 then Exit;
pmap := MapViewOfFile(hmap, FILE_MAP_READ, 0, 0, 0);

Smon
Разница между мапингом с SEC_IMAGE и LoadLibraryEx есть весьма существенная. Состоит она в том, что если нужный нам пе образ уже загружен в процесс, то LoadLibraryEx вернет указатель на него (вместе со всеми изменениями которые могли быть внесены в памяти). Мапинг вернет нам оригинальный образ получений из файла на диске.

-----
Скажем дружно - нафиг нужно.





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 14 января 2007 06:48 · Поправил: HoBleen
· Личное сообщение · #5

sniperZ
Мне нужно открыть фаил как РЕ образ - SEC_IMAGE.

Smon & Ms-Rem
Спасибо, я сам ошибся - написал в начале (PAGE_READONLY || SEC_IMAGE) вместо (PAGE_READONLY | SEC_IMAGE) - получилось PAGE_NOACCESS =)

ЗЫ интересно, все теперь пишут на Дельфи? =)



Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 14 января 2007 07:48 · Поправил: sniperZ
· Личное сообщение · #6

HoBleen пишет:
Мне нужно открыть фаил как РЕ образ - SEC_IMAGE.

0шиб0чка вышла.

HoBleen пишет:
ЗЫ интересно, все теперь пишут на Дельфи? =)

Дельфи рулит. С интерфейс0м зам0р0чек нет.
К0му не нравится размер п0лучившейся пр0ги ==> KOL&MCK в п0м0щь.
Мн0гие пишут на дельфи (или BCB )




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 14 января 2007 08:47
· Личное сообщение · #7

HoBleen пишет:
ЗЫ интересно, все теперь пишут на Дельфи? =)

нет) я пишу на VB и на асме)

-----
Уважайте других и пишите грамотно.





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 14 января 2007 09:00
· Личное сообщение · #8

Executioner пишет:
нет) я пишу на VB и на асме)

Я говорю про ответивших =)

Пока не начался активный флуд, топик закрываю =)


 eXeL@B —› Программирование —› CreateFileMapping и SEC_IMAGE
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати