Anonymous
Он библиотеку не может найти
Покажите как указываете?
Vitaliy ◀️TriΔng3l▶️
Он библиотеку не может найти
А что в таком случае принято делать?
Anonymous
А что в таком случае принято делать?
Паниковать и звать на помощь
Vitaliy ◀️TriΔng3l▶️
yum install ням ням что-то там
Anonymous
Или pacman -S вакавака что-то там
Vitaliy ◀️TriΔng3l▶️
Хотя, если они установлены, но линкер не видит папку lib, это уже интереснее…
Vitaliy ◀️TriΔng3l▶️
Добрый день! А подскажите, пожалуйста, почему получаю такую ошибку?
А зачем тебе именно 32-битный исполняемый файл, на 64-битной системе?
Anonymous
😥
Влада
yum install ням ням что-то там
А что установить?
Anonymous
usernameak
fasm, я полагаю, не умеет OMF выдавать?
Vitaliy ◀️TriΔng3l▶️
А что установить?
Проще всего 32-битный линукс… Или переписать код, чтобы 64-битные адреса использовал, и линкануть без -m32
Vitaliy ◀️TriΔng3l▶️
А что установить?
А чтобы 32-битный код собирать под 64-битный линукс, тогда то, что просят — GCC, стандартную библиотеку C — но с .i386 или .i686 на конце https://access.redhat.com/discussions/656523
Aiwan \ (•◡•) / _bot
fasm, я полагаю, не умеет OMF выдавать?
эт колтьорые ELF, на *.o заканчиваются? может
usernameak
эт колтьорые ELF, на *.o заканчиваются? может
нет, это которые *.obj из времен доса
Aiwan \ (•◡•) / _bot
нет, это которые *.obj из времен доса
я не понял, мы про дос или линух? если про линух то может *.o, если про дос то может *.obj
Vitaliy ◀️TriΔng3l▶️
https://access.redhat.com/discussions/3434141
Aiwan \ (•◡•) / _bot
я, чтоб не париться с такими ошибками, поставил еще и х32 линух
usernameak
https://access.redhat.com/discussions/3434141
нужны 32-битные либы
Влада
Все, сделала
­
Все, сделала
Молодец, поздравляю!
usernameak
слушайте, я тут ковыряю старый 16-битный код и наткнулся на одну неприятную вещь
usernameak
тут код пользуется тем, что память на 8086 закольцована
usernameak
и местами встречаются адреса вроде FF6A:5032
usernameak
как заставить иду это понять
usernameak
это костыль для эмуляции этой штуки на более поздних процессорах
Eugene
жаль
NASM умеет. Если код не слишком fasm-зависимый, можно переделать относительно легко в NASM.
usernameak
просто в конкретной ос OMF является форматом исполняемых файлов
usernameak
ожидаю вопрос "чево бля"
Eugene
да не fasm-зависимый он
Ну переделай в NASM и скомпиль им тогда :)
usernameak
просто в конкретной ос OMF является форматом исполняемых файлов
даже не спрашивайте, чё это за древнюю ос я откопал
Eugene
это костыль для эмуляции этой штуки на более поздних процессорах
А зачем его эмулировать, если переключение A20 поддерживается на всех процессорах?
usernameak
А зачем его эмулировать, если переключение A20 поддерживается на всех процессорах?
так суть в том, что переключение a20 завезли для эмуляции этой особенности 8086
Eugene
Эмуляции где?
usernameak
даже не спрашивайте, чё это за древнюю ос я откопал
подсказка: вышла в 1982 и могла в многопоточность и гуи
usernameak
Эмуляции где?
на 286 и выше ж
Eugene
Так, хоть на Core можно без эмуляций переключать A20.
Eugene
Возможно :)
Eugene
Аааа, A20 у тебя включен, а IDA видит, как будто выключен?
Eugene
Ну или наоборот.
usernameak
да
usernameak
как ее заставить думать что выключен
Eugene
А там опции нет такой?
Eugene
Или, может, попробовать вставить код, который конкретно отключает A20, и тогда IDA поймёт, что она выключена?
Eugene
Потому что изначально IDA не знает, включена она или нет.
usernameak
Eugene
Ну тогда попробуй "план Б" :)
usernameak
как вставить, если она даже не знает где там entry point :D
Eugene
А как же ты юзаешь IDA ?
Eugene
И как понимаешь, что она неправильно работает с A20 ?
usernameak
И как понимаешь, что она неправильно работает с A20 ?
она не определяет метки у этих адресов
Eugene
🤷‍♂️
Eugene
еще вроде uasm может
UASM — это тот же MASM, там больше отличий в синтаксисе. От fasm'а.
Aiwan \ (•◡•) / _bot
значит и масм тоже
s54820
она не определяет метки у этих адресов
У IDA с адресацией вообще все не очень хорошо. У меня были похожие проблемы с другим процессором, нормально решить не удалось, и я неправильные адреса поголовно пропатчил просто. А ты пробовал выставить тип процессора именно 8086, а не MetaPC? Может, там есть костыли на этот счёт?
usernameak
значит и масм тоже
масм-то точно умеет
s54820
Eugene
можно попробовать, но что делать если у меня уже существующий idb с кучей всего?
Можно посмотреть чисто эту фичу. Если сработает, тогда уже думать дальше (бэкапить, как сказали, и т.д.).
s54820
Ну так IDA.
Aiwan \ (•◡•) / _bot
о, самарский программистам, привет
Eugene
Всех с Новым годом! 🎄
Yura
С Новым годом!
JeisonWi
просто в конкретной ос OMF является форматом исполняемых файлов
Это же объектный файл для линкера, не конечный запускаемый файл
JeisonWi
JWasm ещё умеет
JeisonWi
https://github.com/JWasm/JWasm