YXScript.DLL - 一个比任何你见到的解码程序(脚本)快10000倍的组件!
对于这个问题,网上满天飞到处都是那段JavaScript的网页脚本,一大堆菜鸟拼命转载
如果脚本比较小(几KB)的时候,基本还够用,近期公司的服务器被人攻击,截获一个木马
是100KB,用那段脚本直接卡了数分钟,还只解码了一部分,没办法,求人不如求己,我干
脆写了个DLL输出标准WINDOWSAPI函数来解码,下面就对这个DLL和主要实现思想
做个探讨:
对加密后的脚本,你会发现从不出现4个字符:(CR) (LF) (<) (>),
就是说这些在vbs和asp中属于特殊字符的有特定对应的密文,有篇文章是介绍这方面
详情的,但是密码表有些地方有错误,由于微软有协议不给对产品逆向工程,我这里也不
公布密码表了,现在就YXScript.dll做较详细的介绍和VB使用的例子:
最重要的解码函数:
Declare Function YXScrDecode Lib "YXScript.dll" (ByVal Source As String, ByVal Result As String, ByVal szCount As Long) As Long
'函数原型long YXScrDecode(char *Source,char Result[],long szCount)
Source 是要解密的字符串
Result 存放结果的字符串(字节数组)
szCount 至少是Source的长度(字节)
返回值 解码后代码的长度(字节)
注:为了提高处理的速度和排除错误的影响,YXScrDecode 不校验代码的合法性
它会将整个字符串都解码,如果位置错误也会得到乱码
双字标识替换函数:
Declare Function YXControlChar Lib "YXScript.dll" (ByVal arrChar As String, ByVal szCnt As Long) As Long
'函数原型:long YXControlChar(char arrChar[],long szCnt)
arrChar 原字符串(字节数组)
szCnt 是字符串的长度
返回值 结果字符串的长度
注:为了防止参数传递错误可以用以下VB代码得到相同的效果
Script = Replace(Script, "@#", Chr(13))
Script = Replace(Script, "@&", Chr(10))
Script = Replace(Script, "@!", "<")
Script = Replace(Script, "@*", ">")
Script = Replace(Script, "@$", "@") '最后生成@
提取密码部分的函数
Declare Function YXPureScript Lib "YXScript.dll" (ByVal cArray As String, ByVal rArray As String, ByVal szCnt As Long) As Long
'函数原型long YXPureScript(char cArray[],char rArray[],long szCnt)
功能:将结果赋值到rArray 返回结果字符串长度(字节)
注释:
代码是以#@~^******==开头,以******==^#~@结尾的部分,******代表字母,
与代码的长度有关,可用于校验解码是否正确,意义不大
用Instr和Mid可实现同样功能切更准确,但速度慢些
密码表查询函数
Declare Function YXSeekChar Lib "YXScript.dll" (ByVal arrChar As String, ByVal c As Byte) As Long
'函数原型long YXSeekChar(char arrChar[],char c)
返回c在arrChar中的位置(索引)以对照找出明码
未开放函数,永远返回0
Declare Function YXScrEncode Lib "YXScript.dll" (ByVal Source As String, ByVal Result As String, ByVal szCount As Long) As Long
'long YXScrEncode(char *Source,char Result[],long szCount)
直接对文件操作的函数
Declare Function YXScrCracker Lib "YXScript.dll" (ByVal lpFileName As String, ByVal lpNewName As String) As Long
'long YXScrCracker(char *lpFileName,char *lpNewName)
功能:处理lpFileName解码保存到lpNewName,如果结果长度小于lpNewName(若已存在)
lpNewName超过的部分会保留(即二进制读写的模式)
注释:当前可能有误
1.0.0.1的DLL只测试了YXScrDecode函数,确保这个函数是正确的
下面给出一个VB的函数来展示使用过程
相关的程序源代码可以在我的下载里下载到:
http://download.csdn.net/source/2185998
借此声明,我还没有到公司上班,我要发飙某些人蜘蛛纸牌都没得玩,请勿攻击他人合法权益!
分享到:
相关推荐
;;;;;;;;... 1.... 2.... 3.... 4.... 5.... 6.... The syntax of the file is extremely simple.... Section headers (e.g.... at runtime.... There is no name validation.... (e.g.... previously set variable or directive (e.g....
js解析jwt的工具包,文章里面有具体的使用方法,可是实现用户端token解析账号和密码...
edid-decode:https:git.linuxtv.orgedid-decode.git的只读镜像
function Integer Base64DeCode(string as_code,string CodeTable,ref str_DelphiResult Result) library 'extlib.dll' ALIAS FOR "Base64DeCode;Ansi" //MD5加密 function string MD5EnCode(string as_code) ...
编译hw_decode.c #gcc -o hw_decode hw_decode.c -I/.../include -L/.../lib -lavformat -lavfilter -lavcodec -lswscale -lavutil -lswresample -lpthread -lm -lz -lX11 -lva -lvdpau -lva-drm -lva-x114....
利用zxing.dll生成和解码二维码。zxing.dll的简单应用,大家可以用反编译工具查看源码
欢迎下载使用,若遇到问题请及时私信沟通,帮助解决。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,可直接作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高...
idf_monitor also has a range of features to decode crash output and interact with the device. Check the documentation page for details. Exit the monitor by typing Ctrl-]. To build, flash and ...
jwt JS解密文件 var getUserjwt = function (token) { if (!token) { return; } } //解析jwt令牌 var jwtDecodeVal = jwt_decode(token);
Decode.exe -X -P syclovergeek sycgeek-mp3 . mp3 Decode.exe -X -p 密码 文件名 (密码一般都在文件属性、或者题目提示里找) 加密 Encode.exe -E hidden.txt -p 密码 文件名 文件首先放到同目录下 X是指获取隐藏...
var demorse = require ( 'morse-decode-stream' ) demorse . pipe ( process . stdout ) demorse . write ( '.... . .-.. .-.. ---' ) // HELLO 笔记 morse-decode-stream 需要由. s 和- s,每个编码字符用空格...
将嵌入式BT656格式数据解码出带行场同步信号的YCbCr422格式数据
? ? ? 圯 咣曹 苒 鄄苘 苘 捋圯 苘懿圻 卟圹圹圹鄄 苘懿圹坜圹曹苘 懿圹? 苘苘槽圯哌圹苘 哌卟圹圹圹圹 槽?圹圹鄄咣圹坜圹哌槽圹?...圹圹哌咣圹蒇圹 卟鄄苘 ... (TM) similar to the Windows Explorer....
This is a simple Uri parser. TODO : encode/decode
盲水印这是用Python2.7编写的用法python encode.py --image < image> --watermark < watermark> --result < result>python decode.py --original < original> --image < image> --result < result>Use --alpha to ...
leetcode 不会394.-解码字符串-c-Leetcode 给定一个编码字符串,返回它的解码字符串。 编码规则是:k[encoded_string],其中方括号内的encoded_string 正好重复k 次。 请注意,k 保证为正整数。...
(2,1,3)卷积码编译码程序。 每行代码有说明,方便阅读
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Base64 encode/decode
1997 - 2003 Sergio A.... Some minor bugs that I don‘t remember fixed.- Added MIME-compliant base64 support (not for use by now). Added examples.0.9.2.1b- Fixed a bug when send a mail and the first line ...