darvincisec / DetectTamper

Tamper detection in Android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How does the code integrity check work

jhftss opened this issue · comments

Execuse me,
I just wondered how the code integrity check work.
If I patch the function "is_nativelibrary_tampered" to directly return "success" in the libnative-lib.so,
then your code to check the text segment integrity will not be executed because of the patch.
So my question is how does it work?

The detection logic is expected to be used alongside app's core logic in native, wherein the explicit symbols exported in this project will never show up as it is showing here.

The detection logic is expected to be used alongside app's core logic in native, wherein the explicit symbols exported in this project will never show up as it is showing here.

I think I can reverse and patch the detection logic directly by debugging, even without the assistance of the explicit symbols. It is easy to do that.

Well, there is no denial of the fact that any binary can be reversed. The point here is the extra time it takes to identify the logic vs attacking known interfaces used for signature verification.