Questions tagged «obfuscation»

混淆是更改代码的过程,开发人员发现它很难清楚地了解目标程序的作用或运行方式。程序越大,混淆就越大,因为代码变得纠结在一起,从而将整个程序段链接到不同的段。

4
混淆了C代码竞赛2006。请解释sykes2.c
这个C程序如何工作? main(_){_^448&&main(-~_);putchar(--_%64?32|-~7[__TIME__-_/8%8][">'txiZ^(~z?"-48]>>";;;====~$::199"[_*2&8|_/64]/(_&2?1:8)%8&1:10);} 它按原样编译(在上测试gcc 4.6.3)。编译时打印时间。在我的系统上: !! !!!!!! !! !!!!!! !! !!!!!! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !!!!!! !! !! !! !! !! !!!!!! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !!!!!! …


28
如何保护Python代码?
我正在用Python开发一款软件,该软件将分发给我的雇主的客户。我的雇主希望通过限时许可文件来限制软件的使用。 如果我们分发.py文件或什至.pyc文件,将很容易(反编译和)删除检查许可证文件的代码。 另一个方面是,我的雇主不希望我们的客户阅读该代码,因为担心该代码可能被盗或至少是“新颖的主意”。 有解决这个问题的好方法吗?最好使用现成的解决方案。 该软件将在Linux系统上运行(因此,我认为py2exe不会成功)。

30
保护.NET代码免受逆向工程?
混淆是一种方法,但是它不能防止破坏应用程序的盗版保护安全性。如何确保应用程序不受篡改,如何确保注册机制不能进行反向工程? 也可以将C#应用程序转换为本地代码,而Xenocode的成本太高。 C#提供了很多功能,并且是我的代码的理想语言,因此不再需要用C ++编写整个代码库。 可以轻松地从.NET中已签名的程序集中删除安全证书。

17
简单的不安全双向数据“混淆”?
我正在为某些数据寻找非常简单的混淆(例如加密和解密,但不一定安全)功能。这不是关键任务。我需要一些使诚实的人诚实的东西,但是要比ROT13或Base64强一些。 我更喜欢.NET Framework 2.0中已经包含的内容,因此我不必担心任何外部依赖关系。 我真的不想弄乱公共/私有密钥等。我对加密不了解很多,但是我知道的足够多,知道我写的任何东西都会变得一文不值...实际上,我可能会搞砸数学,使其变得微不足道。
426 c#  obfuscation 


3
什么是C中的>>> =运算符?
一位同事对此感到困惑,我无法弄清楚这个C程序实际上是如何编译和运行的。这是什么>>>=运算符和奇怪的1P1文字?我已经在Clang和GCC中进行了测试。没有警告,输出为“ ???” #include <stdio.h> int main() { int a[2]={ 10, 1 }; while( a[ 0xFULL?'\0':-1:>>>=a<:!!0X.1P1 ] ) printf("?"); return 0; }

10
是否有PHP的代码混淆器?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 有没有人为PHP使用过好的混淆器?我已经尝试了一些,但是它们不适用于大型项目。例如,它们不能处理一个文件中包含的变量和另一个文件中使用的变量。 还是您还有其他技巧可以阻止代码传播?
212 php  obfuscation 


24
保护可执行文件免受逆向工程?
我一直在考虑如何保护我的C / C ++代码免于反汇编和逆向工程。通常,我永远不会在自己的代码中宽恕这种行为。但是,为了所有人的安全,我目前正在研究的当前协议绝不能被检查或理解。 现在,这对我来说是一个新主题,互联网对于预防逆向工程并不是真正有用的资源,而是描述了大量有关如何进行逆向工程的信息 到目前为止,我想到的一些事情是: 代码注入(在实际函数调用之前和之后调用伪函数) 代码混淆(破坏二进制文件的反汇编) 编写我自己的启动例程(调试器很难绑定到) void startup(); int _start() { startup( ); exit (0) } void startup() { /* code here */ } 运行时检查调试器(如果检测到,则强制退出) 功能蹦床 void trampoline(void (*fnptr)(), bool ping = false) { if(ping) fnptr(); else trampoline(fnptr, true); } 没有意义的分配和释放(堆栈变化很多) 无意义的虚拟呼叫和蹦床(拆卸输出中的大量跳跃) 吨铸件(用于模糊拆卸) 我的意思是,这是我想到的一些事情,但是在适当的时间范围内,代码分析人员可以解决所有这些问题,或者可以由代码分析人员弄清楚这些问题。我还有别的选择吗?
210 c++  c  obfuscation  assembly 

