Самая маленькая программа для WinNT

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Самая маленькая программа для WinNT

Сообщение tyomitch » 28.08.2005 (Вс) 2:33

Интересно, какие в мире рекорды относительно сабжа? Поверхностный гуглинг ничего не нашёл.
Вот, у меня есть программа в 413 байт, может кто напишет меньшую?
Совместимости маленьких программ с Win9x достичь не удалось, поэтому они исключаются. Однако досовская заглушка есть и работает.
Укорочение программы за счёт сокращения мессаг не считается ;-)
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.08.2005 (Вс) 4:02

А дизассемблер говорит, что это не есть файл :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 28.08.2005 (Вс) 7:59

А у меня на ХР вообще не работает. :(
الفيجوال بيسك الرابح

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.08.2005 (Вс) 8:30

Как ты вообще его смог запустить?

Мне загрузчик говорит, что выравнивание секции меньше допустимого. Наименьшее допустимое - 512 байт (если верить мануалу по PE) или 4096 (если верить сообщению загрузчика) :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 28.08.2005 (Вс) 13:06

Минимальное - 512 в WinNT и 4096 в Win9x.
В первом посте же написано: "Совместимости маленьких программ с Win9x достичь не удалось".
У меня стоит 512, т.ч. нарушений нет.

GM, а что говорит-то? У меня работал и в Win2000 SP4, и в WinXP SP2.
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.08.2005 (Вс) 13:09

Дык если выравнивание 512, то длина файла будет минимум 512 + размер заголовка PE + размер заголовков секций + размер досовской заглушки.
Потому что неиспользованное место дополняется нулями :)

Вон, я когда внедрял секцию экспорта в dll, сначала не стал делать паддинг нулями, так библа не загружалась. Дополнил нулями до размера выравнивания секции - сразу загрузилась.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 28.08.2005 (Вс) 13:46

А я вам, если найду, щас прогу на 64 байта скину :)
GM, а что говорит-то? У меня работал и в Win2000 SP4, и в WinXP SP2.

Один раз:
Запрос ReadProcessMemory или WriteProcessMemory был выполнен только частично.

Второй вообще не грузиться
Win XP SP2
الفيجوال بيسك الرابح

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 28.08.2005 (Вс) 14:10

Вообщем, тут 4 ехе-шника(каждый по 64 байт), у меня правда запускается только t4. И только его не берет дизассемблер.
Вложения
t2.zip
(559 байт) Скачиваний: 29
الفيجوال بيسك الرابح

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 28.08.2005 (Вс) 14:15

GM писал(а):Вообщем, тут 4 ехе-шника(каждый по 64 байт), у меня правда запускается только t4. И только его не берет дизассемблер.

Это потому, что он обычная досовская прога :-))
Там даже PE-заголовка нет.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 28.08.2005 (Вс) 15:16

GM писал(а):
Запрос ReadProcessMemory или WriteProcessMemory был выполнен только частично.

Второй вообще не грузиться
Win XP SP2

Сорри :oops: :oops:
Этот вариант (368 байт) работает?
Он как раз помещается на одну страницу хекс-едитора :-)
Вложения
contest.zip
(357 байт) Скачиваний: 35
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 28.08.2005 (Вс) 15:20

GSerg писал(а):Дык если выравнивание 512, то длина файла будет минимум 512 + размер заголовка PE + размер заголовков секций + размер досовской заглушки.
Потому что неиспользованное место дополняется нулями :)

А у меня секций нет ;-)
Т.ч. длина файла будет минимум размер заголовка PE + размер досовской заглушки. В 368 байт влезает свободно.
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.08.2005 (Вс) 15:31

А PEBrowse показывает, что количество секций указано равным 16 :razz:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 28.08.2005 (Вс) 16:28

GSerg писал(а):А PEBrowse показывает, что количество секций указано равным 16 :razz:

Выкинь PEBrowse ;-)
MSDN писал(а):
Код: Выделить всё
typedef struct _IMAGE_NT_HEADERS {
    DWORD Signature;
    IMAGE_FILE_HEADER FileHeader;
...

Код: Выделить всё
typedef struct _IMAGE_FILE_HEADER {
    WORD Machine;
    WORD NumberOfSections;
...


Signature
A 4-byte signature identifying the file as a PE image. The bytes are "PE\0\0".

Отсчитай второе слово от сигнатуры PE и проверь, что там у меня.

Или ты куда смотришь? В число директорий, что ли? Директорий действительно 16.


ЗЫ: дошёл до 356 байт. Или это я сам с собой соревнуюсь? :-?
Тут же был кто-то, кто писал свой линкер на VB?
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.08.2005 (Вс) 16:39

А, действительно не туда глянул :)


Линкер? Какой линкер? Мой линкер? Да какой он линкер? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 29.08.2005 (Пн) 8:58

tyomitch писал(а):
GM писал(а):Вообщем, тут 4 ехе-шника(каждый по 64 байт), у меня правда запускается только t4. И только его не берет дизассемблер.

Это потому, что он обычная досовская прога :-))
Там даже PE-заголовка нет.


Самая маленькая программа? Легко.

В файле с расширением vbs пишем:

Код: Выделить всё
WScript.Echo "Hello Word"


- чем это не программа? 25 байт, можно легко сделать еще короче...

Все условия при этом выдержаны ибо это программа и она не DOS-овская.

:lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 29.08.2005 (Пн) 9:02

Andrey Fedorov писал(а):Все условия при этом выдержаны ибо это программа и она не DOS-овская.

А вот и нет :)
Это не программа, это скрипт, на языке, отличном от машинного.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 29.08.2005 (Пн) 9:12

alibek писал(а):А вот и нет :)
Это не программа, это скрипт, на языке, отличном от машинного.


Условия что это должен быть именно Native-код (тем более "машинный язык") в первом письме не было. Требовалась программа. А скрипт или даже bat-файл - это тоже программа... :lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 96

    TopList