Поиск:

Ответ в темуСоздание новой темы Создание опроса
> все дело в перце, модификация exe 
:(
    Опции темы
4udo
Дата 13.4.2006, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Помогите .Очень нравится программировать и изучать машинный код.
Прочитав топики и поэкспереминтировав ,столкнулся с такой проблемой.
После ручной правки exe-ка он не запускается,проверял поля ,на валидность,но так и не понял в чем беда.Поля оригинала и подопытного одинаковы - а это же не верно,ведь я изменяю структуру файла...
Научите на что обращать внимание,а то во всех описаниях PE-формата как говорят профи очень мудрены и туманны.Объясните если не трудно начинающему.Надеюсь на вашу отзывчивость...
PM MAIL   Вверх
4udo
Дата 17.4.2006, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



PoSoL ,помоги или другие.Очень нужна помощь.
А то живу в глуши и не у кого спросить. Занимаюсь ликбезом самостоятельно....
Пожалуйста!!!! 
PM MAIL   Вверх
SergeCpp
Дата 17.4.2006, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 1
Всего: 124



Во-первых, вооружитесь программой (30 К) для удобного просмотра структуры таких файлов... 
PM MAIL WWW ICQ   Вверх
4udo
Дата 17.4.2006, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Спасибо за совет, но программы с работой exe-ов есть полный комплект.
Знаю что такое Stub, PE или COFF заголовок,секции,читал что есть импорт и экспорт.
Есть доки по описанию формата, искал подобное освещение на Wasm.ru и Cracklab.ru,но
там все лишь ограничиваются тем ,что нажми то получишь это....Моя же цель понять
,что и где поправить в заголовке (когда я вручную в Hex-редакторе в exe-ке убираю ненужные нули например) так чтоб потом exe-к работал...
Прошу помощи!!!!!!!!!!!!!!!! 
PM MAIL   Вверх
SergeCpp
Дата 17.4.2006, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 1
Всего: 124



Конкретно где меняете и что (по возможности, давайте файл) 
PM MAIL WWW ICQ   Вверх
4udo
Дата 21.4.2006, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Вот мой бинарник. Безобиднее чем "hello world!" и не придумаешь.
А как спецы пишут в нем все равно очень много воды - ненужных нулей,так вот как вручную их выкроить ,так чтоб до минимума и файл работал????  

Это сообщение отредактировал(а) 4udo - 21.4.2006, 18:52

Присоединённый файл ( Кол-во скачиваний: 22 )
Присоединённый файл  HelloWorld.exe 0,64 Kb
PM MAIL   Вверх
SergeCpp
Дата 21.4.2006, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 1
Всего: 124



File Alignment поставьте 0x10 вместо 0x200 (вроде, оно такое по умолчанию)...

Ключ такой есть у линкера

Правда, тогда в Win9x не запустится... 

Это сообщение отредактировал(а) SergeCpp - 21.4.2006, 22:17
PM MAIL WWW ICQ   Вверх
4udo
Дата 21.4.2006, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Спасибо за совет!!!!!!!!!
А как по поводу нулей????????????
И ручной липосакции файла??????.......  smile  smile  smile  

Это сообщение отредактировал(а) 4udo - 21.4.2006, 20:36
PM MAIL   Вверх
4udo
Дата 21.4.2006, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Модернизированный бинарник - выставил File Alignment в 0x10.
На XP стартует ,ну и размер меньше,но до мастерства далеко.
Жир,жир,жир....   

Это сообщение отредактировал(а) 4udo - 21.4.2006, 22:46

Присоединённый файл ( Кол-во скачиваний: 19 )
Присоединённый файл  HelloWorld.exe 0,48 Kb
PM MAIL   Вверх
SergeCpp
Дата 22.4.2006, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 1
Всего: 124



Нету жира...

Нули — в DOS-заголовке, в IMAGE_NT_HEADERS и в SECTION_HEADER .text 
PM MAIL WWW ICQ   Вверх
4udo
Дата 22.4.2006, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



SergeCpp , спасибо за внимание.
Один только ты мной заинтересовался.
Подскажи, как от этих нулей избавится — в DOS-заголовке, в IMAGE_NT_HEADERS и в SECTION_HEADER .text  или это не реально?????????? 
PM MAIL   Вверх
SergeCpp
Дата 22.4.2006, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 1
Всего: 124



Эти заголовки имеют фиксированный размер и все нули в них имеют смысл...

То есть, от них не избавиться...

Объединяя секции (.text, .data, .rdata, etc.) можно добиться уменьшения размера...
Но это достигается за счет уменьшения чего-нибудь другого... (закон сохраниния...)

Например, .text не доступна для записи... чтобы объединить её с .data, нужно разрешить запись в полученную общую секцию... что не есть хорошо... и так далее... 
PM MAIL WWW ICQ   Вверх
4udo
Дата 23.4.2006, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



SergeCpp ,объясни тогда вот это.  

Это сообщение отредактировал(а) 4udo - 23.4.2006, 12:52

Присоединённый файл ( Кол-во скачиваний: 32 )
Присоединённый файл  _780209599__HelloW.exe 0,13 Kb
PM MAIL   Вверх
SergeCpp
Дата 23.4.2006, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 1
Всего: 124



1. IMAGE_DOS_HEADER — не используется как таковой — на его месте (с адреса 4) находится IMAGE_NT_HEADERS (смысл в такой экономии весьма призрачен...)

2. IMAGE_FILE_HEADER неверны поля Time Dite Stamp, Pointer to Symbol Table, Number of Symbols (на их месте находится имя импортируемой функции)

3. IMAGE_OPTIONAL_HEADER — аналогичного типа "трюки"

В целом, не вижу смысла в такого рода "оптимизации"... 
PM MAIL WWW ICQ   Вверх
Heremum
Дата 23.4.2006, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



4udo
Если тебя интересует написание самой короткой проги Hello World, то она весит 22 байта, 13 из которых - (это его улыбка smile ) строка "Hello, World!$". Прадва писана в *.com.
Главное, в *.exe файлах - адрес смещения для начала работы с программой. Далее тебе надо просто смотреть, чтобы команды процесора были корректно отредактированны. Вот гляди, друг сердешный: была у тебя команда, которая ссылалась на адрес строки, а ты подправил пару байта другой команды, которая стояла перед той строкой, на которую ссылалась первая команда, следовательно - адрес строки изменился, ты про это не подумал, а первая команда так и ломиться к строке по адресу, который уже изменился, следовательно всё начинает галить, писюкать и мышкать.
Тут надо много концентрации.

Вообще, я наконец-то нашёл человека, которого тоже интересует машинный код. Сколько я не искал никого "нормального" не отыскал. Скажи, друг мой: каким образом ты изучаешь машинные коды? Добыл коды преобразований для процессоров? Как они генерируются, всмысле. Или разбираешь сам по кускам, компилируя маленькие программы? Я вторым способом изучалнекоторое время. Про первый так почти ничего и не нашёл.
Только в книге друконов по разработке компиляторов есть об этом упоминание и немного находил в 5-ом издании о принципах ЭВМ. Не больше.  

Это сообщение отредактировал(а) Heremum - 23.4.2006, 18:56
PM MAIL ICQ   Вверх
4udo
Дата 24.4.2006, 06:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Heremum,здраствуй.
Такие фокусы беспорно хороши - мне тоже известен такой, пишешь в блокноте "3C" ,сохраняешь файл с расширением .exe и получаем как у Кэрола "Алиса в стране чудес" - улыбку чеширского кота без кота;
или программу в 1 байт.
Я так понимаю под кодами преобразований для процессора ты наверно имеешь ввиду,как в простонародье опкоды; то да есть таблица перевода, но я нашел ещё и такую таблицу ,но с ней по хуже не знаю как работать.Может тебе известно??? 
Ксожалению прицепить не удалось - размер великоват, даю адрес:
                                     
                                          http://www.jegerlehner.ch/intel/IntelCodeTable.pdf 

Это сообщение отредактировал(а) 4udo - 24.4.2006, 07:37
PM MAIL   Вверх
Heremum
Дата 24.4.2006, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



Цитата
Я так понимаю под кодами преобразований для процессора ты наверно имеешь ввиду,как в простонародье опкоды; то да есть таблица перевода, но я нашел ещё и такую таблицу ,но с ней по хуже не знаю как работать.Может тебе известно??? 

Таблицы в студию! 
PM MAIL ICQ   Вверх
SergeCpp
Дата 24.4.2006, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 1
Всего: 124



PM MAIL WWW ICQ   Вверх
4udo
Дата 25.4.2006, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Intel vorever!!!
Но не забываем постить по моей теме - модификация exe вручную. 
PM MAIL   Вверх
4udo
Дата 29.4.2006, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Натолкнулся на кладезь туториалов от почтенного aka МыщЪх на :
                                     www.kpnc.opennet.ru
Есть статьи и по теме,так что зацените ресурс?..............
                                                 
 
PM MAIL   Вверх
XSInet
Дата 12.6.2006, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 4.1.2006

Репутация: нет
Всего: нет



Во всех доках которые я процитал, пишут что физическое выравнивание не может быть меньше 512 байт....
Выравнивание секции в памяти обычно 4096 байт, так как это размер одной страницы (округление до страницы).

Поэксперементируй, мне помогает PE Explorer и WinHex, ну и IDA Pro.
 

Чтобы патчить файлы, лучше используй файлы проецируемые в память (CreateFileMapping, MapViewOfFile) - очень удобно работать.  

Это сообщение отредактировал(а) XSInet - 12.6.2006, 09:42
PM MAIL   Вверх
4udo
Дата 13.6.2006, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Цитата

физическое выравнивание не может быть меньше 512 байт....

Одно скажу наверняка не верь докам,а верь в то что сможешь,ведь есть не описанные ,тоесть недокументированные возможности................ smile  
PM MAIL   Вверх
setty
Дата 13.6.2006, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 8.6.2006
Где: Украина

Репутация: нет
Всего: нет



в своё время мне удавалось значительно понизить размер проги за  счёт того что вней небыло таблиц импорта/экспорта, для этого мне пришлось писать не малый код для определения базы кернеля и вычисления адресов необходимых мне функций однако в целом это было меньше чем если с таблицей импорта, помимо того я переносил данные в секцю кода что позволяло обойтись без записи о секции данных и сэкономить еще пару байт (совсемь не много)


P.S
HelloW.exe 0,13 Kb - > я поражон, круто)
и почемуто на него NOD32 ругается определяя как "вероятно неизвестный Win32 вирус" 
PM MAIL   Вверх
4udo
Дата 17.6.2006, 06:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Цитата

P.S
HelloW.exe 0,13 Kb - > я поражон, круто)
и почемуто на него NOD32 ругается определяя как "вероятно неизвестный Win32 вирус"  

Да нет предела - очень впечатляет..............NOD32 же ругается так этот модуль - ручная так сказать "сборка от Версачи" - ни чего лишнего и изысканно.А AVP вообще молчит............. 
PM MAIL   Вверх
oleg1973
Дата 17.6.2006, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



Цитата

определения базы кернеля

плохо что нет универсального способа под все винды (имхо после опытов) 


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
4udo
Дата 18.6.2006, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Да что есть,то есть , но с нами сила разума.......................... 
PM MAIL   Вверх
setty
Дата 20.6.2006, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 8.6.2006
Где: Украина

Репутация: нет
Всего: нет



да есть способ, помоему, я делал так, (если вспомню)
суть в том что прога вызывается гдето из глубин кернеля...
адрес возврата тудаже я могу взять из стэка. этот адрес будит лежать гдето в адресном пространстве кернеля
потом я листаю страницы памяти и проверяю их на валидность пе формату, так я выходил на адрес по которому спроэцирован кернел в процесс...
хотя я могу чето путать давно дело было но делалость приблизительно так....

если я неошибаюсь то функция которая непосредственно вызывает запускаемое приложение во всех версиях лежит в кернеле... 


