Как вставить новую инструкцию по указанному адресу в radare2
Я хочу добавить дополнительную инструкцию филиала по некоторым адресам. Я использую radare2. Проблема, которая вставляет команды, переписывает оригинальную инструкцию вместо добавления новых!
Я пытался: сначала увеличить размер файла (r+ 4), добавить нулевые байты (wen 4), а затем написать (weX), но это не сработало
[0x00400580]> r + 4
[0x00400580]> Вэнь 4
[0x00400580]> weX 0x400580 03000094
это оригинальный код, и я хочу вставить (дополнительную) новую инструкцию в 0x400580
0x0040057c 04000014 b 0x40058c
0x00400580 e01f40b9 ldr w0, [sp + arg_1ch]
0x00400584 00040011 добавить w0, w0, 1
0x00400588 e01f00b9 str w0, [sp + arg_1ch]
Я ожидал, что это будет
0x0040057c 04000014 b 0x40058c
0x00400580 03000094 bl 0x40058c
0x00400584 e01f40b9 ldr w0, [sp + arg_1ch]
0x00400588 00040011 добавить w0, w0, 1
0x0040058c e01f00b9 str w0, [sp + arg_1ch]
Но фактический результат был:
0x0040057c 04000014 b 0x40058c
0x00400580 03000094 bl 0x40058c
0x00400584 00040011 добавить w0, w0, 1
0x00400588 e01f00b9 str w0, [sp + arg_1ch]