Минимальное Win32 приложение

Тема в разделе "WASM.WIN32", создана пользователем koderr, 13 окт 2006.

  1. koderr

    koderr New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    205
    300 байт. Кто меньше?
     
  2. Crazy_Death

    Crazy_Death New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    16
    http://board.flatassembler.net
    там в 50 байт MessageBox();
    вкладывают
     
  3. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Crazy_Death
    И оно работает во всех виндах? - Сомневаюсь... Зато в Линуксе можно сделать экзешник размером меньше 50 байт и он будет нормально запускаться во всех версиях. Если кому-то интересно:
    http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
     
  4. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    а в досе и того меньше - 0хС3 и хватит %)
     
  5. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    в досе пару байт вроде хватает (.com)
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Quantum
    Ну, это ж не для Windows Logo program :)
     
  7. clone

    clone New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2006
    Сообщения:
    84
  8. koderr

    koderr New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    205
    clone
    К сожалению, у меня этот шедевр не захотел работать. Да и вообще не выглядит валидным PE файлом...
     
  9. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    koderr
    Могбы элементарно сэкономить байт впихнув с3 куданибудь вместо 0.
     
  10. koderr

    koderr New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    205
    PaCHER
    Точно, можно сразу после MZ воткнуть C3h, EP переправить на 02, вырезать последний байт. Идея неплохая!

    Интересно, можно секцию .text отрезать? :)

    Ура! ампутировано successfully ;). Итого - 260 байт.

    IDA вылетела...
     
  11. clone

    clone New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2006
    Сообщения:
    84
    koderr
    Под win2k работает после изменения 3х смещений. В ХР не заработала.
     
  12. koderr

    koderr New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    205
    hello, world в 112 байт :) сделано под WinXP Pro SP2, для других придется поменять адрес MessageBoxA.

    MIME-Version: 1.0
    Content-Type: application/octet-stream; name="minimal.exe"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment; filename="minimal.exe"

    TVpQUGgUAEAAUOsgUEUAAEwBAABoZWxsbywgd29ybGQAAA8BCwECMgQAAAC4CwXXd//QwwIAAAAA
    AAAADAAAAAAAQAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAABkAQAALAEAAK/CAAACAAAAAAAQAA==
     
  13. Pretorian

    Pretorian New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    33
    Адрес:
    Russia
    Архив битый.
     
  14. Pinkbyte

    Pinkbyte Member

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    106
    А как насчет минимальный запросов в памяти?(извините, если не в ту степь)
    У меня приложение выводящее MessageBox на асме кушает ~1Мб оперативки... Может можно чо-нить отрезать ненужное?

    includelib kernel32.lib

    MessageBox PROTO :lol: WORD,:lol: WORD,:lol: WORD,:lol: WORD

    .date
    str db "1",0

    .code
    invoke MessageBox,0,ADDR str,0,0
    invoke ExitProcess,0
     
  15. koderr

    koderr New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    205
    Pinkbyte
    Я обычно строки помещаю в секцию кода, делаю /MERGE:.rdata=.text - лишние секции мне нафиг не нужны; stub свой вставляю. Хотя от таких извращений в памяти программа весить будет не намного меньше.

    Можно еще от ExitProcess отказаться, если у тебя всего один thread.
     
  16. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    МесБох 144б проверял в Win2000 sp3 и XP SP2.

    Crazy_Death
    Прямую ссылку можно?


    p.s. Мда вот отлучишься на недельку, потомне не разберёшься сколько всего понаписали:) Это я про топик, тут ниже, про pe в 133 б.
     
  17. el-

    el- New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2006
    Сообщения:
    89
    Прошу прощения что подымаю столь старую тему, просто я тоже сделал маленьки PE EXE который ничего не делает. в нем вырезаны MZ заголовок, директории и описание секции. Общий вес 125 байт

    Но есть еще и пару вопросов.
    1. Почему когда я убераю ret в конце, засовываю его в MZ заголов и ставлю на него энтру поинт, экзешник отказываетя работать. Вобщем он у меня не работает если размер меньше 125 байт
    2. Буде ли все это извращение работать под всеми nt мастдаями ?
     
  18. koderr

    koderr New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    205
    el-
    см чуть выше, пост #12 - 112 байт, однако ж работает (только адрес MessageBoxA надо пофиксить).
     
  19. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    el-
    А это в 2000 работать будет? Без импорта?
    Для Xp и в 97 создать можно тут недавно вот эту ссылку выкладывали http://www.phreedom.org/solar/code/tinype/
     
  20. el-

    el- New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2006
    Сообщения:
    89
    asd
    вот и мне интересно, один тов. говорил что без импорта в 2к работать вроде как не будет ... я ж и кинул суда что узнать точно ..

    а за линк спасибо сейчас буду рассматривать ... (: