Anonymous
Хотя там ничего интересного не будет, проверки и вызов системного вызова. Поэтому придётся ревёрсить ядро, а это долго. Есть ещё вариант посмотреть в открытом доступе уже готовые дизассемблированные функции ядра.
Sergey Boogerwooger
Если кто-то хочет лучше понять как устроены стековые виртуальные машины и поиграться в удобном и простом окружении - наткнулся тут на прикольную обучающую репу: https://github.com/fvictorio/evm-puzzles - это на понимание как параметры через стек передаются и происходит передача управления. Асм здесь испольуется из Ethereum Virtual Machine - он проще, чем набор инструкций x86, а играться с EVM удобно тем, что готовый рабочий код в сети присутствует в любом смарт-контракте и его можно дебажить вдоль и поперек прямо на реальных данных (например используя проекты tenderly или remix). Сам instruction set: https://www.evm.codes/ , по дефолту размер слова - 32байта (256bit). Заодно можно понять что находится под капотом у самого дорогого языка программирования - Solidity
Hello, World! 🎄
Всем привет, подскажите где взять информацию (инструкции), что нужно записывать в регистры, для x86 linux.
Hello, World! 🎄
Ты про соглашение о вызовах?
Ну допустим чтоб вывести текст я делаю так: mov rax, 4 mov rbx, 1
Hello, World! 🎄
http://www.int80h.org/bsdasm/#system-calls
Спасибо, как я понимаю под freeBSD и Linux код одинаковый?
889
Спасибо, как я понимаю под freeBSD и Linux код одинаковый?
Ну прочитай) там всё написано, пункт 2.2
Hello, World! 🎄
Ну прочитай) там всё написано, пункт 2.2
Ок, а можно узнать какие-нибудь книжки, гайды, уроки на youtube? (Конечно если знаете)
Aiwan \ (•◡•) / _bot
Ок, а можно узнать какие-нибудь книжки, гайды, уроки на youtube? (Конечно если знаете)
ну у тя формулировка вопросов для людей точных наук. я б ответил "прочитать/посмотреть" или "можно". ответил ровно то, что спросил, не больше не меньше. в программировании нет необходимости додцмывать, что то иначе интерпретировать. был бы это чат по литературе истории - тогда да, будет простор для додумывания, предположений
Anonymous
😄😄
Hello, World! 🎄
Егор
Всем привет может у кого есть код на ассемблере который работает с таймером 0 в режиме сравнения (СТС)
Edem
Привет всем! Немного поковырял DOSbox, нашёл дату БИОСа: mov ax, 0ffffh mov ds, ax mov si, 5 дата тут: DS:SI — DS:[SI+8] Версию найти не могу. Как можно узнать версию БИОСа?
Edem
Какая ОС у вас?
линукс, но узнать хочу версию биоса в DOSbox
Anonymous
Edem
У DOSBox нет BIOS, это эмулятор
тогда странно, что дату биоса он всё же выводит (11/11/92)
Anonymous
тогда странно, что дату биоса он всё же выводит (11/11/92)
Это просто эмуляция, у эмулятора BIOS'а нет. Но для получения информации о BIOS обычно используют прерывание int 0x15/AH=0xC0
s54820
в f000:fff5 лежит версия?
Типа того. Там лежит дата в американском формате (месяц/день/год).
Edem
спасибо всем!
Anonymous
Это заглушка.
Не совсем так. DOSBOX тянет на борту модифицированный BIOS, а у него с адреса F000:FFF0 находится т.н bios block, где прописан тип машины (XT/AT), дата создания bios и если память не изменяет, то jmp на программу инициализации hardware
Anonymous
А, ну да, я с полноценными эмуляторами перепутал (Vmware,VirtualBox)
egor
А что почитать, Что бы можно было разбираться в биос?
egor
Ну кроме исходников:D
egor
Я еще не настолько развит, что бы читать такие исходники в качестве развлечения
Anonymous
А что почитать, Что бы можно было разбираться в биос?
А чего там читать? Ну на википедии почитайте
Anonymous
А что почитать, Что бы можно было разбираться в биос?
любую дизассемблированную прошивку
Anonymous
для некоторых даже есть исходный код
Anonymous
не вахтерьте пожалуйста
Это что вообще значит?
Anonymous
у вас синдром вахтера
Anonymous
любую дизассемблированную прошивку
Это почти тоже самое, что исходный код. Поскольку он новичок, думаю ему достаточно просто разобраться в функционале BIOS, а это можно узнать на обычной Вики
Anonymous
у вас синдром вахтера
По-вашему, чат это учреждение? Причём тут вахтер вообще
Anonymous
Да и я вроде никем не командовал, и ничего тут не защищал, или что там ещё вахтеры делают
egor
Ну может есть литература, при помощи которой, можно написать свой bios?
Anonymous
ето сложно и оч заисит от устройства
Anonymous
мне каежтся
Anonymous
Ну может есть литература, при помощи которой, можно написать свой bios?
Если на таком уровне, тогда выше правильно написали, изучайте дизассемблированные прошивки, дописывайте свои функции, можете начать с вывода надписи на запуске, или защиты MBR, как раньше делали
Anonymous
Ну может есть литература, при помощи которой, можно написать свой bios?
можете попробовать написать EFI Applications но такое себе
Anonymous
там раковый дебил дизайнил интерфейс - M$ + Интель
Anonymous
Если на таком уровне, тогда выше правильно написали, изучайте дизассемблированные прошивки, дописывайте свои функции, можете начать с вывода надписи на запуске, или защиты MBR, как раньше делали
Естественно ещё для серьёзного изучения BIOS понадобится какой-то левый ноутбук, дешёвый, с которым можно сдампить\загрузить прошивку
egor
Всем спасибо, тогда попробую применить советы по игре с прошивкой древнего ноута
egor
Попробую написать сначала комментарии к коду, что он делает
­
source.asm:17: error: instruction not supported in 64-bit mode
Anonymous
Что именно не работает?
Aiwan \ (•◡•) / _bot
Что именно не работает?
он же написал - код
Anonymous
он же написал - код
Я запустил у себя в голове, всё работает. А ещё попробовал скомпилировать, и всё скомпилировалось (Компилировал не в голове, а на ПК)
Anonymous
Только непонятные моменты есть, вроде зачем вообще enter и leave делать, если здесь не используются локальные переменные. Да и в целом сомневаюсь в "полезности" этого кода, похоже на какую-то кашу, будто автор пытался кого-то запутать, и запутался сам... Обычно делают так — сначала пишут правильный и рабочий код, а только потом его защищают от ревёрс-инженеров
Zyrocat
Бесят эти тролли
Zyrocat
Eugene
Уже 71. Такой код будет не просто некроссплатформенным, то и некроссвременны́м 😁
Anonymous
Там скорее всего был накидан говнокод, который вывел бы какой-нибудь говнолозунг.
Довольно странный и бессмысленный подход. Кого он удивить то хотел)) Да и кажется код из компилятора взят (судя по константам, написанным в dec, а не hex. Серьёзно, кому так на ассемблере писать удобно? Даже -1 (0xFFFFFFFF) написана в десятичном — 4294967295). В любом случае, все старания в утиль, даже жалко как-то..
Anonymous
про -1это в яблочко
Хотя может он это и намеренно так сделал, чтоб "запутать". Ладно, уже уехал поезд, чего тут гадать))
s54820
Да это CTF был обыкновенный, вы чего?
Anonymous
Да это CTF был обыкновенный, вы чего?
Пародия какая-то, скорее всего. Ни единой подсказки нет, да и CTF с флагами CC{*} нет, я посмотрел, может локальные какие-то. Так что соглашусь с Sudomaster, похоже на провокацию
Anonymous
Вообще, допустим если это действительно какой-то разработчик CTF был, почему он адекватно не описал свою проблему? "не работает код" — при этом не описана вообще задумка, алгоритм и все остальные подробности.
Anonymous
Так человек видимо решение хотел.
Да, это похоже на правду.
Вы чатом видимо ошиблись.
Имя
🤦‍♂️ иди уроки делай малыш
FroZZZ
здравствуйте, как можно на ассемблере арктангенс вычислить?
FroZZZ
fpatan
видел что-то такое, но нигде не нашел пример