草庐IT

obfuscator-llvm

全部标签

安卓数据绑定(bind) : Wrong BR class generated for obfuscated AAR

我想提供一个使用Android数据绑定(bind)的混淆AAR库。当我从测试应用程序中使用该库时,只要该库未被ProGuard缩小,一切都可以正常工作。但是,在启用ProGuard之后,测试应用程序不再编译,因为无法找到生成的数据绑定(bind)类中的BR字段。由于找不到关于这个“特定”主题的任何官方文档,我试图了解Android数据绑定(bind)背后的魔力。机制大概是这样的(如有错误请指正):为了在AAR库中使用数据绑定(bind),嵌入应用程序也必须启用数据绑定(bind)。这是因为包含数据绑定(bind)指令的布局资源未经修改就包含在AAR中。因此,嵌入应用程序有责任为库中的布

android - llvm-rs-cc 缺少 Android Studio

我已经重新安装了AndroidStudio,但是当我打开一个新的空白项目时,我在首次自动构建期间遇到了这个错误:Cause:llvm-rs-ccismissing该项目中没有任何内容。我最近卸载了AndroidStudio,并且删除了文档文件夹中的几个项目。我最近也刚刚从系统镜像(安装了AndroidStudio的位置...当此错误开始弹出时我将其卸载)恢复。编辑我从事一个大型项目已经有一段时间了,我有很多文件和代码。我前段时间完成了代码,我只是为已经制作和实现的文本文件添加内容。我上面描述的空白项目是我测试以确保问题不在我的代码中。当这个错误弹出时(在gradle升级到4.6之后),

PowerShell木马免杀利器: Invoke-Obfuscation(过火绒)

Invoke-Obfuscation简介Invoke-Obfuscation工具下载地址:https://github.com/danielbohannon/Invoke-ObfuscationInvoke-Obfuscation是一款PowerShell混淆工具,可以将PowerShell脚本加密,使得它的检测和分析变得更加困难。该工具包含多种加密方法,可以单独使用也可以结合使用,以提高混淆的效果。Invoke-Obfuscation还有多个选项可以选择,如TOKEN、AST、STRING、ENCODING、COMPRESS和LAUNCHER,可以帮助你更好地混淆脚本简单演示1.CS生成ps

Android 库项目 : Obfuscate and keep resources

我想用Proguard编译我的Android项目和一些额外的Android库项目。事实上,大部分代码和资源都在这些库中。我在主项目的project.properties中添加了行“proguard.config=proguard.cfg”,我已经配置了cfg文件(-libraryjars..\libs)。然后-右键单击​​,Android工具->导出已签名的应用程序包。ADT编译项目发布但应用程序在第一次启动时崩溃:正如我从日志中读取的那样,这是因为错误的资源指针。我反编译了项目,发现了一个很奇怪的事情:如果我在库中声明了资源,那么它上面的资源指针就变成了0。当我将行“proguard

c++ - 使用 Eclipse 调试 LLVM

我正在研究LLVM。在使用Eclipse调试它时,我遇到了某些我想查看其内容的数据结构。但是在调试时,Eclipse只给我那个特定数据结构的地址,而不是它的内容。例如在查看SmallVectorImpl&Ops的内容时,它给出了这样的内容Name:OpsDetails:@0xbfffef94Default:{...}Decimal:{...}Hex:{...}Binary:{...}Octal:{...}请告诉我是否有任何插件可用于查看这些数据结构的内容。 最佳答案 这看起来与这里提出的问题相似(另外,刚刚看到这是大量线程死灵,抱歉

c++ - LLVM 运行 PassManager(非遗留)

如何运行非旧版PassManager?我尝试执行以下操作,但在尝试使运行函数中的分析管理器无效时抛出一些异常。我还应该为初始化做些什么吗?llvm::AnalysisManagermm;PassBuilderbuilder;autopm=builder.buildModuleOptimizationPipeline(PassBuilder::OptimizationLevel::O3);pm.run(module,mm); 最佳答案 这些片段说明了如何运行和设置以在一些.c/.cpp文件上运行现代自定义函数和模块传递...用一个ma

c++ - 在 orcjit 或 lli 中运行 RxCpp 时出现 llvm 错误 : Relocation not implemented yet!

我想在llvm的IR解释器lli中运行RxCpp示例。不幸的是,在lli中运行任何RxCpp示例都失败了:gitclonehttps://github.com/Reactive-Extensions/RxCpp.git--depth1cdRxCpp/Rx/v2/examples/pythogerianclang++-S-emit-llvm-fno-use-cxa-exit-I../../srcmain.cppllimain.ll错误信息:Relocationtypenotimplementedyet!UNREACHABLEexecutedatllvm/lib/ExecutionEngi

c++ - 如何使用我的 LLVM 中的现有函数传递 - 传递?

我一直在使用LLVM,我对如何使用与我自己的pass不同的已经存在的pass感到困惑?准确地说,我的程序需要对任何给定指令进行优势边界计算。LLVM已经具有作为函数传递实现的Dominance函数类。我如何在我的ModulePass中调用它/使用它? 最佳答案 警告:我没有实际经验,答案可能不正确或已过时。(它主要基于过时的LLVM资源:version1.3。)添加一个包含:#include"llvm/Analysis/DominanceFrontier.h"如果您的传递是函数传递,请将方法添加到您的类中(如果未实现):virtua

c++ - 从 LLVM IR 获取精确的行/列调试信息

我试图通过行号和列号(由第三方工具报告)在LLVMPass中定位指令以检测它们。为此,我使用clang-g-O0-emit-llvm编译我的源文件,并使用以下代码在元数据中查找信息:constDebugLoc&location=instruction->getDebugLoc();//location.getLine()//location.getCol()不幸的是,此信息绝对不准确。考虑斐波那契函数的以下实现:unsignedfib(unsignedn){if(n我想在生成的LLVMIR中找到与赋值unsignedf=...对应的单个LLVM指令。我对右侧的所有计算都不感兴趣。包含相

c++ - LLVM 优化器不能处理简单的情况?

我写了一个如下所示的.cpp文件intmain(){inta,b;scanf("%d",&b);for(inti=0;i10)a=3;}returna;}然后我用-O3选项通过clang编译这段代码,输出的.ll文件是definei32@main()#0{entry:%b=allocai32,align4%call=calli32(i8*,...)*@scanf(i8*getelementptrinbounds([3xi8]*@.str,i320,i320),i32*%b)%0=loadi32*%b,align4,!tbaa!1%cmp1=icmpsgti32%0,10%.=selec