Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
щас остальное скину
Aiwan \ (•◡•) / _bot
https://pastebin.com/hBD3tTb3
bilka00
Тебя не учили стэк ровнять ?
Aiwan \ (•◡•) / _bot
bilka00
правда меня тоже не увили
bilka00
)
bilka00
пришлось посмотреть фасмоский файл
bilka00
в чем отличия
bilka00
Aiwan \ (•◡•) / _bot
в чем отличия
fasm add пишет а не sub
Aiwan \ (•◡•) / _bot
вроде
bilka00
Aiwan \ (•◡•) / _bot
только на очке входа, на остальных вызовах - адд
bilka00
только на очке входа, на остальных вызовах - адд
а теперь еще раз внимательно смотри
bilka00
add делаеться уже после вызова для востановления
Aiwan \ (•◡•) / _bot
ну да, короч как то сравнивал, сделал для себя вывод что кто то суб делает с положительным числом, а кто то адд с отрицательным. или наоборот
bilka00
ну так задача выровнять стэк, а кто какими методами делает уже другой вопрос
bilka00
хотя я через add чесно говоря не видел
bilka00
или просто не обращал внимание
s54820
не в линкере дело
Не в линкере. Дело в том, что ml делает /ENTRY: и public для метки после end сам, а ты метку после end удалил. Раз удалил — делаешь вручную.
Aiwan \ (•◡•) / _bot
Не в линкере. Дело в том, что ml делает /ENTRY: и public для метки после end сам, а ты метку после end удалил. Раз удалил — делаешь вручную.
Я там точку входа как процедуру сделал потом. А вот как через метку потом буду разбираться, если так можно конечно
s54820
Я там точку входа как процедуру сделал потом. А вот как через метку потом буду разбираться, если так можно конечно
Да, я видел. Но именно в proc там особого смысла нет — аргументы оно не принимает всё равно, можно было и просто метку указать.
Aiwan \ (•◡•) / _bot
вот в msdn сказано что The default base address for an .exe file is 0x400000 for 32-bit images or 0x140000000 for 64-bit images. почему фасм для х64 базу делает как в х32?
Aiwan \ (•◡•) / _bot
400000 140000000
s54820
400000 140000000
Ну это понятно. Но оно всё равно работает же. И ASLR к тому же.
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
Мож и от сюда удалить?
Aiwan \ (•◡•) / _bot
Или так нельзя?
KosBeg
первых и последних двух не трогать я думаю...
­
­
Ну только же бота забанил...
­
Проверяй.
Василий
Проверяй.
Спасибо
Василий
Есть тут люди знакомые с JTAG'ом?
Василий
Что такое отладочный USB и где его купить в Москве?
JeisonWi
Для какой платы/архитектуры?
Василий
Да, я определенно видел эту аббревиатуру в нужном мне контексте. Intel x86 Дома есть Intel Core 2 Quad Q6600, но я не разбирался еще можно ли к нему так коннектится
JeisonWi
DCI - достаточно новая штука, далеко не на всех платах он включен или нормально работает
JeisonWi
Вроде кто-то из Digital Security или Positive Technologies ресерчил эту тему, там могут быть упоминания плат, на которых работает
JeisonWi
Кабель хз где купить, я бы заказывал на AliExpress
JeisonWi
https://m.habr.com/company/pt/blog/341946/
JeisonWi
https://www.datapro.net/products/usb-3-0-super-speed-a-a-debugging-cable.html
Василий
Ну да, тут то я прочитал про это дело. Вообще может я не тем путем иду. Задача такая: Хочу отправить выполняться на проц. конкретную инструкцию, и после ее исполнения получить значения всех его регистров. Так как дома q6600, то и делать это все хотелось бы на нем. Какие пути осуществления этой идеи можете подсказать?
­
Юзай qemu
Василий
Вот тут (http://citforum.ru/book/cook/intel.shtml), например, прочитал, что "В реальном и 16-разрядном режиме указатель команд обрезается до 16 бит, поэтому на первый взгляд 66:RET сработает корректно. Корректно-то, оно корректно, да не совсем - стек ведь оказывается несбалансированным! Из него вместо одного слова RET снимает целых два! Так нетрудно получить и исключение 0xC - исчерпание стека. Если это сделать умышленно, поручив обработку исключения нечто полезное, то такое приложение не удаться отладить ни Soft-Ice, ни даже эмулирующим отладчиком cup386! Остальные отладчики так же либо виснут, либо совершают очень далекий переход по EIP и, попав в "космос", так же виснут, либо снимают одно слово и не вызывают ни исключения ни его обработчика, а если этот обработчик расшифровывает некоторые части программы, то под отладчиком они остаются зашифрованными и все вновь виснет." Подобные вещи получится отследить при помощи hypervisor debugging?
JeisonWi
Вот тут (http://citforum.ru/book/cook/intel.shtml), например, прочитал, что "В реальном и 16-разрядном режиме указатель команд обрезается до 16 бит, поэтому на первый взгляд 66:RET сработает корректно. Корректно-то, оно корректно, да не совсем - стек ведь оказывается несбалансированным! Из него вместо одного слова RET снимает целых два! Так нетрудно получить и исключение 0xC - исчерпание стека. Если это сделать умышленно, поручив обработку исключения нечто полезное, то такое приложение не удаться отладить ни Soft-Ice, ни даже эмулирующим отладчиком cup386! Остальные отладчики так же либо виснут, либо совершают очень далекий переход по EIP и, попав в "космос", так же виснут, либо снимают одно слово и не вызывают ни исключения ни его обработчика, а если этот обработчик расшифровывает некоторые части программы, то под отладчиком они остаются зашифрованными и все вновь виснет." Подобные вещи получится отследить при помощи hypervisor debugging?
Most of the time
JeisonWi
Прочитай ещё про sandsifter
Василий
А JTAG зачем?
Ну вот, чтобы было all the time, а не most of the time
­
Я не уверен, что ты сможешь сконфигурировать jtag. Я молчу о полноценной отладке.
JeisonWi
Ну вот, чтобы было all the time, а не most of the time
Тут какое дело - в x86 jtag кастрированный, и только полноценный ITP/XDP отладчик будет гарантировать исполнение и брейкпойнт на уровне микрокоманд
JeisonWi
А купить его очень и очень дорого
Vladimir
Юзай qemu
qemu не все инструкции корректно эмулирует
Vladimir
при отключëнном kvm вылетает
JeisonWi
Так что придется смириться с most of the time
Viktor
Более чем уверен, что нормальной виртуальной машины хватит
Viktor
Чтобы инструкции не эмулировались, а выполнялись на том же процессоре
Viktor
Ну я и говорил про hypervisor debugging
Как раз искал твое сообщение чтобы плюсануть туда :)
Василий
Будут ли какие-то побочные эффекты, по которым я смогу определить, что выполнение инструкции в виртуальной машине "не попало в most of the time"?
JeisonWi
Но очень и очень немного
JeisonWi
Если для самообучения - то можно игнорировать
JeisonWi
Если для VM escape - то надо будет копать именно такие отличия, ну или малварь какая супер-продвинутая
Василий
Ладно, всем спасибо за ответы. Надо поразбираться теперь в том, о чем писали
Лев
А Bar уже здесь?
­
Он и сюда ломанулся...
Aiwan \ (•◡•) / _bot
#book masm64, вводный курс, лабораторные
kir
есть у кого нибудь справочник по инструкциям mips ?
kir
да на английском то найти не проблема 😆
kir
у меня с ним туговато