首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >混淆API是什么意思?

混淆API是什么意思?
EN

Stack Overflow用户
提问于 2018-09-18 13:28:27
回答 1查看 1.6K关注 0票数 1

我目前正在阅读一篇关于模糊处理的研究论文。这是与我的问题相关的论文部分。

虽然当前的混淆方案提升了一些静态分析的孤岛,如更改源代码的布局、更改控制流和修改数据,但由于缺乏API隐蔽性,它们很容易受到反向工程分析的影响。因此,需要一种定量评估方案来确保将混淆应用于具有足够抵抗力的适当API。

EN

回答 1

Stack Overflow用户

发布于 2018-09-18 14:01:30

“混淆API”可能意味着将标识符的名称,如类名、方法名、字段名等更改为非常不具描述性的名称。这样代码的读者就不会知道代码在做什么。

Proguard就是这样一个工具。Here是我找到的一篇文章,它涉及到在一个简单的类中使用Proguard来混淆私有方法。您可以看到privateStaticMethod如何转变为a,以及参数名称如何转变为paramString1paramString2

通过这样做,读者不会仅仅通过查看就知道a做了什么,因为a实际上并没有告诉他们该方法实际做了什么。a调用的方法也可能被混淆为bc,这使得了解您的代码正在做什么变得更加困难。

这里的逆向工程指的是试图弄清楚混淆后的代码最初是什么样子的。显然,与仅仅更改控制流和代码布局相比,更改方法和参数的名称会使反向工程变得更加困难。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52379499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档