|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 8, 2004 02:48:29 > у меня если align меньше 4096 оно не запускается если у тебя NT, то минимальное выравнивание == 2. ms link умеет создавать такие файлы. задай ему ключ драйвера. он ругнется, что это никакой не драйвер в натуре, но файл таки создаст. |
|
|
Дата: Сен 8, 2004 10:27:43 kaspersky ты мне в самом файле релоки покажи велл. собрано на FASM'e, он сам себе линкер. 1197402520__testPE.rar |
|
|
Дата: Сен 8, 2004 15:45:43 Оно то все создается но если align<4096 при запуске вылетает окно "Error Starting Program - file is improperly linked with aligment less than 0x1000. Fix the error, and then link again" Возможно если вручную набирать машинный код, то оно и работает. Эта экономия имхо важна только для разработчиков вирусов. |
|
|
Дата: Сен 8, 2004 19:19:21 _583851587__xxx.zip О пипл , я вас прошу , не обзывайте так аттачи . У некоторых в squid-е фильтры стоят на порно Ж) та экономия имхо важна только для разработчиков вирусов. Имхо , я считаю каждый должен попробывать сделать минипе :) Просто , чтобы разобраться и уверен можно сделать полезные для себя выводы . |
|
|
Дата: Сен 8, 2004 20:48:15 · Поправил: ovod На assembler.ru была статья "Минимальная stub-программа" и приводилась такая вот прога в 64 байта (она работает как в 98, так и в DOS),автор некто Grief 00000000: 4D 5A 00 00 01 00 00 00 │ 01 00 00 00 50 45 00 00 MZ ☺ ☺ PE 00000010: 4C 01 07 00 08 00 00 00 │ B0 21 CD 29 B4 4C CD 21 L☺• ◘ °!Н)_LН! 00000020: E0 00 0E 01 0B 01 04 14 │ 20 00 00 00 00 2E 00 00 а ♫☺♂☺♦¶ . 00000030: 18 00 00 00 00 E0 00 00 │ 00 10 00 00 0C 00 00 00 ↑ а ► ♀ |
|
|
Дата: Сен 9, 2004 00:43:46 В начале ovod спрашивал про маленький elf. У меня есть на 88 байт, особо не оптимизировал, уверен, что можно еще десяток байтов выкинуть. |
|
|
Дата: Сен 9, 2004 00:55:50 выкладывай, можно и с комментариями. |
|
|
Дата: Сен 9, 2004 01:14:14 Нашел в залежах у себя на диске, авторство не мое. Есть несколько неиспользуемых полей (например с 8 по 15 байты) в которые можно что-нибудь засунуть. 00: 7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00 10: 02 00 03 00 01 00 00 00 4C 80 04 08 2C 00 00 00 20: 00 00 00 00 00 00 00 00 34 00 20 00 01 00 00 00 30: 00 00 00 00 00 80 04 08 00 80 04 08 58 00 00 00 40: 58 00 00 00 05 00 00 00 00 10 00 00 6A 24 58 CD 50: 80 89 C3 6A 01 58 CD 80 комментировать тут особо нечего, эта штука вылолняет sync, что полезно при отладке драйверов ядра 8-) вообще загрузка elf - это особая статья, особенно загрузка через интерпретатор ld-linux.so.2 (с его помощью можно сильно извратить процесс загрузки), нормальных доков по этой теме я не встречал, кроме, разве что, сорцов glibc и статеек Red Plait'а. Загрузчик же, который в ядре сидит - примитивен (см. fs/binfmt_elf.c), здесь такого "разнообразия" как в PE нет, imho. |
|
|
Дата: Сен 9, 2004 17:54:22 Вот из статьи на хакере(153 байта) я сделал чтоб титле был "user32" а текст "MessageBoxA" только работает под ХР т.к "user32" без ".dll" :( 2019557143__pe_153_bytes.zip |
|
|
Дата: Сен 9, 2004 19:40:40 · Поправил: ovod Под XP есть и в 152 байта, иходник написал p0s0l с vingrad.ru (bogrus ссылку выше давал) ImageBase equ 400000h SectionRVA equ 1000h PE_offset equ PE_Signature - ImageDosHeader ImageOptionalHeaderSize equ ImageSectionHeader - ImageOptionalHeader HeaderSize equ HeadersEnd - ImageDosHeader SectionSize equ SectionEnd - ImageDosHeader - 1 ImportVA equ ImportBegin - ImageBase ImportSize equ ImportEnd - ImportBegin SectionStart equ ImageBase DllNameRVA equ DllName - SectionStart FirstThunkRVA equ FirstThunk - SectionStart FuncNameRVA equ FuncName - SectionStart EntryRVA equ CodeStart - SectionStart org ImageBase + SectionRVA use32 ImageDosHeader: db 'MZ' CodeStart: mov ecx, String ;5b push 0 ;2b push ecx ;1b jmp Code2 ; rb 10 PE_Signature: dd 'PE' dw 014Ch ; cpu type FuncName: dw 1 ; number of sections db 'MessageBoxA', 0 dw ImageOptionalHeaderSize dw 818Fh ; flags ImageOptionalHeader: dw 010Bh ; magic Code4: call dword [FirstThunk] ;6b ret ;1b String: db 'Hello!', 0 dd EntryRVA ; entry point RVA dd 0 ; *base of code dd PE_offset ; *base of data dd ImageBase ; image base ;ImportBegin: dd 1000h ; object align dd 200h ; file align FirstThunk: dd FuncNameRVA ; Func RVA dd 0 dw 4 ; subsys major DllName: db 'USER32' dd 2000h ; image size dd HeaderSize ImageSectionHeader: Code2: push ecx ;1b jmp Code3 ;2b db 0 dw 2 ; subsystem rb 2 dd 0 dd SectionRVA dd SectionSize ; physical size dd 1 ; physical offset Code3: push 0 ;2b jmp Code4 ;2b dd 2 ; number of RVA and sizes ImportBegin: rb 4 dd 0E0000060h ; characteristics dd ImportVA ; import dir VA dd DllNameRVA ; Dll name RVA dd FirstThunkRVA ; FirstThunk RVA ImageOptionalHeader_end: HeadersEnd: SectionEnd: |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.081 |