此代码打印印度地图.它是如何工作的?
#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 0;
}
Run Code Online (Sandbox Code Playgroud) 我的产品有几个组件:ASP.NET,Windows Forms App和Windows Service.95%左右的代码是用VB.NET编写的.
出于知识产权的原因,我需要对代码进行模糊处理,直到现在我一直在使用现已超过5年的dotfuscator版本.我认为现在是时候转向新一代工具了.我正在寻找的是在搜索新的混淆器时我应该考虑的一系列要求.
我知道到目前为止我应该寻找的东西:
这个问题很难在问题标题中总结出来
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]
Run Code Online (Sandbox Code Playgroud)
很抱歉破坏了惊喜但是当评估它时会返回:
"I love you" in Chrome
"I lone you" In Firefox
"I lo[e you" in IE10
Run Code Online (Sandbox Code Playgroud)
分解时的工作方式是生成一系列消息并从中拉出字母(使用"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
[[]+1/!1][1^1][1>>1]
Takes the first (1>>1 == 0) char of that string
"I"
Run Code Online (Sandbox Code Playgroud)
生成的其他字符串包括:
({}+[]) -> "[object Object]" (where the space comes from)
([]+!!-[]) -> …Run Code Online (Sandbox Code Playgroud) 过去几天我一直在努力更新我的个人网站.我的个人网站的URL是(我的名字).(我的姓).com,因为我的姓氏很不寻常,我很幸运能够拿起域名.我的电子邮件地址是(我的名字)@(我的姓).com.所以真的,当它归结为猜测时,它并不是很难.
无论如何,我想将mailto:链接集成到我的网站,以便人们可以联系我.而且,尽管我的电子邮件地址不是很难猜测,但我宁愿不让垃圾邮件机器人收集它,只是抓取网站的电子邮件地址模式并将它们添加到他们的数据库中.
我最好的方法是混淆我的电子邮件地址,最好是链接形式?我所知道的方法是:
<a href="mailto:x@y.com">e-mail me</a>
Run Code Online (Sandbox Code Playgroud)
它有效,但这也意味着,一旦我的网站访问谷歌,我将趟垃圾邮件,因为垃圾邮件机器人很容易选择我的电子邮件地址.
<img src="images/e-mail.png" />
Run Code Online (Sandbox Code Playgroud)
这是不太理想的,因为访客不仅无法点击它向我发送电子邮件,而且更聪明的垃圾邮件机器人可能能够检测到图像包含的字符.
我知道可能没有完美的解决方案,但我只是想知道每个人都认为最好的.我绝对愿意在必要时使用JavaScript,因为我的网站已经使用了大量的JavaScript.
我想自动化一个相当简单的任务.为此,我编写了一个小PHP脚本,我使用PHP-CLI从命令行运行.现在我想把这个脚本移交给某人,但我不想:
有没有办法创建PHP脚本的.exe版本.我真的不太担心去编译; 我更担心要求人们安装和配置PHP.
关于ProGuard for Android的新文档说,要在项目主目录的default.properties文件中添加一行.但是,在打开此文件时,我在顶部阅读:
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
另外,有没有办法让ProGuard仅用于Eclipse的生产构建(即,在导出成品时)?
我正在开发一个安全软件,并希望模糊我的java代码,因此无法进行逆向工程.什么是最可靠的java混淆器?
我需要在我的C++应用程序中存储敏感信息(我想保密的对称加密密钥).简单的方法是这样做:
std::string myKey = "mysupersupersecretpasswordthatyouwillneverguess";
但是,通过该strings过程(或从二进制应用程序中提取字符串的任何其他应用程序)运行应用程序将显示上述字符串.
应使用哪些技术来掩盖这些敏感数据?
编辑:
好的,所以你们所有人都说"你的可执行文件可以进行逆向工程" - 当然!这是我的一个宠儿,所以我要在这里咆哮:
为什么99%(好吧,或许我夸大一点)这个网站上所有与安全相关的问题都会被"没有可能的方法来创建一个完全安全的程序"所回答 - 这不是一个有用的回答!安全性是完美可用性与一端无安全性之间的滑动尺度,完美的安全性,但另一方面没有可用性.
关键在于,您可以根据您要执行的操作以及运行软件的环境来选择滑动比例.我不是在为军事装置编写应用程序,我正在为家用PC编写应用程序.我需要使用预先知道的加密密钥在不受信任的网络上加密数据.在这些情况下,"通过默默无闻的安全"可能已经足够了!当然,有足够时间,精力和技能的人可以对二进制文件进行逆向工程并找到密码,但猜猜是什么?我不在乎:
实施顶级安全系统所花费的时间比破解版本的销售损失更为昂贵(不是说我实际上是卖这个,但你明白了我的意思).在新程序员的编程中,这个蓝天"让我们尽可能做到绝对最好的方式"的趋势至少可以说是愚蠢的.
感谢您抽出宝贵时间回答这个问题 - 他们最有帮助.不幸的是,我只能接受一个答案,但我已经投了所有有用的答案.
#include <stdio.h>
#define decode(s,t,u,m,p,e,d) m##s##u##t
#define begin decode(a,n,i,m,a,t,e)
int begin()
{
printf("Ha HA see how it is?? ");
}
Run Code Online (Sandbox Code Playgroud)
这间接打电话main吗?怎么样?
用户是否能够将我的应用程序的apk文件转换回实际代码?如果他们这样做 - 有什么办法可以阻止这种情况吗?