Инструкция по пропуску вызова с символом c назначение - PullRequest
0 голосов
/ 09 февраля 2020

Я работаю с angr для выполнения символов c. Я хочу пропустить инструкцию вызова с символикой c назначение. Например, если есть инструкция:

call    qword ptr [rax + 8]

И память в (rax + 8) хранит значение symboli c. Я хочу, чтобы angr пропустил эту инструкцию, и устанавливает rax для нового символа c значение . Это означает, что я хочу, чтобы angr возвращал неограниченный результат каждый раз, когда выполняется вызов symboli c, вместо фактического перехода к вызову функции.

Я знаю, что мы можем сделать это через хук, примерно так: project.hook(addr, SIM_PROCEDURES['stubs']['ReturnUnconstrained']. Проблема в том, что я не знаю адрес инструкций, который вызывает символьный адрес c, пока не достигну этой инструкции.

Есть ли способ сделать это?

Большое спасибо :)

...