Какое программное обеспечение, которое я управляю, использует AVX (или определенную инструкцию сборки)?

Я не знаю ни одной оболочки, в которой есть такой оператор. Однако в большинстве оболочек (за исключением ksh) вы можете незаметно переключать xtrace с помощью:

{
  case $- in
    (*x*) set +x;;
    (*) set -x
  esac
} 2> /dev/null

Таким образом, вы можете сделать его псевдонимом:

alias 'xx={
  case $- in
    (*x*) set +x;;
    (*) set -x
  esac
} 2> /dev/null'

И использовать как:

set -x
echo traced
xx; echo not traced; xx
echo traced
set +x

Обратите внимание, что с bash, вам понадобится shopt -s expand_aliases для псевдонимов, которые будут раскрыты в неинтерактивных оболочках (например, в скриптах).

1
27.10.2018, 03:05
1 ответ

Radare2 принимает ассемблерные команды только в нижнем регистре. Следующее должно работать (, хотя не гарантируется возврат каких-либо результатов):

find /usr/lib -type f -name '*ssl*.so' -exec radare2 {} -qc "/c vzeroall" \;

Также можно искать ассемблерные команды, используя objdump. В этом случае ваш пример будет выглядеть так:

find /usr/lib -type f -name '*ssl*.so' -exec bash -c 'objdump -d "$0" | grep -iq vzeroall' {} \; -print

Одним из преимуществ такого подхода является возможность указывать нужные ассемблерные инструкции в виде обычных регулярных выражений.

2
27.01.2020, 23:31

Теги

Похожие вопросы