1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Ошибка linux [not a dynamic executable]

Тема в разделе "WASM.BEGINNERS", создана пользователем M0rg0t, 15 дек 2018.

  1. M0rg0t

    M0rg0t Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    533
    Rel, если самому малварь кодить? Впрочем, в линуксах плюс, что в системе уже есть питоны и пхп. Но чисто сишного универсального эльфа не выйдет, как под винду, сделать, как я понял.

    Кстати, freeBSD тоже имеет совсем другую архитектуру? Ради интереса, попробовал линукс бинари - ни 1 не запустился, хотя file опознает их как эльф.
     
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    4.478
    переносимости меж дистрами акь-таковой нет. есть проекты, кои нацелены на кросс-линь..

    1. flatpak (https://flathub.org/home) в основном пашет на рхл и его форках.
    2. snaps (https://snapcraft.io/store) дебиан и форки.
    3. AppImage обычно сборщик указывает список дистр, где гоняли тесты.
    4. java, java-like & scripts.
    сий плюс есмь в сущности проклятье линя, пч эффективный взлом системы акь раз-таки пролегает чрез использование скриптянки. :)
     
  3. Minzdrav

    Minzdrav Well-Known Member

    Публикаций:
    0
    Регистрация:
    21 мар 2017
    Сообщения:
    1.064
    Тоесть тебе надо откомпилировать програму на одной машине,
    а потом запустить на другой?
    Ну не знаю, часто даже из портов собирают программы,
    тогда всё уж совсем правильно считается.
    Для этого нужны виртуальные машины. Там можешь кучу архитектур
    придумать, и на всех обкатать. Хочешь виндовсы, хочешь сети.
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 дек 2008
    Сообщения:
    2.146
    питоны и пхп есть и на мак осах... только очень древние версии, в отличии от актуальных линуксов...
     
  5. Minzdrav

    Minzdrav Well-Known Member

    Публикаций:
    0
    Регистрация:
    21 мар 2017
    Сообщения:
    1.064
    Сами Линуксы для мальварек не подходят. На разных дистрах
    по разному расположены файлики. Ядро от ядра отличается.
    Ну я так представляю.
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 дек 2008
    Сообщения:
    2.146
    да не, можно запилить, просто не задача для скрипткидисов... можно сделать -nostdlib, и слиновать с минимально нужной версией либс, собрать для x86 и x64 отдельно, запилить первый стейджер на питоне например и тд...
     
  7. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    352
    FreeBSD по другому укладывает аргументы в стэк. Поэтому, как минимум, разница в адресах будет. Плюс, скорее всего разница есть в elf заголовках. Сейчас не помню. Проще собирать на FreeBSD, чем думать, как учитывать эти проблемы.
     
  8. M0rg0t

    M0rg0t Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    533
    Да. Я просто хотел потестить , как вот пишут под линуксы на Си. Попробовать что-то новое, причем новое не из серии "новый супермодный язык 2019 года" с хабра, а фундаментальные вещи.

    Я вот что-то такое и думал, чисто ради РоС - компилируем 2 разные версии, их поместить в скрипт в виде хекс-массива.

    кстати, я вот так немного поискал, если по линуксу множество книг на тему программирования, то под freebsd по факту ничего нет.
    Стивенса не читал.
     
  9. Rel

    Rel Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 дек 2008
    Сообщения:
    2.146
    не так давно смотрел интересную презентацию на ютюбе (к сожалению не смог поехать на конфу, тк она была в питере, а у меня было много дел в москве) с последнего зиронайтса про бесфайловую малварь под линукс:
     
    M0rg0t нравится это.
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    4.478
    угу, этот детский сад может так непод€ЦЦЪки укатать линь и, что показательно, он может на разных дистрах пахать :) а сейчас в линь Сообщество прикатила куча ламо-линуксойдов с довольно забавными роликами на ютубах..

    SUDO APT!!!!.. $i¢¡:laugh1::laugh2::laugh3:
     
  11. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    352
    Наверно, потому что под os x выгоднее книжки писать.

    Возвращаясь к elf32 запуску в x86-64, чего делал, но без ответа почему.
    1. На 32-х битной машине(Debian) gcc helloworld.c -o hw
    uname -mrs
    Linux 4.9.0-3-686-pae i686
    dpkg --print-architecture
    i386
    gcc --version
    gcc(Debian 6.3.0.-18+deb9u1) 6.3.0 20170516

    2. На флешке перенес на машину с
    uname -mrs
    Linux 4.10.0-38-generic x86_64
    gcc --version
    gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609

    3. Выполнил chown и chmod что бы все было ок. Но ./hw ответил что файла такого нет. ldd сказал что это hw не исполняемое. Радаром в режиме хекс редактора открыл, байты все целые всё норм.
    4. проверил dpkg --print-foreign-architectures выдало i386 поэтому никаких dpkg --add-architecture апдэйт апгрэйт не делал.
    5. написал a.c (уже локальный хелловорлд) попытался собрать gcc -m32 a.c , никакого a.out, всякие матюки.
    6. apt-get install ia32-libs мимо, ситуация без изменений
    7.apt-get install libc6-dev-i386 мимо, ситуация без изменений
    8.apt-get install gcc-multilib оно самое gcc -m32 a.c собрался и запустился. hw запустился и отработал как надо.Т.е. после копирования hw я к нему не прикасался и он отработал как надо.
     
    M0rg0t нравится это.
  12. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    4.478
    q2e74, кстати, вспомнил ещё одну причину, почему файлик может не запускаться даже при пометке х == в /etc/fstab партиция может помечаться акь неисполняемая.
     
    q2e74 нравится это.
  13. Minzdrav

    Minzdrav Well-Known Member

    Публикаций:
    0
    Регистрация:
    21 мар 2017
    Сообщения:
    1.064
    Я не совсем понимаю чем вы занимаетесь, но почему
    не поставить виртуалку на 32 бита, и на 64. И на одной
    собрать программку под 32 бита, а на второй под 64?
    --- Сообщение объединено, 18 дек 2018 ---
    Получится два файлика. И все дела. А если надо
    автоматическая установка, то надо скрипт написать.
    Как Рель говорил выше, по определению архитектуры.
    --- Сообщение объединено, 18 дек 2018 ---
    Пускай сличает выхлопы команды arch, направленые в файлик.
    if это значит это.
     
    Последнее редактирование: 18 дек 2018
  14. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    352
    Minzdrav, Это не конструктивно всякие "но почему не" . Мы же не перед начальником, у которого сроки горят, и решение нужно абы какое, и прям щаАЗЗ :derisive:

    Кто подскажет, как правильно было бы дебажить первую попытку загрузить 32-битный эльф в 64-битной машине, без установленной gcc-multilib что бы точно увидеть, где всё спотыкается? Будем исходить что у нас две x86-64 и настроена возможность отладки ядра.

    НАРОД! КТО ПРЕДЛОЖИТ САМЫЙ КОРОТКИЙ СПОСОБ?
     
  15. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    4.478
    я держу либы 32 & 64 бок-о-бок, тч обе разрядности вполне пашут.. с другой стороны == в моноарх-е есть вполне железная логика..

    1. диск не за-си-раЕтЪся усяким гуаном лишний раз.
    2. нет лишних проблем с установкой/обновлением пакетов.
    ===
    для моноарх-а есть ещё одно решение == chroot.
     
  16. Rel

    Rel Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 дек 2008
    Сообщения:
    2.146
    Моргот, чего вспомнил... если у тебя нет врожденного отвращения к Паскалю, как к языку программирования, то можешь попробовать FreePascal... компиль добротный и стандартная библиотека компилится в исполняемый ELF, так что файл получается жирненький, но зато по идее должен работать на большинстве линуксов... можешь попробовать... плюсом еще является достаточно простая сборка кросс-компиляторов (можно например с венды компилить под линукс или макос или андроид) с помощью графической тулзы fpcupdeluxe...
     
    M0rg0t нравится это.
  17. M0rg0t

    M0rg0t Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    533
    Rel, не писал на нем никогда, но посмотрю.