p.s.  я могу конечно вомногом ошибатся ))) 
PM MAIL   Вверх
NixoL
Дата 21.6.2006, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 2.6.2005

Репутация: нет
Всего: нет



to setty : так работает 100 % в ХРюше - сам делал, в 98 не пробовал. А ещё размер мона сэкономить если в проге писать не имена нужных апишек, а их хэш, который занимает всего 4 байта. Подробнее на Wasm.ru. И вапще вирмейкерские журналы пачитать! 
PM MAIL   Вверх
4udo
Дата 24.6.2006, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Цитата

а их хэш, который занимает всего 4 байта.

Дай конкретно адрес. 
PM MAIL   Вверх
NixoL
Дата 26.6.2006, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 2.6.2005

Репутация: нет
Всего: нет



wasm.ru помоему я там брал. В любом случае там есть что почитать. И про вирусы, и конкретно про PE.
WBR 
PM MAIL   Вверх
10110111
Дата 28.8.2006, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 28.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Можно переместить PE заголовок на адрес 0Сh - тогда по 3Ch можно безопасно писать 0Сh: для PE-заголовка это поле не проверяется Виндой.
Идея из http://www.farb-rausch.de - программа "fr-019: poem to a horse".

Это сообщение отредактировал(а) 10110111 - 28.8.2006, 15:58
PM MAIL   Вверх
oleg1973
Дата 29.8.2006, 02:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



это идея из упаковщика FSG или MEW


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
4udo
Дата 8.9.2006, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Да демки всегда меня восхищают - маленькие-удаленькие!!!!!!!!!!!!!
Где можно sourse побачить?????????
PM MAIL   Вверх
4udo
Дата 8.2.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 13.4.2006
Где: Казахстан

Репутация: нет
Всего: -1



Да тема бессмертна - вновь воскресла и с новыми идеями, 
соответствующие адреса для интересующихся :
                          измышления наших кодеров - 
                                      http://www.wasm.ru/forum/viewtopic.php?id=16537&p=1
                          измышления не наших кодеров -
                                           http://www.phreedom.org/solar/code/tinype/
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1392 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.