Публикации по теме 'machine-code'


Компилятор: обзор
Все программное обеспечение, которое мы используем каждый день, написано на каком-то языке программирования. Но чтобы запустить программу, мы должны сначала перевести ее во что-то, понятное компьютеру, и здесь на помощь приходит компилятор. Компилятор — это программа, которая преобразует программу на исходном языке в программу на целевом языке (машинном языке). Он также обнаруживает любые ошибки в процессе перевода. Части компилятора Существуют в основном три фазы структуры компилятора...

Pwning Binaries with Surgeon: руководство для специалистов по наступательной безопасности
С ростом популярности дистрибутивов Linux, ориентированных на безопасность, таких как Parrot OS и Kali Linux, в комплекте с их наборами наступательных инструментов безопасности и отсутствием недостатка руководств на YouTube и HackForums по их использованию, кажется, что каждый может быть «хакером». " Настоящее время. Не требуется никаких навыков или даже знаний, чтобы запустить такой инструмент, как Wifite или Fern, чтобы попытаться взломать плохо защищенную сеть Wi-Fi, но если вы зависите..

Вопросы по теме 'machine-code'

Самая переносимая библиотека для генерации динамического кода?
Я ищу наиболее переносимую библиотеку ассемблера, например asmjit или jitasm . Когда я говорю «наиболее портативный», я имею в виду, что он имеет наибольшую поддержку для самых разных архитектур. Язык не имеет большого значения, но C++ был бы...
7191 просмотров

кодировка кода операции x86: sib byte
Сейчас пытаюсь написать дизассемблер. Я нашел следующий список кодов операций и их значений, поэтому решил проанализировать его во время выполнения: http://web.archive.org/web/20150810224114/http://mprolab.teipir.gr/vivlio80X86/pentium.txt Но я...
3059 просмотров

Что означает func в наборе инструкций R-Format?
Я новичок в языке ассемблера . Я читал об архитектуре MIPS и застрял в последнем поле Формат регистра (R-Format) . Вот его визуальное представление, Может ли кто-нибудь помочь мне с что делает шестой поле означает и как мы его вычисляем?...
8468 просмотров

C++ - крайне странное поведение машинного кода
Полный код находится здесь: http://pastebin.com/MM3vWmqA . В функции fast_generator я добавил комментарии к двум операторам. Если вы переключите эти операторы, код будет работать примерно в 1,8 раза быстрее. Если вы удалите первый оператор, код...
291 просмотров
schedule 23.01.2023

Как выглядит реальный машинный код в различных точках?
Кажется, существует много мнений о том, что такое машинный код. Я слышал, что некоторые говорят, что это сборка, двоичный код или шестнадцатеричный код. Правильно ли говорить, что машинный код — это, по сути, набор инструкций для конкретного...
8263 просмотров

Библиотека для управления машинным кодом во время выполнения?
Есть ли какая-нибудь библиотека C для управления машинным кодом x86 / x64? В частности, я хотел бы изменить функцию в адресном пространстве моей программы во время выполнения. Например, у меня есть функции foo и bar , для которых у меня есть...
355 просмотров
schedule 04.03.2024

Генерация машинного кода из C
Извините, если это наивные вопросы - я очень плохо понимаю, как C действительно работает на низком уровне. Итак, я генерирую машинный код для записи в некоторую память mmap для выполнения. Меня смущает использование шестнадцатеричных литералов для...
1377 просмотров

Получить размер инструкции по сборке
Мне нужно прочитать инструкции одну за другой из небольшого сегмента кода в памяти, и мне нужно узнать размер инструкций, которые у меня есть в памяти. Ниже приведен пример необработанного дизассемблированного кода для объяснения моей проблемы:...
6191 просмотров

машинный код для процессора MIPS
Мне нужно сгенерировать машинный код из разных кодов C. Я скомпилировал код C с помощью скамьи кода soucery. Я могу успешно скомпилировать его и получить код сборки и исполняемый файл. У меня есть проблема. Мне нужен только машинный код, чем я могу...
229 просмотров
schedule 13.11.2022

