Hi,
First off. Sark is what I've always wished the IDA API looked like. Thank you so much for reigniting the joy and excitement of binary analysis!! The graph API looks extremely powerful, and the concepts of Sark feel very well thought out. Hats off!
Now, for the issue I happened to stumble upon today, when exploring what the Sark world had to offer.
It seems there is currently a discrepancy between how IDA and Sark handles is_code and is_tail (I did not check is_data, but it would make sense to check that too as part of this issue).
The proof of concept is as follows:
Python>is_code(idc.GetFlags(0x4785A4))
True
Python>is_code(idc.GetFlags(0x4785A5))
False
Python>is_tail(idc.GetFlags(0x4785A4))
False
Python>is_tail(idc.GetFlags(0x4785A5))
True
Python>sark.Line(ea=0x4785A4).is_code
True
Python>sark.Line(ea=0x4785A5).is_code
True
Python>sark.Line(ea=0x4785A4).is_tail
False
Python>sark.Line(ea=0x4785A5).is_tail
False
Python>print(sark.Line(ea=0x4785A4))
[004785A4] test esi, esi
Python>print(sark.Line(ea=0x4785A5))
[004785A4] test esi, esi
I can't share this database, however, I hope this should be easy to reproduce. If not, just ping me and we'll do some troubleshooting together.
Oh, and for the record, this is at IDA 7.3, using the 6.x branch of Sark (downloaded today, so should be the latest).
Cheers,
Robin
Hi,
First off. Sark is what I've always wished the IDA API looked like. Thank you so much for reigniting the joy and excitement of binary analysis!! The graph API looks extremely powerful, and the concepts of Sark feel very well thought out. Hats off!
Now, for the issue I happened to stumble upon today, when exploring what the Sark world had to offer.
It seems there is currently a discrepancy between how IDA and Sark handles
is_codeandis_tail(I did not checkis_data, but it would make sense to check that too as part of this issue).The proof of concept is as follows:
I can't share this database, however, I hope this should be easy to reproduce. If not, just ping me and we'll do some troubleshooting together.
Oh, and for the record, this is at IDA 7.3, using the 6.x branch of Sark (downloaded today, so should be the latest).
Cheers,
Robin