Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Предлагаю соревнование =)

Ответить
Настройки темы
Предлагаю соревнование =)

Пользователь


Сообщения: 83
Благодарности: 1


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Собственно, давайте-ка посоревнуемся в написании минимального прЫложения под Маст... под Windows
Правила... или условия... хм:
1) прога должна делать следующее: показывать мессагу с произвольным текстом.
2) ссылки кидать сюда, не присылать вирей...
3) предупреждаю всех: перед запуском проверьте экзешник любимым дизассемблером на наличие всякой гадости...

ну вот и все... так как вам идея?

ПыСы
тока не бананьте мну

Отправлено: 02:13, 13-05-2005

 

Аватара для McDAK

Модер


Сообщения: 830
Благодарности: 3

Профиль | Отправить PM | Цитировать


Значит нет оптимизации под любую версию виндовса, что не удовлетворяет условиям соревнования.

-------
Знание некоторых принципов нередко возмещает незнание некоторых фактов. Гельвеций


Отправлено: 13:31, 14-05-2005 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Savant

Старожил


Сообщения: 300
Благодарности: 6

Профиль | Сайт | Отправить PM | Цитировать


All
Интересная ситуация. Согласно формату PE в его заголовке по смещению 0x38 находится поле Object Align, которое является
Цитата:
... выравниванием программных секций, должен быть степенью двойки между 512 и 256М включительно, так же связано с системой памяти. При использовании других значений программа не загрузится.
Следом за ним идет поле File align (0x3C):
Цитата:
фактор, используемый для выравнивания секций в программном файле. В байтовом значении указывает на границу на которую секции дополняются "0" при размещении в файле. Большое значение приводит к нерациональному использованию дискового пространства, маленькое увеличивает компактность, но и снижает скорость загрузки. Должен быть степенью двойки в диапазоне от 512 до 64К включительно. Прочие значения вызовут ошибку загрузки файла.
Но на практике оказалось возможно выставить значение выравнивания на 0x10 (1 параграф, 16 байт) при работающем файле. В результате получен EXE размером 704 байт (писан на Masm'e), меньше видимо только ручками. Еще раз круто убеждаемся, что:
Цитата:
... формат разрабатывали одни, а реализовывали его другие.
зы: а мне кажется, что uStick заслужил первое место, особенно учитывая оригинальное заполнение пустых мест в EXE () и то, что условия не учитывают запуск программы под любой версией Win. Проблема-то скорее всего в том, что ХР автоматически исправляет какие-то ошибки в структуре EXE, а Win2k (у меня он) - нет. Кто против?

Использованы материалы с http://virmaker-dos.narod.ru/sprav/pe.html

Отправлено: 18:28, 14-05-2005 | #12


Аватара для McDAK

Модер


Сообщения: 830
Благодарности: 3

Профиль | Отправить PM | Цитировать


Savant
Цитата:
Проблема-то скорее всего в том, что ХР автоматически исправляет какие-то ошибки в структуре EXE, а Win2k (у меня он) - нет.
Похоже это не совсем верно, все дело в том, что у меня ХР.
Цитата:
зы: а мне кажется, что uStick заслужил первое место, особенно учитывая оригинальное заполнение пустых мест в EXE
Может немного жестоко, но мне думается, что если он сам до этого допер, то безусловно заслуживает первое место, а если где-то прочитал, то можно только наградить за грамотное использование литературы и печатных материалов из И-нета.

-------
Знание некоторых принципов нередко возмещает незнание некоторых фактов. Гельвеций


Отправлено: 14:29, 15-05-2005 | #13


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Чудные вы все
А кто сказал, что приложение именно екзешник с PE-заголовком?
А почему не
Код: Выделить весь код
Файл a.bat
net send * Message!
Это же удовлетворяет всем требованиям из первого поста?

Отправлено: 09:50, 16-05-2005 | #14


Аватара для McDAK

Модер


Сообщения: 830
Благодарности: 3

Профиль | Отправить PM | Цитировать


hasherfrog
Дык вообще я просил uStick уточнить требования и он позже отписал, что:
Цитата:
главное - чтобы был PE-файл минимального размера

-------
Знание некоторых принципов нередко возмещает незнание некоторых фактов. Гельвеций


Отправлено: 11:53, 16-05-2005 | #15


Пользователь


Сообщения: 83
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


McDAK
"допер" я до этого, разбираясь с каким-то вирем... запакован он был FSG... как щас помню И просто ради прикола решил попробовать написать свой упаковщик... из этого ничего не вышло, потому и начал просто "издеваться" над экзешниками... А первое место рано давать может кто поизворотливее меня найдется? ))

