Pluto icon indicating copy to clipboard operation
Pluto copied to clipboard

Bugs Report for Trap Angr And Random Control Flow

Open SsageParuders opened this issue 3 years ago • 3 comments

Please refer to the #6 https://github.com/bluesadi/Pluto-Obfuscator/issues/6#issuecomment-1044464915

SsageParuders avatar Feb 18 '22 12:02 SsageParuders

@bluesadi


更新一下最近的测试情况~ 目前尝试移植到NDK并且实测的PASS有三款,分别是:

Pluto-Obfuscator的测试版本:c0bc3ec

三款Pass都是按照bluesadi大佬在看雪论坛上的文章介绍进行移植 已经多次检查需要patch的地方(按照commit逐步检查来的) 应该是没有什么地方遗落疏忽


三款Pass在NDK中的表现,求实来说goron最为优秀: 混淆速度快,加密效果好,编译过程中无报错现象

goron好像很多地方都参考ollvm进行了相当程度的修改,算是另成体系

可惜的是,goron的作者只维护到了llvm-10,并且貌似并没有继续维护下去的意愿 本人受限于水平,也无法参考开源内容移植到llvm更高版本 因此,goron这款Pass,移植到NDK中的话,最高也就是21.4.7075529版本(llvm-9)


heroims前辈持续维护的obfuscator和bluesadi大佬维护的Pluto-Obfuscator,普遍存在如下问题:

这些问题至少在我移植的NDK中存在 并且,普遍是: --> 编译简单的Android Native不会出现报错,一旦Native层复杂起来,就会出现这些问题

至于单独使用obfuscator和Pluto-Obfuscator编译的clang,用于非NDK项目,是否存在如下情况 我没有实测,不能乱说

  • 混淆编译期间产生报错

    我测试了一下-O2 -mllvm -gle参数,在编译期间,产生报错信息,报错日志的关键部分,已上传附件:

    这个问题不单单是Pluto-Obfuscator有,obfuscator也有,而goron没有 这种问题,开启混淆参数才会报错,关闭混淆参数,则一切编译正常

    gle-build.log

  • 混淆时间极长

    部分其他参数开启以后,倒是没有在编译期间报错 但是原本2分钟编译完的项目,却是混淆了足足1小时多也没有完成编译........


后来咨询了一下在使用原版ollvm-4.0的朋友 反馈的结果是,原版ollvm-4.0也存在编译时间很长的现象 但是不存在编译时期报错的现象 (朋友同是在NDK中使用ollvm-4.0)

至此,虽然我对llvm的理解不深,个人水平也相当有限,但是不得不怀疑:

  • 原版ollvm-4.0的部分代码,移植在llvm高版本中,是否存在某些问题?
  • 这些问题是只有在NDK中使用才会出现的么?
  • Pluto-Obfuscator后续会为了适配NDK中的llvm而付出时间精力么?

当然,以上所说一切,都不排除我个人在移植过程中有某些疏忽遗漏的地方 导致编译出来的产物存在某种问题~ 但是可能性很小,复查了好几遍了

(弟弟菜菜,大佬带带)

SsageParuders avatar Apr 08 '22 15:04 SsageParuders

I'm getting the same problem that compiler takes very long time

OLLVM-9.0.1 is the best version so far for me, does not have issues like you explained

AndroidMaster24 avatar May 18 '22 08:05 AndroidMaster24

I'm getting the same problem that compiler takes very long time

OLLVM-9.0.1 is the best version so far for me, does not have issues like you explained

Thanks a lot

SsageParuders avatar May 18 '22 12:05 SsageParuders