Как вставить новую инструкцию по указанному адресу в radare2 - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу добавить дополнительную инструкцию ветвления по некоторым адресам.Я использую radare2.Проблема с командами вставки переписывает исходную инструкцию вместо добавления новых!

Я пытался: сначала увеличить размер файла (r + 4), добавить нулевые байты (wen 4), а затем записать (weX), ноэто не сработало

[0x00400580]> r + 4

[0x00400580]> wen 4

[0x00400580]> weX 0x400580 03000094

this исходный код, и я хочу вставить (дополнительную) новую инструкцию в 0x400580

0x0040057c 04000014 b 0x40058c

0x00400580 e01f40b9 ldr w0, [sp+ arg_1ch]

0x00400584 00040011 add w0, w0, 1

0x00400588 e01f00b9 str w0, [sp + arg_1ch]

I ожидается это будет

0x0040057c 04000014 b 0x40058c

0x00400580 03000094 bl 0x40058c

0x00400584 e01f40b9 ldr w0, [sp + 1036 * 1] 1

1 * *1036* 1*

0x00400588 00040011 add w0, w0, 1

0x0040058c e01f00b9 str w0, [sp + arg_1ch]

Но actuaВывод l составил:

0x0040057c 04000014 b 0x40058c

0x00400580 03000094 bl 0x40058c

0x00400584 00040011 add w0, w0, 1

1054 * 0x00400588 e01f00b9 str w0, [sp + arg_1ch]
...