Публикации по теме 'machine-code'
Компилятор: обзор
Все программное обеспечение, которое мы используем каждый день, написано на каком-то языке программирования. Но чтобы запустить программу, мы должны сначала перевести ее во что-то, понятное компьютеру, и здесь на помощь приходит компилятор. Компилятор — это программа, которая преобразует программу на исходном языке в программу на целевом языке (машинном языке). Он также обнаруживает любые ошибки в процессе перевода.
Части компилятора
Существуют в основном три фазы структуры компилятора...
Pwning Binaries with Surgeon: руководство для специалистов по наступательной безопасности
С ростом популярности дистрибутивов Linux, ориентированных на безопасность, таких как Parrot OS и Kali Linux, в комплекте с их наборами наступательных инструментов безопасности и отсутствием недостатка руководств на YouTube и HackForums по их использованию, кажется, что каждый может быть «хакером». " Настоящее время. Не требуется никаких навыков или даже знаний, чтобы запустить такой инструмент, как Wifite или Fern, чтобы попытаться взломать плохо защищенную сеть Wi-Fi, но если вы зависите..
Вопросы по теме 'machine-code'
Самая переносимая библиотека для генерации динамического кода?
Я ищу наиболее переносимую библиотеку ассемблера, например asmjit или jitasm .
Когда я говорю «наиболее портативный», я имею в виду, что он имеет наибольшую поддержку для самых разных архитектур. Язык не имеет большого значения, но C++ был бы...
7191 просмотров
schedule
26.05.2022
кодировка кода операции x86: sib byte
Сейчас пытаюсь написать дизассемблер. Я нашел следующий список кодов операций и их значений, поэтому решил проанализировать его во время выполнения: http://web.archive.org/web/20150810224114/http://mprolab.teipir.gr/vivlio80X86/pentium.txt
Но я...
3059 просмотров
schedule
11.11.2023
Что означает func в наборе инструкций R-Format?
Я новичок в языке ассемблера . Я читал об архитектуре MIPS и застрял в последнем поле Формат регистра (R-Format) . Вот его визуальное представление, Может ли кто-нибудь помочь мне с что делает шестой поле означает и как мы его вычисляем?...
8468 просмотров
schedule
03.01.2023
C++ - крайне странное поведение машинного кода
Полный код находится здесь: http://pastebin.com/MM3vWmqA .
В функции fast_generator я добавил комментарии к двум операторам. Если вы переключите эти операторы, код будет работать примерно в 1,8 раза быстрее. Если вы удалите первый оператор, код...
291 просмотров
schedule
23.01.2023
Как выглядит реальный машинный код в различных точках?
Кажется, существует много мнений о том, что такое машинный код. Я слышал, что некоторые говорят, что это сборка, двоичный код или шестнадцатеричный код.
Правильно ли говорить, что машинный код — это, по сути, набор инструкций для конкретного...
8263 просмотров
schedule
29.10.2022
Библиотека для управления машинным кодом во время выполнения?
Есть ли какая-нибудь библиотека C для управления машинным кодом x86 / x64? В частности, я хотел бы изменить функцию в адресном пространстве моей программы во время выполнения.
Например, у меня есть функции foo и bar , для которых у меня есть...
355 просмотров
schedule
04.03.2024
Генерация машинного кода из C
Извините, если это наивные вопросы - я очень плохо понимаю, как C действительно работает на низком уровне.
Итак, я генерирую машинный код для записи в некоторую память mmap для выполнения. Меня смущает использование шестнадцатеричных литералов для...
1377 просмотров
schedule
24.12.2022
Получить размер инструкции по сборке
Мне нужно прочитать инструкции одну за другой из небольшого сегмента кода в памяти, и мне нужно узнать размер инструкций, которые у меня есть в памяти.
Ниже приведен пример необработанного дизассемблированного кода для объяснения моей проблемы:...
6191 просмотров
schedule
14.02.2024
машинный код для процессора 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 просмотров
schedule
02.09.2022
Преобразование машинного кода MIPS BNE
Я пытаюсь преобразовать около 25 строк программы MIPS из машинного кода в инструкции.
Когда я конвертирую машинный код 0x1620fff9 , он дает следующее: 000101 10001 00000 1111 1111 1111 1001
Я понимаю, что это I-формат, а инструкция - BNE с...
919 просмотров
schedule
25.04.2023
Меньше или равно 8004 (машинный код)
Я прохожу курс, и я застрял на одной из головоломок расширения. Он не отмечен и ни к чему не относится.
Я проведу вас через свои размышления. Любые (очень) тонкие намеки будут оценены, я все еще хотел бы понять это сам, но я зашел в тупик.
Вот...
95 просмотров
schedule
12.06.2023
RISC-V: варианты немедленного кодирования
В Руководстве по набору инструкций RISC-V, пользовательский уровень ISA, я не мог понять раздел 2.3 «Немедленные варианты кодирования» на стр. 11.
Существует четыре типа команд формата R, I, S и U, а также варианты типов S и U, которые являются SB...
6552 просмотров
schedule
15.05.2022
Как компьютер различает данные и инструкции?
Я смотрел видео на 8-битном компьютере, которому загружали программу - вручную, с использованием физики переключатели.
Кормленная программа была:
MAIN:
0000 0001 0100 # 0 = LDA [4]
0001 0010 0101 # 1 = ADD [5]
0010 0101...
2070 просмотров
schedule
24.04.2022
Кодирование целевого адреса для инструкций J-типа в сборке (MIPS)
Согласно моим заметкам в классе, в MIPS кодировка инструкции перехода составляет 6 бит для кода операции и 26 бит для целевого адреса. Но адреса 32-битные, так какая часть адресов не учитывается? Рассмотрим инструкцию j (код операции 2 -> 000010...
966 просмотров
schedule
15.01.2023
Почему для кодирования векторных инструкций все еще используется дополнение до единицы?
В ответе jww указывается, что дополнение 1 все еще используется при кодировании векторных инструкций на архитектурах Intel, и Руслан поясняет, что эти инструкции используются все чаще, поскольку автоматическая векторизация становится обычным...
153 просмотров
schedule
11.05.2023
Ссылка на регистры в машинном коде
Я смотрю код сборки и соответствующий дамп памяти, и мне сложно понять, что происходит. Я использую это как ссылку для кодов операций для x86 и это справочник по регистрам в x86 . Я столкнулся с этими командами и понял, что все еще упускаю...
937 просмотров
schedule
26.07.2023
Ассемблер GAS не использует 2-байтовую относительную кодировку смещения JMP (только 1-байтовую или 4-байтовую)
Я пытаюсь написать шелл-код для задачи CTF, не допускающей байтов 0x00 (это будет интерпретироваться как терминатор). Из-за ограничений в задаче я должен сделать что-то вроде этого:
[shellcode bulk]
[(0x514 - sizeof(shellcode bulk)) filler...
869 просмотров
schedule
03.07.2023