编码器在线解密(编码器在线解密教程)

2023-03-01 3:35:47 摩斯密码知识 思思

关于 JS l1ll 代码解密

;userid=1095host=;fpage=1

在做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的JAVASCRIPT代码常常被别人轻易的拷贝,实在让自己的心里有点不是滋味,要知道自己写点东西也挺累的......^*^

但我们也应该清楚地认识到因为JAVASCRIPT代码是在IE中解释执行,要想绝对的保密是不可能的,我们要做的就是尽可能的增大拷贝者复制的难度,让他知难而退(但愿~!~),下面我结合自己这几年来的实践,及个人研究的心得,和大家一起来探讨一下网页中JAVASCRIPT代码的加密解密技术。

以加密下面的JAVASCRIPT代码为例:

SCRIPT LANGUAGE="JavaScript"

alert("《黑客防线》");

/SCRIPT

一:最简单的加密解密

大家对于JAVASCRIPT函数escape()和unescape()想必是比较了解啦(很多网页加密在用它们),分别是编码和解码字符串,比如例子代码用escape()函数加密后变为如下格式:

alert%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B

如何?还看的懂吗?当然其中的ASCII字符"alert"并没有被加密,如果愿意我们可以写点JAVASCRIPT代码重新把它加密如下:

%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B

呵呵!如何?这次是完全都加密了!

当然,这样加密后的代码是不能直接运行的,幸好还有eval(codeString)可用,这个函数的作用就是检查JavaScript代码并执行,必选项 codeString 参数是包含有效 JavaScript 代码的字符串值,加上上面的解码unescape(),加密后的结果如下:

SCRIPT LANGUAGE="JavaScript"

var code=unescape("%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B");

eval(code)

/SCRIPT

是不是很简单?不要高兴,解密也就同样的简单,解密代码都摆给别人啦(unescape())!呵呵

二:转义字符"\"的妙用

大家可能对转义字符"\"不太熟悉,但对于JavaScript提供了一些特殊字符如:\n (换行)、 \r (回车)、\' (单引号 )等应该是有所了解的吧?其实"\"后面还可以跟八进制或十六进制的数字,如字符"a"则可以表示为:"1"或"\x61"(注意是小写字符"x"),至于双字节字符如汉字"黑"则仅能用十六进制表示为"\u9ED1"(注意是小写字符"u"),其中字符"u"表示是双字节字符,根据这个原理例子代码则可以表示为:

八进制转义字符串如下:

SCRIPT LANGUAGE="JavaScript"

eval("14524\u9ED1\u5BA2\u9632\u7EBF")

/SCRIPT

十六进制转义字符串如下:

SCRIPT LANGUAGE="JavaScript"

eval("\x61\x6C\x65\x72\x74\x28\x22\u9ED1\u5BA2\u9632\u7EBF\x22\x29\x3B")

/SCRIPT

这次没有了解码函数,因为JavaScript执行时会自行转换,同样解码也是很简单如下:

SCRIPT LANGUAGE="JavaScript"

alert("\x61\x6C\x65\x72\x74\x28\x22\u9ED1\u5BA2\u9632\u7EBF\x22\x29\x3B")

/SCRIPT

就会弹出对话框告诉你解密后的结果!

三:使用Microsoft出品的脚本编码器Script Encoder来进行编码

工具的使用就不多介绍啦!我是直接使用JavaScript调用控件Scripting.Encoder完成的编码!代码如下:

SCRIPT LANGUAGE="JavaScript"

var Senc=new ActiveXObject("Scripting.Encoder");

var code='SCRIPT LANGUAGE="JavaScript"\r\nalert("《黑客防线》");\r\n\/SCRIPT';

var Encode=Senc.EncodeScriptFile(".htm",code,0,"");

alert(Encode);

/SCRIPT

编码后的结果如下:

SCRIPT LANGUAGE="JScript.Encode"#@~^FgAAAA==@#@lsDD`J黑客防线r#p@#@FgMAAA==^#~@/SCRIPT

够难看懂得吧?但相应的解密工具早已出来,而且连解密网页都有!因为其解密网页代码过多,我就不多说拉!给大家介绍一下我独创的解密代码,如下:

SCRIPT LANGUAGE="JScript.Encode"

function decode(){

#@~^FgAAAA==@#@lsDD`J黑客防线r#p@#@FgMAAA==^#~@

}

alert(decode.toString());

/SCRIPT

咋样?够简单吧?它是原理是:编码后的代码运行前IE会先对其进行解码,如果我们先把加密的代码放入一个自定义函数如上面的decode()中,然后对自定义函数decode调用toString()方法,得到的将是解码后的代码!

如果你觉得这样编码得到的代码LANGUAGE属性是JScript.Encode,很容易让人识破,那么还有一个几乎不为人知的window对象的方法execScript(),其原形为:

window.execScript( sExpression, sLanguage )

参数:

sExpression:  必选项。字符串(String)。要被执行的代码。

sLanguage :  必选项。字符串(String)。指定执行的代码的语言。默认值为 Microsoft JScript

使用时,前面的"window"可以省略不写!

利用它我们可以很好的运行编码后的JavaScript代码,如下:

SCRIPT LANGUAGE="JavaScript"

execScript("#@~^FgAAAA==@#@lsDD`J黑客防线r#p@#@FgMAAA==^#~@","JScript.Encode")

/SCRIPT

你可以利用方法二对其中的""号内的字符串再进行编码,使得"JScript.Encode"以及编码特征码"#@~^"不出现,效果会更好!

四:任意添加NUL空字符(十六进制00H)

一次偶然的实验,使我发现在HTML网页中任意位置添加任意个数的"空字符",IE照样会正常显示其中的内容,并正常执行其中的JavaScript 代码,而添加的"空字符"我们在用一般的编辑器查看时,会显示形如空格或黑块,使得原码很难看懂,如用记事本查看则"空字符"会变成"空格",利用这个原理加密结果如下:(其中显示的"空格"代表"空字符")

S C RI P T L ANG U A G E =" J a v a S c r i p t "

a l er t (" 黑 客 防 线") ;

/ SC R I P T

如何?是不是显得乱七八糟的?如果不知道方法的人很难想到要去掉里面的"空字符"(00H)的!

五:无用内容混乱以及换行空格TAB大法

在JAVASCRIPT代码中我们可以加入大量的无用字符串或数字,以及无用代码和注释内容等等,使真正的有用代码埋没在其中,并把有用的代码中能加入换行、空格、TAB的地方加入大量换行、空格、TAB,并可以把正常的字符串用"\"来进行换行,这样就会使得代码难以看懂!如我加密后的形式如下:

SCRIPT LANGUAGE="JavaScript"

"xajgxsadffgds";1234567890

625623216;var $=0;alert//@$%%*()((^%^

//cctv function//

(//hhsaasajx xc

/*

asjgdsgu*/

"黑\

\

客\

防线"//ashjgfgf

/*

@#%$^%667r45fggbhytjty

*/

//window

)

;"#@$#%@#432hu";212351436

/SCRIPT

至少如果我看到这样的代码是不会有心思去分析它的,你哪?

六:自写解密函数法

这个方法和一、二差不多,只不过是自己写个函数对代码进行解密,很多VBS病毒使用这种方法对自身进行加密,来防止特征码扫描!下面是我写的一个简单的加密解密函数,

加密代码如下(详细参照文件"加密.htm"):

SCRIPT LANGUAGE="JavaScript"

function compile(code)

{

var c=String.fromCharCode(code.charCodeAt(0)+code.length);

for(var i=1;icode.length;i++){

c+=String.fromCharCode(code.charCodeAt(i)+code.charCodeAt(i-1));

}

alert(escape(c));

}

compile('alert("《黑客防线》");')

/SCRIPT

运行得到加密结果为:

o%CD%D1%D7%E6%9CJ%u9EF3%uFA73%uF1D4%u14F1%u7EE1Kd

相应的加密后解密的代码如下:

SCRIPT LANGUAGE="JavaScript"

function uncompile(code)

{

code=unescape(code);

var c=String.fromCharCode(code.charCodeAt(0)-code.length);

for(var i=1;icode.length;i++){

c+=String.fromCharCode(code.charCodeAt(i)-c.charCodeAt(i-1));

}

return c;

}

eval(uncompile("o%CD%D1%D7%E6%9CJ%u9EF3%uFA73%uF1D4%u14F1%u7EE1Kd"));

/SCRIPT

七:错误的利用

利用try{}catch(e){}结构对代码进行测试解密,虽然这个想法很好(呵呵,夸夸自己),因为实用性不大,我仅给个例子

SCRIPT LANGUAGE="JavaScript"

var a='alert("《黑客防线》");';

var c="";

for(var i=0;ia.length;i++){

c+=String.fromCharCode(a.charCodeAt(i)^61);}

alert(c);

//上面的是加密代码,当然如果真正使用这个方法时,不会把加密写上的

//现在变量c就是加密后的代码

//下面的函数t()先假设初始密码为0,解密执行,

//遇到错误则把密码加1,然后接着解密执行,直到正确运行

var d=c; //保存加密后的代码

var b=0; //假定初始密码为0

t();

function t(){

try{eval(c);}catch(e){

c="";

for(var i=0;id.length;i++){

c+=String.fromCharCode(d.charCodeAt(i)^b);}

b+=1;

t();

//setTimeout("t()",0);

}

}

/SCRIPT

视频编解码器主要作用是什么,都可以用到哪些方面?它和网上可以下载的那种视频编解码器有什么不同呢?

视频编解码器主要作用是对视频信号进行压缩和解压缩,通常这种压缩属于有损数据压缩。编码解码器的压缩率从一般的2:1~100:1不等,使处理大量的视频数据成为可能。

在日常生活中,视频编解码器的应用非常广泛。例如在DVD(MPEG-2)中,在VCD(MPEG-1)中,在各种卫星和陆上电视广播系统中,在互联网上。在线的视频素材通常是使用很多种不同的编解码器进行压缩的,为了能够正确地浏览这些素材,用户需要下载并安装编解码器包--一种为PC准备的编译好的编解码器组件。

随着高科技的快速发展,为了满足了更多领域的需求,高清视频编解码器也应运而生。高清视频编解码器可应用于:视频会议、安防监控、医疗示教、课堂录播、无人值守、庭审系统等各种环境条件下的软硬件配套服务。目前H.264是比较符合高度压缩数字视频编解码器标准。高清视频编解码器的优势就是超低延迟(一般可达到40ms),高压缩比(支持 300K-40Mbps 动态码流编码),高清画质、高帧率(1080p/60帧)。

前端怎么弄一个网页在线编码器

前端做网页在线编码器

1.点击右上角的三点,点击更多工具.

2.点击更多工具中的扩展程序.

3.将开发者模式打开.

4.将charset安装插件拖动到界面.

5.点击添加扩展程序.

6.添加成功后,关闭开发者模式.

7.打开一个网页的时候,如果乱码,那么右击网页选择charset,选择对应编码.

8.就会将编码格式纠正.

解码器详细资料大全

解码器(decoder)是一类多输入多输出组合逻辑电路器件,其可以分为:变数解码和显示解码两类。 变数解码器一般是一种较少输入变为较多输出的器件,常见的有n线-2^n线解码和8421BCD码解码两类;显示解码器用来将二进制数转换成对应的七段码,一般其可分为驱动LED和驱动LCD两类。

概述,分类,变数解码,工作原理,阐述,解码器电路结构,用解码器实现逻辑功能,使能输入端(Enable Inputs),标准中规模解码器电路,常用的显示器件工作原理,LED解码驱动电路,LCD解码驱动器, 概述 解码是编码的逆过程,在编码时,每一种二进制代码,都赋予了特定的含义,即都表示了一个确定的信号或者对象。把代码状态的特定含义“翻译”出来的过程叫做解码,实现解码操作的电路称为解码器。或者说,解码器是可以将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。 解码器 根据需要,输出信号可以是脉冲,也可以是高电平或者低电平。 分类 解码器的种类很多,但它们的工作原理和分析设计方法大同小异,其中二进制解码器、二-十进制解码器和显示解码器是三种最典型,使用十分广泛的解码电路。 解码器 二进制码解码器,也称最小项解码器,N中取一解码器,最小项解码器一般是将二进制码译为十进制码; 代码转换解码器,是从一种编码转换为另一种编码; 显示解码器,一般是将一种编码译成十进制码或特定的编码,并通过显示器件将解码器的状态显示出来。 变数解码 变数解码器是一个将n个输入变为2^n个输出的多输出端的组合逻辑电路。其模型可用下图来表示,其中输入变化的所有组合中,每个输出为1的情况仅一次,由于最小项在真值表中仅有一次为1,所以输出端为输入变数的最小项的组合。故解码器又可以称为最小项发生器电路。 工作原理 解码器是一种具有“翻译”功能的逻辑电路,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输出信号。有一些解码器设有一个和多个使能控制输入端,又成为片选端,用来控制允许解码或禁止解码。 在图1中,74138是一种3线—8线解码器 ,三个输入端CBA共有8种状态组合(000—111),可译出8个输出信号Y0—Y7。这种解码器设有三个使能输入端,当G2A与G2B均为0,且G1为1时,解码器处于工作状态,输出低电平。当解码器被禁止时,输出高电平。 图2时检测74ls138解码器时间波形的电路,使用的虚拟仪器为数字信号发生器和逻辑分析仪。数字信号发生器在一个周期内按顺序送出两组000—111的方波信号。 图3表明如何将两片3线—8线解码器连线成4线—16线解码器。其中第二片74138的使能端G1和第一片的使能端G2A接成D输入端。当D=0时,第一片74138工作,对0000—0111的输入信号进行解码输出。当D=1时,第二片74138工作,对1000—1111的输入信号进行解码输出。 在图4中 ,7442为二—十进制解码器,具有4个输入端和10个输出端。输入信号采用8421BCD码,二进制数0000—1001与十进制数0—9对应。当输入超过这个范围是无效,10个输出端均为高电平。7442电路没有使能端,因此只要输入在规定范围内,就会有一个输出端为低电平。 图5位BCD—七段显示解码器电路,LED数码管将显示与BCD码对应的十进制数0—9。因为显示解码器电路输出高电平,所以应该采用共阴极LED数码管。 编码与解码的过程刚好相反。通过编码器可对一个有效输入信号生成一组二进制代码。有的编码器设有使能端,用来控制允许编码或禁止编码。 优先编码器的功能是允许同时在几个输入端有输入信号,编码器按输入信号排定的优先顺序,只对同时输入的几个信号中优先权最高的一个进行编码。在图6中,74147为BCD优先编码器,输入和输出都是低电平有效。为了取得有效输出高电平,可在每个输出端连线一个反相器。7417只有1—9各输入端,0输入端不接入电路。这是因为7417约定,当无有效输入时,输出0的BCD代码0000。 图7是一个检测优先编码/解码功能的逻辑电路,对每一个接地的逻辑开关,数码管都会显示一个相应的十进制数。在输入端的8个逻辑开关中,代号为[7]的优先权别最高,代号为[0]的优先权别最低。 阐述 解码器电路结构 图1 在讨论解码器的功能前我们来看一下解码器的内部结构,下图是一个主要由与门电路构成的2输入解码器,其输出共有22个(即4),从图上可以每个其输出对应于一个最小项。在这电路中当输入BA的取值为10,即对应于十进制数的2时,其F2输出为高电平,其余的输出为0。 图2 下图同样是一个2输入的解码器,但由于其主要使用了与非门构成的,其每个输出对应于一个最小项的非。在这电路中,当输入BA的取会为10时,其输出F2不再为1,而是输出为0,其余的输出为1。 我们将下面这种解码器电路看作输出低电平有效(即当输入变数对应于十进制i时,其对应的第i个输出端为低电平,其余为高电平)。而前面的解码器当然就是高电平有效了。 图3 上面列出的两个电路为2输入的情况,对于输入为2个以上的情况也与此相同,同样可以有输出高电平有效的,也有输出低电平有效的。 用解码器实现逻辑功能 由于任何一组合逻辑电路都可以写成最小项表达式的形式,而解码器电路的输出列出了该电路的所有最小项表达式(或最小项的非表达式),故我们可能用解码器电路实现各种组合逻辑电路。 例 用解码电路实现F(X,Y,Z)=∑(0,1,4,6,7)=∏M(2,3,5) 我们实现该逻辑功能可以有几种方法,下图列出了四种方法,从这四个图中你应可以总结出其规律。 其中: 图a为高电平有效输出加或门的实现方法; 图b为低电平有效输出加与非门的实现方法; 图c为高电平有效输出加或非门的实现方法; 图d为低电平有效输出加与非门的实现方法; 图4 使能输入端(Enable Inputs) 在中规模集成电路中经常会碰到使能端(Enable Pin),使能端可以是输入,也可以是输出,其是用来扩展中规模积体电路功能的输入/输出端,下图a是一个2输入解码器上加上一个输入E,由于输入端E的加入,其功能发生了变化,当E=0时,其输出全部为0,而该解码器在没有加上E端时,其为高电平有效,这时其输出端没有一个处于有效工作状态,我们可以理解为E=0时,该解码器不工作;当E=1时,我们看到,其解码器可以正常工作,我们把这种输入端在E=1时能正常工作的使能端叫做高电平有效。下图b为其简化的逻辑符号。 图5 下图是使用使能端将两个2输入的解码器转变为3输入的解码器的例子,在下图中当I2为低电平时,第1个解码器的使能端为高电平,其正常工作,而第2个解码器此时不工作,于是解码器1的输出对应于输入I3I2I1的0~3;当I2为高电平时,解码器2工作,而解码器1不工作,故其输出对应于输入I2I1I0的4~7,故下图电路实现了利用使能端将2输入的解码器扩展为3输入的解码器。 图6 标准中规模解码器电路 在中规模集成电路中解码器有几种型号,使用最广的通常是74138,其是一个3到8的解码器,下图是其逻辑符号及管脚排布,下表中列出了该器件的逻辑功能,从表中可以看出其输出为低电平有效,使能端G1为高电平有效,/G2,/G3为低电平有效,当其中一个为低电平,输出端全部为1。 图7 例 试用74138实现函式F(X,Y,Z)=∑m(0,2,4,7) 用74138实现函式与前面讲到的解码器实现逻辑函式的方法相同,但须注意两点: 1.74138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门(因为每次仅一个为低电平,其余皆为高电平); 2.74138与前面不同的是,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。下图给出了其最终的电路。 图8 显示解码 常用的显示器件工作原理 在数字系统中常见的数码显示器通常有:发光二极体数码管(LED数码管)和液晶显示数码管(LCD数码管)两种。发光二极体数码管是用发光二极体构成显示数码的笔划来显示数字,由于发二极体会发光,故LED数码管适用于各种场合。液晶显示数码管是利用液晶材料在交变电压的作用下晶体材料会吸收光线,而没有交变电场作用下有笔划不会听吸光,这样就可以来显示数码,但由于液晶材料须有光时才能使用,故不能用于无外界光的场合(现在携带型电脑的液晶显示器是用背光灯的作用下可以在夜间使用),但液晶显示器有一个最大的优点就是耗电相当节省,所以广泛使用于小型计算器等小型设备的数码显示。 下图是LED数码管的内部结构及显示数码的情况,其是一个阳极连在一体的一种LED数码管,我们通常称为共阳极数码管。既然有共阳数码管,那么就有共阴数码管,这里没有画出其内部结构,请你自行画一下。 图9 LED解码驱动电路 发光二极体点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类解码器,即针对共阳极的低电平有效的解码器;针对共阴极LED的高电平输出有效的解码器。 4511是输出高电平有效的CMOS显示解码器,其输入为8421BCD码,下图和表分别4511的管脚排布、逻辑符号和逻辑功能表。 图10 图中: /LT:试灯极,低电平有效,当其为低电平时,所有笔划全部亮,如不亮表示该笔划有问题; /BL:灭灯极,低电平有效,当其为低电平时,不管输入的数据状态如何,其输出全为低电平,即所有笔划熄灭; /ST/LE:选通/锁存极,其是一个复用的功能端,当输入为低电平时,其输出与输入的变数有关;当输入为高电平时,其输出仅与该端为高电平前的状态,并且输入DCBA端不管如何变化,其显示数值保持不变。 D,C,B,A:8421BCD码输入,其D位为最位; a~g:输出端,为高电平有效,故其输出应与其阴极的数码管相对应。 LCD解码驱动器 LCD解码驱动器电路与LED的解码驱动电路不同,其输出不是高电平或低电平,而是脉冲电压,当输出有效时,其输出为交变的脉冲电压,否则为高电平或低电平。

视频解码流程

一、解码的上的:播放视频(废话)

二、解码流程:

第一步:组册组件

                av_register_all()

                例如:编码器、解码器等都属于组件

第二步:打开封装格式(其实就是打开一个文件)

                例如:.mp4、.mov、.wmv文件等等...

                avformat_open_input();

第三步:查找视频流

                如果是视频解码,那么查找视频流,如果是音频解码,那么就查找音频流

                avformat_find_stream_info();

第四步:查找视频解码器

                1、查找视频流索引位置

                2、根据视频流索引,获取解码器上下文

                3、根据解码器上下文,获得解码器ID,然后查找解码器

第五步:打开解码器

                avcodec_open2();

第六步:读取视频压缩数据-循环读取

                没读取一帧数据,立马解码一帧数据

 第七步:视频解码-播放视频-得到视频像素数据

第八步:关闭解码器-解码完成

有一个简单的 demo 供大家一起探讨,欢迎指正。

编码器在线解密(编码器在线解密教程) 第1张

网络解码器是什么?

1、硬解码器

硬解码器有两种,即DSP Based 解码器、PC Based解码器。硬解码器通常应用于监控中心,一端连接网络,一端连接监视器。主要功能是将数字信号转换成模拟视频信号,然后输出到电视墙上进行视频显示,视频信号经过编码器的解码压缩、上传、网络传输、存储转发等环节后,由解码器进行视频还原给最终用户。

2、软解码器

软解码器通常是基于主流计算机、操作系统、处理器、运行解码程序实现视频的解码、图像还原过程,解码后的图像直接在工作站的视频窗口进行浏览显示。而不是像硬件解码器那样输出到监视器。

3、万能解码器

在网络视频监控系统应用中还存在兼容性问题,也就是不同厂家编解码设备之间的互联互通问题。万能解码器便能解决这个问题。工作原理是“利用不同编码设备厂家的解码库”,首先将视频践行解码,然后得到解码后的YUV色彩空间数据流,再还原输出到电视墙上。在解码系统接收到视频流后,首先判断该视频流的厂家,然后再去调用相应的厂家的解码库,对该视频进行解码,再讲解码后的YUV数据输出到万能解码卡就可以实现视频还原显示。