#опкоды — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #опкоды, aggregated by home.social.
-
От скалярной тоски к SIMD-эйфории: как подружить IDA Pro с инструкциями RISC-V P Extension
У нас в «Лаборатории Касперского» есть команда анализа защищенности, занимающаяся поиском уязвимостей в самых разнообразных системах. В ней работают эксперты, способные исследовать практически любое устройство (и публикующие технические заметки о своих находках ). Но в жизни практически каждого исследователя безопасности прошивок однажды наступает момент, когда он или она сталкивается с новым или не особо известным микроконтроллером или свежей процессорной архитектурой с кастомными расширениями. В последнее время такие моменты наступают все чаще — за прошедшие несколько лет рынок наполнился огромным количеством новых чипов из Поднебесной, в частности, на базе RISC-V, со своими собственными расширениями и реализациями ядер. И вот не так давно на анализ нашим исследователям попало устройство c таким чипом на базе RISC-V, c базовым набором инструкций RV32I и расширением P (причем еще и не последней версии), добавляющим короткие SIMD -операции (Packed-SIMD Instructions). То, что наши эксперты видели его впервые — абсолютно нормально. Но, по всей видимости, его впервые видел и IDA Pro — инструмент, которым пользуются наши исследователи. Поэтому им пришлось не только изучить ранний черновик расширения P (оно же Packed-SIMD Extension), но также реализовать поддержку IDA Pro ряда инструкций из него и произвести лифтинг, то есть трансляцию инструкций в промежуточное представление или язык, понятные декомпилятору. Именно этим опытом они и решили поделиться в данной статье. Но прежде чем переходить к описанию решения этих задач, стоит понять, с чем мы имеем дело, поэтому начать следует со знакомства с документацией по архитектуре RISC-V.
https://habr.com/ru/companies/kaspersky/articles/1005630/
#riscv #ida_pro #python #анализ_защищенности #simd_extension #rv32i #опкоды #декодер #декомпилятор #реверсинжиниринг
-
Думал что дебаггер, а на деле HexEdit: Основы работы с опкодами и патчинга для начинающих
Привет Хабр, и всем читающим! Сегодня разберемся в патчинге, в отличиях между ним и дебаггингом, и поймем как пользоваться hex-редактором для реверс-инжиниринга. (И да, я когда писал статью, перепутал термины Debugger и Hex-editor, и только под конец понял что стоит статью изменить, прошу учитывать) Дисклеймер важен, его пожалуйста прочитать обязательно! Ну и приятного чтения, господа :) Начать Исследование
https://habr.com/ru/articles/991524/
#реверсинжиниринг #дебаггинг #hexкоды #reverseengineering #опкоды #ассемблер #си #ghidra #байткод #hex_редакор
-
[Перевод] Пишем на C самоизменяющуюся программу x86_64
«Зачем вообще писать программу, меняющую код в процессе выполнения? Это же ужасная идея!» Да, всё так и есть. Но это и хороший опыт. Такое делают только тогда, когда хотят что-то исследовать, или из любопытства. Самоизменяемые/самомодифицируемые программы не обладают особой полезностью. Они усложняют отладку, программа становится зависимой от оборудования, а изучение кода превращается в очень утомительный и запутанный процесс, если только вы не опытный разработчик на ассемблере. Единственный разумный сценарий применения самоизменяемых программа в реальном мире — это механизм маскировки зловредного ПО от антивирусов. Моя цель исключительно научна, поэтому ничем подобным я заниматься не буду. Предупреждение: в этом посте активно используется язык ассемблера x86_64, в котором я ни в коем случае не являюсь специалистом. Для написания статьи мне пришлось изучать приличный объём материалов, и, возможно (почти наверняка), в ней есть ошибки.
https://habr.com/ru/companies/ruvds/articles/913546/
#самомодифицирующийся_код #шеллкодинг #опкоды #x86_64 #набор_команд #ruvds_перевод