securing / IOSSecuritySuite

iOS platform security & anti-tampering Swift library
https://www.securing.biz/
Other
2.34k stars 281 forks source link

Search for binding symbols also via `LC_DYLD_CHAINED_FIXUPS` #123

Open p-x9 opened 5 months ago

p-x9 commented 5 months ago

Hello, I have implemented the following Issue.

117

To check if it works correctly, follow the steps below.

  1. Before introducing this pull request, set the Minimum Deployment of the app to higher than iOS14
  2. Execute the executeAntiHook function in the ViewController to check the print operation. (This function seems to be commented out now.) (The contents of `myPrint' must be commented out, otherwise it seems to loop infinitely.)
  3. Perhaps print("print has been antiHooked") doesn't actually print.
  4. It will be printed after the introduction of this pullquist.

https://github.com/p-x9/swift-anti-fishhook

r3ggi commented 4 months ago

Hey! Thanks for the PR. We'll definitely accept your PR but in the later time (probably when iOS 18 will be out). Your change requires the minimum app deployment of the app to iOS 14 which can break the backwards compatibility

p-x9 commented 4 months ago

Thanks

Even in iOS14 or later, if -no_fixup_chains is set in the linker flags, the binding symbol will be included in the dyld info as before.

Therefore, I think backward compatibility must be maintained.