Текущий архив: 2005.02.20;
Скачать: CL | DM;
ВнизOEP Найти похожие ветки
← →
iNBox (2004-12-27 09:04) [0]Здраствуйте мастера, у меня к вам вопрос,как можно за XOR-ить первые 10 байт точки входа в программу?
← →
Digitman © (2004-12-27 09:30) [1]
> точки входа в программу?
в чью программу ? твою ? чужую ?
и что значит "программа" ? нечто исполняемое в настоящий момент или файл на диске с кодом программы ?
> за XOR-ить
это зачем еще ?
← →
iNBox (2004-12-27 10:55) [2]1)программа чужая.
2)EXE"ник на диске.
3)XOR нужен для того чтобы скрыть настоящий OEP
← →
Digitman © (2004-12-27 11:11) [3]
> скрыть настоящий OEP
от кого скрыть ?
← →
n0name (2004-12-27 11:31) [4]>>3)XOR нужен для того чтобы скрыть настоящий OEP
Полный бред :E
← →
n0name (2004-12-27 11:34) [5]Как сказал выше - это полный бред, но если ты так хочешь заксорить, то алгоритм таков:
1. CreateFile/CreateFileMapping/MapViewOfFile
2. По PE-заголовку находищь физ. смещение EP(не OptHdr.AddrOfEP)
3. Xor память по pMap+PhysOffset.
4. CloseHandles/UnmapViewOfFile
← →
Digitman © (2004-12-27 11:40) [6]
> n0name
телепат ты наш) ..
а через пару постов выяснится, что программа - это ехе-файл на диске (слава богу что не на Луне) .. и автору требуется совершенно иное ..
← →
n0name (2004-12-27 12:48) [7]>>2)EXE"ник на диске.
:)
А что ему требуется вообще непонятно :)
Если зашифровать первые n(n>0) байт exe по адресу EP, то загрузчик передаст управление на зашифрованный код. А кто знает как он будет зашифрован, может быть там было push ebp, а станет out 1, al например.
← →
Игорь Шевченко © (2004-12-27 12:51) [8]Эта....вирусы в другом месте пишем.
← →
n0name (2004-12-27 14:51) [9]Хех.
Изменение EP это не только вир. технология.
Напрмер может нужно для пакера.
← →
Digitman © (2004-12-27 15:13) [10]
> n0name (27.12.04 14:51) [9]
вот ты бы лучше вместо претензий на Нострадамуса в [5] и спросил бы у автора, не пакер ли он "лепит" XOR"ами (во что поверить ой как не легко).. и если не троян - "развел" бы автора на понимание того что ему нужно ВООБЩЕ .. и в какую сторону ему копать .. а то сразу - маппинг и иже с ними)
← →
Игорь Шевченко © (2004-12-27 15:25) [11]n0name (27.12.04 14:51) [9]
Ты меня, конечно, извини, но для пакера вопрос "скрыть исходную EP XOR"ом" звучит как-то неумно.
С уважением,
← →
g-l-u-k (2004-12-27 19:57) [12]
> Хех.
> Изменение EP это не только вир. технология.
> Напрмер может нужно для пакера.
n0name ты случайно у Настродамуса уроки не берёшь?
Да действительно я пишу пакер,и пусть скрытие EP звучит "неумно".Теперь обесню для чего мне это нужно:если я закриптую первые 10-20 ,точки входа это может обломать начинающих крякеров.
← →
g-l-u-k (2004-12-27 19:58) [13]признаюсь iNBox и g-l-u-k :- одно лицо.
← →
Digitman © (2004-12-28 08:12) [14]
> g-l-u-k (27.12.04 19:57) [12]
а программа-то как работать у тебя будет после этого, если вместо осмысленных кодов маш.инструкций управление при старте будет передано на участок секции кода, содержащий галиматью ?
← →
g-l-u-k (2004-12-28 14:29) [15]если бы программы действительно не работали после такого рода обработки я бы и не спрашивал.Digitman посмотри программу
DotFix FakeSign
там как раз такая защита применяется(P.S. freesoft.ru)
← →
Просто Джо © (2004-12-28 14:38) [16]
если бы программы действительно не работали после такого рода обработки я бы и не спрашивал.
Новое слово в создании полиморфного кода -- проксорить все нахрен!
Я ПЛАКАЛЪ
← →
Digitman © (2004-12-28 15:11) [17]
> g-l-u-k (28.12.04 14:29) [15]
посмотрел.
как и ожидалось, сие творение гадит исп.файл напрочь: после обработки загрузить и выполнить такой ехе-файл невозможно
еще раз повторяю - после "проксорки" код превратится в мусор.
← →
g-l-u-k (2004-12-28 20:15) [18]У меня все файла обработанные
FakeSign
загружаются и выполняются нормально.Тогда я попробую поставить вопрос по другому.В какой последовательности можно засунуть все секции кроме.rsrc
в одну секцию.
← →
n0name (2004-12-31 06:58) [19]Если зашифровать первые n(n>0) байт exe по адресу EP, то загрузчик передаст управление на зашифрованный код. А кто знает как он будет зашифрован, может быть там было push ebp, а станет out 1, al например.
Может надо зашифровать старый EP, изменить его на новый, в котором будет происходить расшифровка старого и передача управления на него?
>>g-l-u-k (28.12.04 20:15) [18]
А какая разница? В какой они идут, так и засовывай.
← →
g-l-u-k (2004-12-31 17:22) [20]C OEP разобрался,вы были правы после его шифровки запакованная прога не может запустить загрузчик.А старый EP у меня и так меняется на новый так что его мне не надо шифровать.Про слияние секций можете по подробнее,а то смутно себе это представляю.Где-то на Cracklab"е я читал про это но там это мутно описанно было.
← →
n0name (2004-12-31 18:07) [21]А чё рассказывать?
Создаешь секцию размером равным сумме размеров всех секций и выравненную на VirtAlgin и FileAlign. Устанавливаешь параметры на Запись+Чтение+Выполнение. Записываешь туда все секции. Но это тоже скорее всего не будет работать.
← →
g-l-u-k (2004-12-31 21:10) [22]По идее работать должно т.к. я не трогаю .rsrc секцию и секцию распаковщика.Спасибо за помощь.
← →
n0name (2005-01-01 10:54) [23]Может не работать, так как не подкорретированны адреса, например код обращается к данным из .data. А после сжатия он будет обращаться по тому же адресу но этих данных скорее всего уже может не быть.
← →
g-l-u-k © (2005-01-01 17:03) [24]Тогда как можно решить эту проблему?
← →
n0name (2005-01-01 18:53) [25]Наверно ты недопонимаешь как работают пакеры.
Сначала они сжимают код и данные. EP изменяют на свой код, распаковывающий секции и потом передают управление на старый EP.
Если интересно на wasm.ru есть статья "Об упаковщиках в последний раз" Володи.
Страницы: 1 вся ветка
Текущий архив: 2005.02.20;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.04 c