谢谢分享。 对使用capstone做basic block划分不理解。 i.groups的意思是这个指令在语义上属于哪个分组。 ed7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0j5i4m8K6N6r3!0F1k6g2)9J5k6r3g2F1k6$3W2F1k6g2)9J5k6h3!0J5k6#2)9J5c8X3I4S2L8X3N6Q4y4h3k6H3P5i4c8Z5L8$3&6Q4x3X3g2Z5N6r3#2D9 Check if this instruction belongs to any semantic group. If so, print out all group ID. 例如 bl #0x12b5b8 i.groups返回1和7,从代码上看好像对应: ARM64_GRP_JUMP 1 ARM64_GRP_BRANCH_RELATIVE 7
用capstone-4.0.1跑附件的so,看到的分组是这样: start 0x70438L, end 0x704c8L start 0x70438L, end 0x704c8L start 0x70438L, end 0x704c8L start 0x70438L, end 0x704c8L start 0x70438L, end 0x704c8L start 0x70438L, end 0x704c8L start 0x70438L, end 0x704c8L 怎么能获得正确的分组呢?