Посл.ответ |
Сообщение |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 12 октября 2006 00:08 · Личное сообщение · #1
Есть запущенный процес, я в него внедряю длл, далее узнаю полный путь и когда пытаюсь открыть этот фаил из внедренной длл получаю облом. Кто знает в чем загвоздка и как это обойти?
| Сообщение посчитали полезным: |
|
Ранг: 793.4 (! !), 568thx Активность: 0.74↘0 Статус: Участник Шаман
|
Создано: 12 октября 2006 00:37 · Личное сообщение · #2
Покажи как открываешь, скорее всего дело во флагах...
----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: |
Ранг: 105.9 (ветеран) Активность: 0.06↘0 Статус: Участник
|
Создано: 12 октября 2006 00:41 · Поправил: seeq · Личное сообщение · #3
Я сажусь в машину, включаю зажигание, нажимаю на газ, машина не едет! Кто знает в чем загвоздка и как это обойти?
Что значить "пытаюсь открыть этот фаил из внедренной длл" ?
Через CreateFileA ? Для чтения? Для записи? Приведи кусок кода.
3 метода работы с занятыми файлами
http://www.wasm.ru/article.php?article=lockfileswork http://www.wasm.ru/article.php?article=lockfileswork
| Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 12 октября 2006 00:48 · Поправил: Cigan · Личное сообщение · #4
[HIGHLIGHT=asm]mov hFile,$invoke(CreateFile,CmdLine,GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0)
.if hFile!=-1
mov FileSize,$invoke(GetFileSize,hFile,0)
mov hFileMap,$invoke(CreateFileMapping,hFile,0,PAGE_READWRITE,0,0,0)
mov FileMapping,$invoke(MapViewOfFile,hFileMap,FILE_MAP_ALL_ACCESS,0,0,0)
mov edi,FileMapping
assume edi:ptr IMAGE_DOS_HEADER
.if [edi].e_magic==IMAGE_DOS_SIGNATURE
add edi,[edi].e_lfanew
assume edi:ptr IMAGE_NT_HEADERS
.if [edi].Signature==IMAGE_NT_SIGNATURE
mov eax,[edi].OptionalHeader.ImageBase
mov ImageBase,eax
mov ax,[edi].FileHeader.NumberOfSections
mov NumberSection,ax
add edi,sizeof IMAGE_NT_HEADERS
mov ecx,sizeof IMAGE_SECTION_HEADER.Name1
mov esi,offset NameSection
repe cmpsb
sub edi,sizeof IMAGE_SECTION_HEADER.Name1
.if zero?
assume edi:ptr IMAGE_SECTION_HEADER
mov eax,[edi].VirtualAddress
mov WarRVA,eax
mov eax,[edi].SizeOfRawData
mov WarSizeOfData,eax
.endif
.endif
.endif
.else
invoke MessageBox,0,$CTA0("Can't open file"),FileName,MB_OK
.endif
ret
[/HIGHLIGHT]
Код без проверок так как смысла пока нет их добовлять из за невозможности получить доступ.
CreateFile возвращает ERROR_SHARING_VIOLITATION
| Сообщение посчитали полезным: |
Ранг: 110.7 (ветеран) Активность: 0.07↘0 Статус: Участник ~ tPORt ~
|
Создано: 12 октября 2006 01:21 · Личное сообщение · #5
GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE
на чтение только открывай а не на чтение\запись
| Сообщение посчитали полезным: |
Ранг: 310.8 (мудрец), 29thx Активность: 0.43↘0 Статус: Участник
|
Создано: 12 октября 2006 03:04 · Личное сообщение · #6
LazzY пишет:
на чтение только открывай
Так он его патчить собрался
Cigan пишет:
как это обойти?
Так просто наверное не получится. Раз файл уже открыт, а ты внутри - ищи хендл и работай через него.
Хотя скорее всего файл открыт на чтение.
| Сообщение посчитали полезным: |
Ранг: 16.8 (новичок) Активность: 0.03↘0 Статус: Участник
|
Создано: 14 октября 2006 07:40 · Личное сообщение · #7
Посмотри, может это тебе поможет:
www.catch22.net/tuts/selfdel.asp
| Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 14 октября 2006 09:31 · Личное сообщение · #8
Нет это не подходит.
| Сообщение посчитали полезным: |
Ранг: 240.5 (наставник) Активность: 0.19↘0 Статус: Участник Author of ACKiller
|
Создано: 14 октября 2006 23:41 · Личное сообщение · #9
Может тогда сначала прибьешь процесс?
А после работай с файлом как хочешь.
| Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 15 октября 2006 01:32 · Личное сообщение · #10
Мне нужен именно работающи процесс
| Сообщение посчитали полезным: |
Ранг: 500.6 (!), 7thx Активность: 0.26↘0 Статус: Участник
|
Создано: 15 октября 2006 02:18 · Поправил: NIKOLA · Личное сообщение · #11
Cigan пишет:
Мне нужен именно работающи процесс
А как читеры работают?
| Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 15 октября 2006 03:23 · Личное сообщение · #12
NIKOLA пишет:
А как читеры работают? В смысле?
| Сообщение посчитали полезным: |
Ранг: 24.2 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 15 октября 2006 03:53 · Личное сообщение · #13
Читеры память патчат а не файл на диске
| Сообщение посчитали полезным: |
Ранг: 310.8 (мудрец), 29thx Активность: 0.43↘0 Статус: Участник
|
Создано: 15 октября 2006 04:00 · Личное сообщение · #14
Cigan пишет:
Мне нужен именно работающи процесс
Т.к. ты информации не дал, то только один вариант, через хендл этого файла в самом процессе.
А вообще, не задавай вопрос из "середины проблемы" Время съэкономишь.
| Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 15 октября 2006 04:01 · Личное сообщение · #15
tundra37 пишет:
Т.к. ты информации не дал
Какой именно информации?
| Сообщение посчитали полезным: |
Ранг: 240.5 (наставник) Активность: 0.19↘0 Статус: Участник Author of ACKiller
|
Создано: 15 октября 2006 05:25 · Личное сообщение · #16
Cigan пишет:
Какой именно информации?
Тебе вообще что нужно? Сделать патч файла или изменить память процесса? Изъясняйся понятнее!
| Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 15 октября 2006 05:55 · Поправил: Cigan · Личное сообщение · #17
Читай первый пост мне там все написано. Если патч то я так бы не извращался если память процеса тоже всеголишь WriteProcessMemory.
| Сообщение посчитали полезным: |
Ранг: 240.5 (наставник) Активность: 0.19↘0 Статус: Участник Author of ACKiller
|
Создано: 15 октября 2006 06:03 · Личное сообщение · #18
В голову приходит только одно - писать драйвер, кот. в таблице объектов изменяет shared-status запущенного файла.
| Сообщение посчитали полезным: |
Ранг: 500.6 (!), 7thx Активность: 0.26↘0 Статус: Участник
|
Создано: 15 октября 2006 06:44 · Личное сообщение · #19
Cigan пишет:
Читай первый пост мне там все написано.
Читаем
Cigan пишет:
узнаю полный путь и когда пытаюсь открыть этот фаил из внедренной длл получаю облом
Для чего открываеш, что хочеш сделать ?
имхо. такие топики нах закрывать надо, а то, не понятно чего чел хочет.
| Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 15 октября 2006 07:14 · Поправил: Cigan · Личное сообщение · #20
NIKOLA пишет:
Для чего открываеш, что хочеш сделать ?
Какая разница для чего??? Это уже мое дело я задал вопрос ни кто не ответил только берд несут. Не знаешь нефиг писать тогда.
| Сообщение посчитали полезным: |
Ранг: 500.6 (!), 7thx Активность: 0.26↘0 Статус: Участник
|
Создано: 15 октября 2006 10:14 · Личное сообщение · #21
Cigan
Ну и хрен с тобой, шифруйся, от меня больше слова не добьёшся.
| Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 15 октября 2006 10:47 · Поправил: Cigan · Личное сообщение · #22
NIKOLA пишет:
Ну и хрен с тобой, шифруйся
Да че шивроваться то? После внедрения в процесс длл нужно получить все параметры вайла и потом оригинал сохранить, а запущеный фаил полность распаковать и положить на место старого.
| Сообщение посчитали полезным: |
Ранг: 793.4 (! !), 568thx Активность: 0.74↘0 Статус: Участник Шаман
|
Создано: 15 октября 2006 19:13 · Личное сообщение · #23
Cigan ты не сможешь писать в файл, если он запущен (залочен). Только если как то на самом низком уровне...
----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 15 октября 2006 23:30 · Личное сообщение · #24
Но тогда вопрорс поему я этотот фаил могу без прооблем копировать удалять изменять, но только не из моей длл, а из тотала или проводника.
| Сообщение посчитали полезным: |
Ранг: 420.3 (мудрец) Активность: 0.24↘0 Статус: Участник
|
Создано: 16 октября 2006 01:25 · Личное сообщение · #25
Cigan пишет:
Но тогда вопрорс поему я этотот фаил могу без прооблем копировать удалять изменять, но только не из моей длл, а из тотала или проводника.
Копировать запущеный файл можно (т.к. открывается для чтения при копировании), а вот удалять - нет. Что тотал, что проводник будут ругаться на то, что файл защищен от записи или занят другим приложением.
----- Сколько ни наталкивали на мысль – все равно сумел увернуться | Сообщение посчитали полезным: |
Ранг: 12.9 (новичок) Активность: 0=0 Статус: Участник
|
Создано: 16 октября 2006 02:12 · Личное сообщение · #26
На NTFS можно заменить файл, но не удалить.
| Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 16 октября 2006 02:40 · Личное сообщение · #27
ValdiS пишет:
Копировать запущеный файл можно (т.к. открывается для чтения при копировании), а вот удалять - нет.
Я и удалял этот фаил без проблем. Поэтому и встал вопрос, что я могу сним сделать все что захочу но открыть его из DLL неполучаеться.
P.s. Подчеркиваю что сним могу делать все что мне вздумаеться.
| Сообщение посчитали полезным: |
Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 16 октября 2006 07:18 · Личное сообщение · #28
Cigan пишет:
P.s. Подчеркиваю что сним могу делать все что мне вздумаеться.
ну когда он не запущен, то делай всё что хочешь)))
а помоему всё это бред, "слепой объясняет глухому"
----- [nice coder and reverser] | Сообщение посчитали полезным: |
Ранг: 160.9 (ветеран), 1thx Активность: 0.05↘0 Статус: Участник
|
Создано: 16 октября 2006 10:00 · Личное сообщение · #29
Hellspawn пишет:
ну когда он не запущен, то делай всё что хочешь)))
Даже когда он запущен.
| Сообщение посчитали полезным: |
Ранг: 162.2 (ветеран) Активность: 0.09↘0 Статус: Участник
|
Создано: 16 октября 2006 10:04 · Личное сообщение · #30
Cigan пишет:
Даже когда он запущен.
А когда ты его удаляешь при запущеном процессе, процесс остаётся?
| Сообщение посчитали полезным: |