2
此代码如何生成印度地图?
此代码打印印度地图。它是如何工作的? #include <stdio.h> main() { int a,b,c; int count = 1; for (b=c=10;a="- FIGURE?, UMKC,XYZHello Folks,\ TFy!QJu ROo TNn(ROo)SLq SLq ULo+\ UHs UJq TNn*RPn/QPbEWS_JSWQAIJO^\ NBELPeHBFHT}TnALVlBLOFAkHFOuFETp\ HCStHAUFAgcEAelclcn^r^r\\tZvYxXy\ T|S~Pn SPm SOn TNn ULo0ULo#ULo-W\ Hq!WFs XDt!" [b+++21]; ) for(; a-- > 64 ; ) putchar ( ++c=='Z' ? c = c/ 9:33^b&1); return …
169 c  obfuscation 

30
.NET模糊处理工具/策略
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 我的产品包含几个组件:ASP.NET,Windows Forms App和Windows Service。95%左右的代码是用VB.NET编写的。 出于知识产权的原因,我需要对代码进行混淆处理,直到现在为止,我一直在使用dotfuscator版本,该版本现已使用5年以上。我认为现在是时候使用新一代工具了。我正在寻找的是在寻找新的混淆器时应考虑的要求列表。 我知道到目前为止我应该寻找的是: 序列化/反序列化。在我当前的解决方案中,我只是告诉该工具不要混淆任何类数据成员,因为无法加载以前已序列化的数据的痛苦实在太大了。 与构建过程集成 使用ASP.NET。过去,由于更改.dll名称(每页通常有一个),我发现这是有问题的-并非所有工具都能很好地处理。

7
JavaScript的内置字符串是什么?
这个问题很难概括成问题标题 UPDATE 我创建了一个JSFiddle,它基于从该问题中提取的字母,从输入中构建出混淆的字符串:您可以在此处访问它,或者要旨会更容易? 最近,我在此配置文件中遇到了一些有趣的JavaScript混淆现象,如下所示: javascript:[[]+1/!1][1^1][1>>1]+({}+[])[1<<1^11>>1]+([]+!!- [])[1<<1]+[/~/+{}][+!1][-~1<<1]+([]+/-/[(!!1+[])[1>>1]+(!!1 +[])[1<<1^1]+(!1+[])[1|1<<1]+(!!1+[])[1^1]])[1^11<<1]+([,][ ~1]+[])[1-~1]+[[]+{}][!1.1%1][11111.1%11.1*111e11|!1]+(/1/+ 1/[1<1][1%1])[1^11]+[[],[]+{}][1][+1]+(/<</[1]+[])[1/1.1&1] 很抱歉破坏惊喜,但在评估后会返回以下内容: "I love you" in Chrome "I lone you" In Firefox "I lo[e you" in IE10 发生这种情况时,它的工作方式是生成一系列消息,并像这样(其中以“ I”为例)将字母拉出: []+1/!1 returns "Infinity" then [[]+1/!1] creates this array: ["Infinity"] then [[]+1/!1][1^1] Takes the first (1^1 == 0) element of that array "Infinity" finally …

28
混淆网站上电子邮件地址的最佳方法?
我花了几天的时间来更新我的个人网站。我的个人网站的网址是(我的名字)。(我的姓氏).com,因为我的姓氏很不寻常,因此我很幸运地选择了域名。我的电子邮件地址是(我的名字)@(我的名字).com。所以说真的,当归结为猜测时,并不是很难。 无论如何,我想将mailto:链接集成到我的网站中,以便人们可以与我联系。而且,尽管我的电子邮件地址不是很难猜到的,但我还是不希望垃圾邮件机器人从中获取它们,这些垃圾机器人只是抓取网站以获取电子邮件地址模式并将其添加到他们的数据库中。 对我来说,最好以链接形式混淆我的电子邮件地址的最佳方法是什么?我知道的方法是: <a href="mailto:x@y.com">e-mail me</a> 它可以工作,但是这也意味着,一旦我的网站访问Google,我就会陷入垃圾邮件中,因为垃圾邮件机器人很容易就选择了我的电子邮件地址。 <img src="images/e-mail.png" /> 这是不太理想的,因为不仅访客无法单击它来向我发送电子邮件,而且更聪明的垃圾邮件机器人可能将能够检测到图像中包含的字符。 我知道可能没有完美的解决方案,但我只是想知道每个人都认为是最好的。我绝对愿意在必要时使用JavaScript,因为我的网站已经使用了大量的JavaScript。

7
将PHP脚本转换为独立的Windows可执行文件
我想自动化一个相当简单的任务。为此,我编写了一个小的PHP脚本,该脚本从命令行使用PHP-CLI运行。现在,我想将此脚本移交给某人,但我不想: 放弃源代码 请他在系统上安装PHP 有没有一种方法来创建PHP脚本的.exe版本。我真的不太担心反编译。我更担心要求人们安装和配置PHP。
128 php  obfuscation 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.