开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 748|回复: 7
收起左侧

[脚本] 这段JS脚本如何翻译成E语言可用呢?

[复制链接]
结帖率:67% (4/6)
发表于 2023-2-10 09:19:34 | 显示全部楼层 |阅读模式   云南省玉溪市
40精币
[JavaScript] 纯文本查看 复制代码
var ngxCrc32Short = [
    0x00000000, 0x1DB71064, 0x3B6E20C8, 0x26D930AC,
    0x76DC4190, 0x6B6B51F4, 0x4DB26158, 0x5005713C,
    0xEDB88320, 0xF00F9344, 0xD6D6A3E8, 0xCB61B38C,
    0x9B64C2B0, 0x86D3D2D4, 0xA00AE278, 0xBDBDF21C];
    
var crc32Update = function (str) {
    var crc = 0, i = 0, len = str.length, c;
    if (len > 0) {
        while (i < len) {
            c = str[i++].charCodeAt() >>> 0;
            crc = (ngxCrc32Short[((crc ^ c) >>> 0 & 0xf) & 0xf] ^ (crc >>> 4)) >>> 0;
            crc = (ngxCrc32Short[(crc ^ (c >>> 4)) & 0xf] ^ (crc >>> 4)) >>> 0;
        }
    }
    return crc;
}

var shortenCrc = function (crc) {
    var shortCrc = 0, salt = 0x6f;
    var flag = (crc % 1000000) >>> 0;
    do
    {
        shortCrc = (flag % 100 * 289 % 397 * 33 + salt) % 100 + shortCrc * 100;
        salt += 7;
        flag = (flag - flag % 100) / 100;
    } while (flag != 0);
    return shortCrc;
}

var hashTimestamp = function (ts) {
    var hash = ts + -0x589d6766;
    return ((hash - hash % 10) / 10) % 1000000;
}

var split = function (i) {
    var i3 = i % 100, i2 = (i - i3) / 100 % 100, i1 = (i - i % 10000) / 10000 % 100;
    return [i1, i2, i3];
}

var getPassCheck = function (b) {
    b += '';
    var check = 5;
    for (var i = 0; i < b.length; i++) {
        check += parseInt(b);
    }
    return check % 10;
} 

var getPassword = function (serialNumber, offset) {
    var a = 999999 - shortenCrc(crc32Update(serialNumber)),
        c = hashTimestamp(new Date().setHours(0, 0, 0, 0) / 1000) + offset;
    var aSplit = split(a), cSplit = split(c);
    var b = (aSplit[0] - cSplit[0] + 100) % 100 + (aSplit[1] - cSplit[1] + 100) % 100 * 100 + (aSplit[2] - cSplit[2] + 100) % 100 * 10000;
    return b * 100 + getPassCheck(b);
}


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:67% (4/6)
 楼主| 发表于 2023-2-10 09:20:35 | 显示全部楼层   云南省玉溪市
最后那个“</i>”是编辑器bug,删除即可
回复

使用道具 举报

结帖率:95% (84/88)

签到天数: 13 天

发表于 2023-2-10 09:24:44 | 显示全部楼层   美国
如果是我的话我宁愿用:
脚本组件
或者是写到文件执行脚本(不推荐,可以用精易模块里面的执行脚本)
回复

使用道具 举报

结帖率:67% (4/6)
 楼主| 发表于 2023-2-10 09:25:43 | 显示全部楼层   云南省玉溪市
陽陽陽 发表于 2023-2-10 09:24
如果是我的话我宁愿用:
脚本组件
或者是写到文件执行脚本(不推荐,可以用精易模块里面的执行脚 ...

脚本组件调用来个例子吧大佬!
回复

使用道具 举报

结帖率:95% (84/88)

签到天数: 13 天

发表于 2023-2-10 09:29:37 | 显示全部楼层   美国
tink 发表于 2023-2-10 09:25
脚本组件调用来个例子吧大佬!

   脚本组件1.运行 ()的参数和返回值:

调用格式: 〈文本型〉 对象.运行 (文本型 过程或函数名,[通用型数组/非数组 参数],... ) - 脚本语言支持组件->脚本组件
    英文名称:Run
    运行指定的过程,如有返回值返回相应文本,否则返回空文本。本命令为初级对象成员命令。命令参数表中最后一个参数可以被重复添加。
    参数<1>的名称为“过程或函数名”,类型为“文本型(text)”。所要运行的过程或函数名。
    参数<2>的名称为“参数”,类型为“通用型(all)”,可以被省略,提供参数数据时可以同时提供数组或非数组数据。要执行过程或函数的参数。

    操作系统需求: Windows

补充内容 (2023-2-10 09:32):
文本那个直接放常量就行了
回复

使用道具 举报

结帖率:50% (1/2)
发表于 2023-2-10 09:36:43 | 显示全部楼层   山东省济南市
陽陽陽 发表于 2023-2-10 09:24
如果是我的话我宁愿用:
脚本组件
或者是写到文件执行脚本(不推荐,可以用精易模块里面的执行脚 ...

我赞同你的观点
回复

使用道具 举报

结帖率:100% (83/83)

签到天数: 2 天

发表于 2023-2-10 12:08:40 | 显示全部楼层   湖北省咸宁市
.版本 2

.程序集 程序集1

.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

调试输出 (WT_JS_Eval (#常量1))

返回 (0)  ' 可以根据您的需要返回任意数值


.子程序 WT_JS_Eval, 文本型, , WT-JS_DEBUG
.参数 script, 文本型, , 常量JS脚本
.参数 serialNumber, 文本型, 可空, 参数1
.参数 offset, 文本型, 可空, 参数2
.局部变量 js, 对象
.局部变量 eval, 变体型
.局部变量 ret, 文本型

' CoInitialize (0)‘线程中使用 加载COM
js.创建 (“ScriptControl”, )
js.写属性 (“Language”, “JScript”)
' 如果调试结果与工具不符,有可能是编码问题,尝试加入: 【 编码_Utf8到Ansi (到字节集 (script)) 】
js.逻辑方法 (“AddCode”, script)
eval = js.通用方法 (“Eval”, “getPassword("+#引号+serialNumber+#引号+", "+#引号+offset+#引号+")”)
ret = eval.取文本 ()
js.清除 ()
' CoUninitialize () ‘线程中使用 卸载COM
返回 (ret)
回复

使用道具 举报

结帖率:92% (49/53)

签到天数: 14 天

发表于 2023-2-10 12:34:43 | 显示全部楼层   江西省上饶市
wt–js
鬼鬼js

这些工具你值得拥有
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表