Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FASM: убрать Stub, PE-Exe минимального размера 
:(
    Опции темы
p0s0l
Дата 14.2.2004, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Мне надо получить PE-Exe минимального размера, делаю всё в одной секции, но еще бы хотелось убрать stub... Пишу в FASM'е. Может есть какая-нибудь директива для убирания заглушки ? Пусть e_lfanew в Dos-хэдере ссылалась бы на байт, сразу идущий за этим самым дос-хэдером...


--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 14.2.2004, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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

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



там можно свой стуб.ехе втыкат
если его 0 длинны сделать smile.gif
или лучше сделать вот так smile.gif

mzshit:
dw 'MZ'
times 30 db 0
times 01ch db 0
lp:
dd peshit
; times 100 db 0
peshit:
dd 'PE' ; signature byte
dw 014ch ; cpu type
dw 1 ; num of object
dd 0ffffffffh ; time/data
dd 0 ; pointer to COFF table
dd 0 ; COFF table size
dw assend-ass ; NT header size
dw 0818eh ; Flags
ass:
dw 010bh ; Magic
db 0 ; link major
db 0 ; link minor
dd 0 ; size of code
dd 0 ; size of init data
dd 0 ; size of Uninit data
dd 1000h+352;+100 ; entry point RVA
dd 0 ; Base of code
dd 0 ; Base of data
dd 0400000h ; Image base
dd 1000h ; object align
dd 200h ; file align
dw 1 ; OS major
dw 0 ; OS minor
dw 0 ; user major
dw 0 ; user minor
dw 3 ; subsys major
dw 0ah ; subsys minor
dd 0 ; reserved
dd 2000h ; image size
dd codes-mzshit ; header size
dd 0 ; file chksum
dw 2 ; subsystem
dw 0 ; dll flags
dd 1000h ; stack res size
dd 1000h ; stack commit size
dd 10000h ; heap reserve size
dd 0 ; heap comit size
dd 0 ; loader flags
dd 10h ; num of RVA and size
times 22 dd 0
dd 0,0
dd 0
dd 0
dd 0,0
dd 0,0
dd 0,0
assend:

objentry:
db '.section' ;obj name max 8 char
dd 1 ; virtual size
dd 1000h ; section RVA
dd 82 ; physical size
dd 82 ; physical offset
dd 0 ; pointer to reloc
dd 0 ; pointer to linenum
dw 0 ; num of reloc
dw 0 ; num of linenum
dd 0e0000060h ; characteristic

codes:
ret
endfile:



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


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Так не очень удобно... Разобрался - то же самое можно сделать, но легче:
В директиве format PE надо добавить on "имя файла заглушки". У меня так:
format PE GUI 4.0 on 'stub0.exe'
И если файл-заглушка нулевой длины, то всё ок, в результате в скомпонаванном файле "PE" будет начинаться не с 80h, а с 40h.
Интересно то, что если создавать свой файл-заглушку размером 64 байта (только дос-хэдер) и все поля выставлять в нем правильно (можно даже отрезать первые 64 байта от PE-файла, полученного способом с файлом нулевой длины), то FASM глючит при ассемблировании...



--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 15.2.2004, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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

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



p0s0l
Цитата
format PE GUI 4.0 on 'stub0.exe'

ну я это и имел ввиду smile.gif
а нафига тебе все это?
лепиш самый маленький ехе?



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


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Цитата
там можно свой стуб.ехе втыкат
если его 0 длинны сделать

Не сразу доперло, что ты про это и говорил...
А зачем тогда тот, второй способ ? Геморрой лишний...
Цитата
а нафига тебе все это?
лепиш самый маленький ехе?

Да, всё что можно укорачиваю.



--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 16.2.2004, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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

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



p0s0l
если делать заголовок файла руками то можно еще место сэкономить
к примеру тут
times 22 dd 0
dd 0,0
dd 0
dd 0
dd 0,0
dd 0,0
dd 0,0
тут описания секций
по умолчанию втыкается
а тебе то и надо тока описание 1 секции


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


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Цитата
тут описания секций
по умолчанию втыкается
а тебе то и надо тока описание 1 секции

Дак и так, у меня только 1 секция и описывается... Я не очень понял про что ты...
Или ты имеешь в виду, что вместо
dd 10h ; num of RVA and size
можно поставить
dd 02h
Т.е. будут только директории экспорта и импорта ?



--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 16.2.2004, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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

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



p0s0l
именно про это
оставь тока секцию кода да и все smile.gif
можно еще с выравниванием побалватся


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


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Ладно, но что-то так не получается... У тебя есть работающий пример ? А то как я делаю, пишет "error executing program"...
И еще: как описать импорт ? Ранее работавшие макросы library и import не работают...
И что с выравниванием ? В MSDN сказано, что оно не может быть меньше 512 (что и используется при ассемблировании в FASM)...



--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 17.2.2004, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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

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



p0s0l
обманули в мсдн smile.gif
вот 2 файла
1) 450 байт месаджбокс выводит , должно везде работать там поиск LoadLibary в кернеле и так далее
2) 173 smile.gif байта , ниче не делает там RET стоит и все
ну и исходники весьма изврашенные smile.gif
кстати первый файл можна ужать байт на 10-20 ,там процедура у меня поиска адреса функ левенькая smile.gif

проверял на ХР
на 9х может и неработать, там дествительно выравнивание важно

Присоединённый файл ( Кол-во скачиваний: 59 )
Присоединённый файл  shit_exe.zip


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


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



thnx, закачал, буду пробовать!


--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 18.2.2004, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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

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



p0s0l
ну че работает?


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


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Ага, все работает.
Прикольно ты наворотил перекрывающиеся заголовки вперемешку с данными!
Thanx за пример!



--------------------
С уважением, г-н Посол.
PM   Вверх
p0s0l
Дата 19.2.2004, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Цитата
кстати первый файл можна ужать байт на 10-20 ,там процедура у меня поиска адреса функ левенькая

Ужал Hello All до 267 байтsmile.gif


Присоединённый файл ( Кол-во скачиваний: 51 )
Присоединённый файл  MinExe.zip


--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 19.2.2004, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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

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



p0s0l
крута smile.gif
на хацкер.ру подобная дисскуссия smile.gif
но они от нас далеко отстали smile.gif
я им там линк сюда оставил шас прибегут smile.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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