Что касается неработоспособности проги на некоторых операционках: как я говорил, писал я сие без компилера... руками... почти Поясню: сначала была прога, содержащяя из кода только ret. Откомпилил, взял заголовок, убрал лишние секции, затолкал таблицу импорта в секцию с кодом, ну и подправил все, что нужно. А вот "подправлял" я как раз до полной потери работоспособности... так в несколько этапов... так что оптимизировано все под мою операционку...

ПыСы
навались, народ надо добить хоть до 512 байт...

Отправлено: 12:07, 16-05-2005 | #16

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Есть такой "тестирующий вирус" под дос (в винде тоже работает). Это *.com-файл, написанный на ASCII, который выдаёт сообщение на консоль и выходит. Его длина примерно 50 байт. Если сюда приделывать упаковщик, не думаю, что получится короче. Поэтому предлагаю сделать примерно следующее:
Код: Выделить весь код
   lea eax, text
   push eax
   call some_winapi_proc
   ret
Если отлинковать без библиотек, длина кода (с данными) получится небольшой, а вот длина файла - 4096. Меньше у меня не получается

Отправлено: 13:23, 17-05-2005 | #17

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


http://www.opennet.ru/docs/FAQ/progr...faq/part2.html
Цитата:
For case (b), it is of course necessary to take into account the size of the
decompressor. The problem may be restated as "What is the shortest program P
which, when executed, produces the string S?". The size of this program
is known as the Kolmogorov complexity of the string S. Some (actually most)
strings are not compressible at all, by any program: the smallest
representation of the string is the string itself. On the other hand, the
output of a pseudo-random number generator can be extremely compressible, since
it is sufficient to know the parameters and seed of the generator to reproduce
an arbitrary long sequence.

References: "An Introduction to Kolmogorov Complexity and its Applications",
Ming Li and Paul Vitanyi, 2nd edition, Springer-Verlag, ISBN 0-387-94868-6
http://www.cwi.nl/~paulv/kolmogorov.html

If you don't want to read a whole book, I recommend the excellent lecture
"Randomness & Complexity in Pure Mathematics" by G. J. Chaitin:
http://www.cs.auckland.ac.nz/CDMTCS/chaitin/ijbc.html
The decimal and binary expansions of Chaitin's number Omega are examples of
uncompressible strings. There are more papers on
http://www.cs.auckland.ac.nz/CDMTCS/chaitin/

Отправлено: 14:21, 17-05-2005 | #18


Аватара для Savant

Старожил


Сообщения: 300
Благодарности: 6

Профиль | Сайт | Отправить PM | Цитировать


Мы не одни во вселенной :
http://www.wasm.ru/forum/index.php?a...ic=7047&page=0
http://forum.vingrad.ru/index.php?sh...18307&view=all

Ну и самый маленький PE - 153 байта :
http://www.xakep.ru/post/21399/default.asp

Отправлено: 11:16, 19-05-2005 | #19


Пользователь


Сообщения: 83
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Savant
часть прочитал ... но чего-то не видел там самого кода тама вроде одни заголовки... хотя дочитать надо...

ну ничего! я им еще покажу вот только завалю сессию и начну добивать этот экзешник ))

Отправлено: 06:02, 20-05-2005 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Предлагаю соревнование =)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Предлагаю драйвер модема к C350L. Guest Мобильные ОС, смартфоны и планшеты 4 17-04-2004 13:07




 
Переход