ehennenfent / binja_explain_instruction

Adds a window to Binary Ninja that explains in simple-ish English what an instruction does
Apache License 2.0
52 stars 4 forks source link

Arm64 and Arm32 instruction information links are all 404 #6

Open galenbwill opened 1 year ago

galenbwill commented 1 year ago

Describe the bug Links presented for arm64 and arm32 instructions' descriptions are out of date. For example, umull points to: https://www.keil.com/support/man/docs/armclang_asm/armclang_asm_pge1427897719730.htm

Offending instruction information With the instruction that causes the bug selected, please run the following commands in the Binary Ninja console and paste the output:

>>> from ehennenfent_binja_explain_instruction import debug_instruction
>>> debug_instruction(bv, here)
Address:
  0x100003c5c
Architecture:
  aarch64
bv.read:
  087da99b
bv.get_disassembly:
  umull   x8, w8, w9
function.get_lifted_il_at:
  x8 = mulu.dp.q(w8, w9)
function.get_lifted_ils_at:
  [<llil: x8 = mulu.dp.q(w8, w9)>]
function.get_llil_at:
  x8 = mulu.dp.q(w8, w9)
function.get_llils_at:
  [<llil: x8 = mulu.dp.q(w8, w9)>]
architecture.get_low_level_il_from_bytes:
  x8 = mulu.dp.q(w8, w9)

Expected behavior Clicking links in the Explain Instruction sidebar should lead to valid URLs for the instruction's documentation.

Platform Information (please complete the following information):

Additional context Wayback machine shows the above link was valid on 9/2018: https://web.archive.org/web/20180914001719/http://www.keil.com/support/man/docs/armclang_asm/armclang_asm_pge1427897719730.htm

galenbwill commented 1 year ago

Just wanted to add that this is a great plugin, very useful and well-designed. Thank you for this!

galenbwill commented 1 year ago

P.S. For anyone stumbling across this issue before it gets fixed, as a horrible kludge workaround, I checked out the repo into my plugins folder and ran this inside of it:


grep -rl keil | xargs -L1 sed -i.bak 's+http://www.keil+https://web.archive.org/web/20180914001719/http://www.keil+'```