Open sidra-asa opened 1 year ago
Hi, are there any updates? I found a similar issue while analyzing another sample with rizin 0.6.3.
The output of the pdr
and pdrj
commands are inconsistent. At 0x100069823(4295399459)
, the output of pdr
seems to be a string, but the one of pdrj
seems to be aget-byte
. So I think that there might be some issues between the pdr
and pdrj
. I hope the information will be helpful.
$ rizin -v
rizin 0.6.3 @ darwin-arm-64
commit: 36a1bf3ec837dd74e4829a6535f2cab349fd4ad2
$ rizin apk://13667fe3b0ad496a0cd157f34b7e0c991d72a4db.apk
WARNING: No calling convention defined for this file, analysis may be inaccurate.
-- Move the comments to the right changing their margin with asm.cmt.margin
[0x100028498]> aa
[x] Analyze all flags starting with sym. and entry0 (aa)
[0x100028498]> pdr @ 0x100069823
│ ; DATA XREF from method.public.static.android.support.v4.app.NavUtils.void_navigateUpFromSameTask_android.app.Activity @ 0x10002d45e
│ ;-- str.Did_you_forget_to_add_the_android.support.PARENT_ACTIVITY__meta_data:
│ 0x100069823 .string " (Did you forget to add the android.support.PARENT_ACTIVITY <meta-data> " ; len=72
| ----------- true: 0x10006d7f0 false:
[0x100028498]> pdrj @ 0x100069823 ~{}
{
"offset": 4295399459,
"esil": "",
"refptr": false,
"fcn_addr": 4295267628,
"fcn_last": 4295415850,
"size": 4,
"opcode": "aget-byte v32, v40, v68",
"disasm": "aget-byte v32, v40, v68",
"bytes": "48202844",
"family": "cpu",
"type": "load",
"reloc": false,
"type_num": 32,
"type2_num": 0,
"flags": [
"str.Did_you_forget_to_add_the_android.support.PARENT_ACTIVITY__meta_data"
],
"xrefs_to": [
{
"addr": 4295152734,
"type": "DATA"
}
]
},
Work environment
rizin -v
full output, not truncated (mandatory)Expected behavior
The disassembly from command pdr and pdrj should be consistent.
Actual behavior
When I analyzing an APK(SHA1: 42b25b60aa7d6d9f0b388c10a45e8a8f8c1fc718), the disassembly from command pdr and pdrj are not consistent.
Take address 4295070996 as an example. After I run aaaa command, pdr returns the method ended with goto instruction but pdrj returns extra instructions which are not showed in pdr.
Steps to reproduce the behavior
Get the APK here and analyze it as follows.
Please let me know if anything is unclear.