Принуждение программы к вызову функции в C с входной строкой
Итак, я делаю упражнение, в котором хочу вызвать функцию void not_call(), просто введя буфер. В основном то, что я хочу сделать, это использовать переполнение буфера для вызова not_call(). Я приближаюсь к этому, используя двоичную строку эксплойта,...
495 просмотров
schedule 06.08.2022

кодирование инструкций x64 (r / m, reg vs reg, r / m)
Какая разница в кодировке (ModRM: r / m, ModRM: reg) против (ModRM: reg, ModRM: r / m)? В частности, скажите такую ​​инструкцию, как CMPXCHG vs DIVPD. Я думал, что регистр и адрес всегда закодированы в первом байте, а затем в SIB и смещении во...
825 просмотров
schedule 08.06.2022

Как увидеть девять ячеек памяти, используемых директивой сборки?
Я работаю над практической задачей из Lc3 Assembly (проблема 1Б) Проблема: сколько ячеек памяти используется следующей директивой сборки: .STRINGZ “Football” Ответ 9, что имеет смысл для меня, исходя из здесь , чтобы в одном месте...
56 просмотров

Преобразование машинного кода MIPS BNE
Я пытаюсь преобразовать около 25 строк программы MIPS из машинного кода в инструкции. Когда я конвертирую машинный код 0x1620fff9 , он дает следующее: 000101 10001 00000 1111 1111 1111 1001 Я понимаю, что это I-формат, а инструкция - BNE с...
919 просмотров

Меньше или равно 8004 (машинный код)
Я прохожу курс, и я застрял на одной из головоломок расширения. Он не отмечен и ни к чему не относится. Я проведу вас через свои размышления. Любые (очень) тонкие намеки будут оценены, я все еще хотел бы понять это сам, но я зашел в тупик. Вот...
95 просмотров
schedule 12.06.2023

RISC-V: варианты немедленного кодирования
В Руководстве по набору инструкций RISC-V, пользовательский уровень ISA, я не мог понять раздел 2.3 «Немедленные варианты кодирования» на стр. 11. Существует четыре типа команд формата R, I, S и U, а также варианты типов S и U, которые являются SB...
6552 просмотров

Как компьютер различает данные и инструкции?
Я смотрел видео на 8-битном компьютере, которому загружали программу - вручную, с использованием физики переключатели. Кормленная программа была: MAIN: 0000 0001 0100 # 0 = LDA [4] 0001 0010 0101 # 1 = ADD [5] 0010 0101...
2070 просмотров

Кодирование целевого адреса для инструкций J-типа в сборке (MIPS)
Согласно моим заметкам в классе, в MIPS кодировка инструкции перехода составляет 6 бит для кода операции и 26 бит для целевого адреса. Но адреса 32-битные, так какая часть адресов не учитывается? Рассмотрим инструкцию j (код операции 2 -> 000010...
966 просмотров

Почему для кодирования векторных инструкций все еще используется дополнение до единицы?
В ответе jww указывается, что дополнение 1 все еще используется при кодировании векторных инструкций на архитектурах Intel, и Руслан поясняет, что эти инструкции используются все чаще, поскольку автоматическая векторизация становится обычным...
153 просмотров

Ссылка на регистры в машинном коде
Я смотрю код сборки и соответствующий дамп памяти, и мне сложно понять, что происходит. Я использую это как ссылку для кодов операций для x86 и это справочник по регистрам в x86 . Я столкнулся с этими командами и понял, что все еще упускаю...
937 просмотров
schedule 26.07.2023

Ассемблер GAS не использует 2-байтовую относительную кодировку смещения JMP (только 1-байтовую или 4-байтовую)
Я пытаюсь написать шелл-код для задачи CTF, не допускающей байтов 0x00 (это будет интерпретироваться как терминатор). Из-за ограничений в задаче я должен сделать что-то вроде этого: [shellcode bulk] [(0x514 - sizeof(shellcode bulk)) filler...
869 просмотров