Viktor
Что явно больше 32
tanjmaxalb
Хорошо, с этим соглашусь, насчёт long меньше 32, был не прав
s54820
А в чем смысл 24-битных чаров? Что там за проц?
Что за проц, не скажу, это в середине 2000-х было. Оно в принципе не могло меньше 24 бит адресовать. Выглядело очень странно.
JeisonWi
Это на DEFCON прошлогоднем был использован вымышленный процессор с 9 битами в байте, 3 байтами в слове и middle endian архитектурой.
JeisonWi
cLEMENCy назывался
JeisonWi
В течении 24 часов для него надо было написать тулчейн - дизасм, асм, отладчик ну и все в таком духе, чтобы использовать в течении следующих дней для эксплуатации
JeisonWi
Много крови он мне попортил (да и остальным командам тоже)
JeisonWi
9 битов в байте - это самое худшее из этого набора. Сначала пытался сделать битовую адресацию, потом просто плюнули и стали расширять до 16 бит
JeisonWi
И Java VM :)
Java - детская игрушка по сравнению с этим монстром
Vladimir
Java - детская игрушка по сравнению с этим монстром
Я имел в виду реализацию жабы на этом монстре ) хотя, скорее всего 1 бит тупо бы не использовался
JeisonWi
Если кому интересно - все доки и тулчейн с эмулятором в паблике, плагины для radare2 - тоже
Anonymous
чекнул в своей программе куда происходит джамп при вызове printf. Привело меня все это в секцию <__pei386_runtime_relocator>. Я так понимаю, сюда выня пробрасывает адреса своих сисколов, да?
Anonymous
в дебаг версии билда из под mingw
Anonymous
аа что?
s54820
в дебаг версии билда из под mingw
Фиг знает, у меня такого нет.
Anonymous
Блин, сложно разбираться в этих дрянных PE а винде с ее либами мать их
Anonymous
Ну такие они все жирные
Anonymous
#даешь.COMобратно
s54820
64 килобайта достаточно всем?
Anonymous
Ну, для современных машин можно и понерфить это.
Anonymous
Просто... Столько нагромаждений раздражает. Text, Data, Bss и минимальный системный код для запуска. Все, большего не нужно.
Vladimir
64 килобайта достаточно всем?
Можно ж сделать что-то наподобии .com в 32-битной среде. И будет 4гига. Или даже в 64-битной.
Vladimir
Если к нему свой загрузчик написать
Он же будет простой как три рубля
Vladimir
Ибо .com
Anonymous
И + ко всему нажо будет решать вопрос с адресами. В целом, можно установить стандарт, мол в какой-нибудь регистр загружается адрес начала программы и усе, от него и пляшите
s54820
Можно ж сделать что-то наподобии .com в 32-битной среде. И будет 4гига. Или даже в 64-битной.
Можно, но без длл. Или с длл, но… ой, релоки нужны, ой, импорты/экспорты описать нужно. Ой, получился PE.
Anonymous
Угу
Anonymous
Он же будет простой как три рубля
Anonymous
Ибо .com
s54820
В юниксаж не так? Ну прерывания для сисколов есть и славно
ELF сильно запутаннее и сложнее. Особенно, если не брать частные случаи, а строго следовать спеке.
Anonymous
Чем PE?
Vladimir
Не сложнее. Имхо.
Anonymous
Вот и я думаю.
Anonymous
Ну секций насирается там поменьше)
JeisonWi
Не сложнее. Имхо.
Сложнее, язык описания релокаций тьюринг-полный
Vladimir
Самая засада - это релокации на risc'ах
Anonymous
А риски тут при чем? Это ж вопрос ядра и ОС
JeisonWi
Несколько сотен видов релокаций
Vladimir
Львиная доля релокаций нужна для position-independent code
Vladimir
Сложнее, язык описания релокаций тьюринг-полный
Там же таблички обычные, какая тьюринг-полнота?
Anonymous
Нафиг в эльфах релокация? Таки тоже для динамических библиотек? Ну можно и без них с системой общаться
s54820
Нафиг в эльфах релокация? Таки тоже для динамических библиотек? Ну можно и без них с системой общаться
Можно каждый раз писать ОС для своего хелловорлда. Только не очень удобно.
JeisonWi
Там же таблички обычные, какая тьюринг-полнота?
http://cs.dartmouth.edu/~bx/elf-bf-tools/slides/elf-defcon20.pdf
JeisonWi
http://www.cs.dartmouth.edu/~bx/elf-bf-tools/slides/ELF-berlinsides-0x3.pdf
Vladimir
А риски тут при чем? Это ж вопрос ядра и ОС
сложно релокации строятся. Особенно если поле смещения разбито, или нужно генерировать инструкции для набора констант
Anonymous
Ну сискол ж все документированы. Наверняка libc в юниксах их и юзает. В том же linux kernel и bsd
JeisonWi
+ https://kristerw.blogspot.com/2016/01/more-turing-completeness-in-surprising.html
JeisonWi
На мой взгляд оба формата очень устарели (вкупе с избыточным количеством метаинформации) и надо делать новые, "почище"
s54820
На мой взгляд оба формата очень устарели (вкупе с избыточным количеством метаинформации) и надо делать новые, "почище"
Типа Mach-O с командами лоадеру? Попытка сделать новый приведёт к чему-то ещё более абстрактному и неюзабельному. По мне, частное решение конкретных проблем лучше. А PE по большей части свои проблемы решает.
Anonymous
с этими PE вашими я походу никогда не попаду в какой-нибудь касперски лаб реверсить зловреды =)
JeisonWi
Да и с integrity у обоих форматов плохо, хотя сигнатуры и реализовали
JeisonWi
Унылая и скучная работа же
Anonymous
Нечего там делать
Лучше, чем в мыле интерфейски клепать
Anonymous
Либо системное программирование, либо я пошел бомжевать.
Anonymous
Унылая и скучная работа же
Мозги заставляет вскипать и это годно
s54820
PE не решает проблем с .NET как минимум, он там костыльно очень реализован
Так это другая проблема. Она называется «Microsoft». Сначала они шрифты в исполняемых файлах хранили, теперь байткод.
JeisonWi
Вот автоматизацией реверса заниматься интересно, или реверс но не малвари
Anonymous
Вот автоматизацией реверса заниматься интересно, или реверс но не малвари
Малвари как правило пишут специально так, чтобы реверсить было сложнее. Это и вызывает интерес. И хаки там интерксные встречаются.
JeisonWi
Да и вообще оффенсив интереснее в первой половине жизни
Anonymous
Оффенсив это что?
Anonymous
90% - нет
Печально
JeisonWi
Оффенсив это что?
Эксплуатация, поиск уязвимостей
Anonymous
Anonymous
В любом случае - только не интерфейсики в мыле.
JeisonWi
Ааа, ну да, тоже годно
Вот там реально больше разброс - почти всегда что-то новое
Anonymous
Сегодня сдавал квалификационный экзамен в 9 утра. Там надо было накидать клиент-серверное приложение... На Borland c++ builder 6. Сем не ходил, впервые его в глаза увидел. И мне стало страшно. PS: МГТУ 3 курс
Anonymous
я уже молчу о том, что таам даже редактор неудобный... Он сам по себе работает с ошибками, один и тот же код билдит через раз. Представляете себе такое? Еще год это терпеть
Anonymous
а у нас системщики вообще нужны где-нибудь еще?