-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
大佬,IPObfuscationContext是干什么的 #14
Comments
忘了。好像是有兼容性问题? |
IPObfuscationContext 主要是用来生成 MySecret 的信息的,具体可以参考原版 Control Flow Flattening 和 IndirectCall 这两个 Pass 中的代码,这个移植作者采用的方案是直接不使用生成的 SecretArg,而是使用 0 代替;而在原版中的逻辑是只有当 SecretArg 生成失败了才会使用 0 代替,因此这样直接导致了 goron 特色消失 |
MySecret具体是什么东西呢?如果使用了MySecret,goron会有什么不同 |
举个栗子,下面代码取自 goron IndirectCall
以上就是原版的 goron 逻辑,追踪到 IPObfuscationContext 中可以看到下面的代码
你可以把 MySecret 当成一个密钥;至于有什么不同,当然是增加攻击者攻击的难度,下面引用 @61bcdefg 大佬的一句话解释:
这个版本中直接丢掉了 IPObfuscationContext,四舍五入就是 key = 0 |
原来如此,大佬能否将IPObfuscationContext也适配进llvm17呢 |
可以询问项目的原作者或者自己移植,我暂时对这个不感兴趣 & 没有时间 |
大佬,goron中有IPObfuscationContext.cpp,但是你移植过来的就删掉了,这个具体是干什么的,请大佬解答解答
The text was updated successfully, but these errors were encountered: