Java API aracılığıyla CALLOTHER Pcode Talimatının Çağrı Dizisine Erişmek
Oct 05 2020
Java'da Pcode üzerinde yineleme yaparken bir CALLOTHER Pcode komutunun çağrı dizesine erişmenin bir yolu var mı? Aşağıdaki liste, ne demek istediğimin bir örneğini göstermektedir:
048
LAB_0001b034 XREF[1]: 0001b024(j)
0001b034 36 7f ff e6 rbit r7,r6
r7 = CALLOTHER "ReverseBitOrder", r6
Bu örnekte, "ReverseBitOrder" dizesini almak istiyorum.
Ne yazık ki, bu girdi nesnesi dışında talimat bilgisinde hiçbir ipucu yok:
const:0x3c
Verilen dizgeye çevrilmiyor ve ayrıca bellekte bir konum bulmak için dizeye tıklayamıyorum. Ayrıca Pcode, Instruction vb. API belgelerine de baktım, ancak yararlı bir şey bulamadım.
Yanıtlar
1 mumbel Oct 05 2020 at 23:04
Bunu yapan bir ghidra_script var, bkz. https://github.com/NationalSecurityAgency/ghidra/blob/master/Ghidra/Features/Base/ghidra_scripts/MarkCallOtherPcode.java
temelde:
op = getInstructionAt(toAddr(0x1b034)).getPcode()[0]
currentProgram.getLanguage().getUserDefinedOpName(op.getInput(0).getOffset()))
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'