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

 eXeL@B —› Программирование —› Удалить секцию с заданным именем из PE файла (на Delphi)
Посл.ответ Сообщение

Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 октября 2006 10:14
· Личное сообщение · #1

Срочно надо решить 2 вопроса:
1)Как удалить секцию с заданным именем из PE файла?
2)Как найти имя секции, в которой есть оределённая последовательность байт?
И всё это реализовать на Delphi.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 09 октября 2006 00:01
· Личное сообщение · #2

denmoroz пишет:
Срочно надо решить 2 вопроса:

/OFFTOP Ну так и решай
Для начала поучись вопросы задавать.




Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 09 октября 2006 00:06
· Личное сообщение · #3

denmoroz, посомтри у мня hxxp://guru-exe.ripgames.org/projects.php там есть тупой примерчик сниффера, который ищет нужные байты, но там с ОЕП.

-----
may all your PUSHes be POPed!




Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 09 октября 2006 04:24
· Личное сообщение · #4

Байты нашёл, а как удалить секцию?




Ранг: 66.1 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 09 октября 2006 05:09
· Личное сообщение · #5

Для начала нужно реализовать функции для чтения заголовка файла.
Держи исходники (правда на С, но можно и переделать на Delphi). Там и структуры, и функции для их использования.

8d70_09.10.2006_CRACKLAB.rU.tgz - PEFile.rar




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

Создано: 09 октября 2006 08:34
· Личное сообщение · #6

Можно удалить секцию только из заголовка,
можно удалить её и физически, если она помещается в конце файла, иначе надо еще и пересчитывать физическое смещение остальных секций.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 09 октября 2006 08:45
· Личное сообщение · #7

HoBleen пишет:
можно удалить её и физически, если она помещается в конце файла, иначе надо еще и пересчитывать физическое смещение остальных секций.

Можно и не пересчитывать. Чтобы файл после удаления работал - в ТЗ ничего нет.




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

Создано: 09 октября 2006 09:00
· Личное сообщение · #8

Ara пишет:
Можно и не пересчитывать

Если тебе надо уменьшить размер файла (мусор за собой подчистить), тебе надо сдвинуть следующие за ним секции и соотв. пересчитать их смещение в файле.



Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 09 октября 2006 12:16
· Личное сообщение · #9

HoBleen
А как удалить из заголовка? (Пытаюсь научить прогу лечить вирус Parita.b)



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

Создано: 09 октября 2006 13:23 · Поправил: DrFits
· Личное сообщение · #10

denmoroz - прочитай ТЫЦ http://cracklab.ru./art/?action=view&id=204 , и по-моему у тебя отпадут почти все вопросы.
P.S: я новичек, сильно не пинать

-----
Само плывет в pуки только то, что не тонет.




Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 октября 2006 04:29 · Поправил: denmoroz
· Личное сообщение · #11

2Guru_eXe
Guru_eXe пишет:
denmoroz, посомтри у мня hxxp://guru-exe.ripgames.org/projects.php там есть тупой примерчик сниффера, который ищет нужные байты, но там с ОЕП.

Посмотрел код. Как я понял в сигнатyрe символ "?" - любой байт, но не понял что значит ":".
Подскажи, plz.
2All
А как можно заполнить существующюю секцию нулями?




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 10 октября 2006 05:34
· Личное сообщение · #12

denmoroz пишет:
А как можно заполнить существующюю секцию нулями?

Можно использовать какой-либо редактор, например, WinHex.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





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

Создано: 10 октября 2006 06:56
· Личное сообщение · #13

denmoroz пишет:
А как можно заполнить существующюю секцию нулями?


Что-то типа
Base = CreateFileMapping(...);
...
ZeroMemory(Base + RawOffset, RawSize);



Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 октября 2006 12:31
· Личное сообщение · #14

HoBleen
а можно поточнее?




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 10 октября 2006 12:45 · Поправил: Rascal
· Личное сообщение · #15

denmoroz
Ты так и напиши - сделайте за меня программу такую-то. Чес слово это перебор. Тебе дали необходимую информацию. Как сделаешь что-нибудь нерабочее, тогда и задавай вопрос. Иначе заказывай программу, покупай исходники и смотри.

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 10 октября 2006 20:28 · Поправил: nice
· Личное сообщение · #16

Rascal пишет:
Чес слово это перебор.

+1 народ совсем обленился!

-----
Подписи - ЗЛО! Нужно убирать!



 eXeL@B —› Программирование —› Удалить секцию с заданным именем из PE файла (на Delphi)
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати