zoukankan      html  css  js  c++  java
  • 无需添加引用执行JS,发布无需带DLL、例子:QQMD5 QQGTK 13位时间戳 取随机数

    javascriptDemo.rar

    本人写POST经常会遇到用JS来加密的一些网站,然后又不想用C#重写。
    在百度和论坛里找的JS执行不是64位不支持就是要带个DLL神马的。很讨厌。
    然后自己就写了个不需要带DLL的。而且支持所有系统哟(64位也一样)(服务器2003多线程POST1个月没崩溃过)

    <ignore_js_op>



    先来一个取13位时间戳的 相信玩POST的都比较常见 比如:1410106357535

    [C#] 纯文本查看 复制代码
                Type obj = Type.GetTypeFromProgID("ScriptControl");
                if (obj == null) return; //单身? 找不到对象啊,
                object ScriptControl = Activator.CreateInstance(obj);
                obj.InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JScript" });
                string js = "function time(){return new Date().getTime()}";
                obj.InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
                string str = obj.InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time()" }).ToString();
                textBox1.Text = str;



    继续 取随机数 比如:0.0117551307930485

    [C#] 纯文本查看 复制代码
                Type obj = Type.GetTypeFromProgID("ScriptControl");
                if (obj == null) return; //单身? 找不到对象啊,
                object ScriptControl = Activator.CreateInstance(obj);
                obj.InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JScript" });
                string js = "function random(){return Math.random()}";
                obj.InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
                string str = obj.InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "random()" }).ToString();
                textBox1.Text = str;



    继续 计算表达式 比如:表达式:(5*10-2*10)/2 结果为 15

    [C#] 纯文本查看 复制代码
                Type obj = Type.GetTypeFromProgID("ScriptControl");
                if (obj == null) return; //单身? 找不到对象啊,
                object ScriptControl = Activator.CreateInstance(obj);
                obj.InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JScript" });
                string str = obj.InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "(5*10-2*10)/2" }).ToString();
                textBox1.Text = "(5*10-2*10)/2=" + str;



    继续 QQ空间的GTK 比如:193432059

    [C#] 纯文本查看 复制代码
                StringBuilder sb = new StringBuilder();
                sb.Append("function getGtk(str) {");
                sb.Append("var hash = 5381;");
                sb.Append("for (var i = 0,");
                sb.Append("len = str.length; i < len; ++i) {");
                sb.Append("    hash += (hash << 5) + str.charAt(i).charCodeAt();");
                sb.Append("}");
                sb.Append("return hash & 0x7fffffff;");
                sb.Append("}");

                Type obj = Type.GetTypeFromProgID("ScriptControl");
                if (obj == null) return; //单身? 找不到对象啊,
                object ScriptControl = Activator.CreateInstance(obj);
                obj.InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JScript" });
                obj.InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { sb.ToString() });
                string str = obj.InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "getGtk("123")" }).ToString();
                textBox1.Text = str;
  • 相关阅读:
    作品-系统-[原生开发]新蓝景CRM管理系统
    作品-网站-[二次开发]汇名惠商城
    js声明json数据,打印json数据,遍历json数据,转换json数据为数组
    js 鼠标滚动到某屏时,加载那一屏的数据,仿京东首页楼层异步加载模式
    js转换数据类型为浮点型,并取两位小数点
    php判断是否是微信客户端的浏览器访问
    百度地图API地理位置和坐标转换
    php 对象中连贯执行方法
    php extract 函数的妙用 数组键名为声明为变量,键值赋值为变量内容
    php 获取远程图片保存到本地
  • 原文地址:https://www.cnblogs.com/chengulv/p/3979845.html
Copyright © 2011-2022 走看看