antiFishhook 1.0.0

antiFishhook 1.0.0

jintao 保持。



  • By
  • jintao

AntiFishhook

AntiFishhook 是一个为 fishhook 运行时提供的 AntiHook 库(使 fishhook 无法工作)。
包含 fishhookanti-fishhook

如何工作

注意

请运行或测试在手机(arm64)而非模拟器上
Swift 函数名混淆

使用方法

antiFishhook(Swift)

import antiFishhook

resetSymbol("$s10Foundation5NSLogyySS_s7CVarArg_pdtF")  // Swift's Foudation.NSLog  
NSLog("Hello AntiFishHook")

resetSymbol("printf")                                  // printf
printf("Hello AntiFishHook")

antiFishhook(C/Objc)

#include "antiFishhook-Swift.h"

+ (void)antiFishhook {
    resetSymbol(@"$s10Foundation5NSLogyySS_s7CVarArg_pdtF");  // Swift's Foudation.NSLog
    resetSymbol(@"printf");                                 // printf
}

fishhook(仅适用于Swift)

typealias MyNSLog = @convention(thin) (_ format: String, _ args: CVarArg...) -> Void

func myNSLog(_ format: String, _ args: CVarArg...) {
    print("Hello fishHook")
}

let selfNSLog: MyNSLog  = myNSLog
let selfNSLogPointer = unsafeBitCast(selfNSLog, to: UnsafeMutableRawPointer.self)
var origNSLogPointer: UnsafeMutableRawPointer?

replaceSymbol("$s10Foundation5NSLogyySS_s7CVarArg_pdtF", newMethod: selfNSLogPointer, oldMethod: &origNSLogPointer)

NSLog("Hello World")
// will print Hello fishHook

建议

使用时,请在项目中添加源文件而不是使用pod