查看: 16910|回复: 2

javascript解密游戏,老鸟飞过,新手来玩

[复制链接]
发表于 2014-5-10 03:43:13 | 显示全部楼层 |阅读模式
初学javascript,找了一些小游戏玩,觉得还不错,

代码如下

[JavaScript] 查看源码 复制代码
function checkPass(password) {
    var total = 0;
    var charlist = "abcdefghijklmnopqrstuvwxyz";
    for (var i = 0; i < password.length; i++) {
        var countone = password.charAt(i);
        var counttwo = (charlist.indexOf(countone));
        counttwo++;
        total *= 17;
        total += counttwo;
    }
    if (total == 248410397744610) {
        setTimeout(
            "location.replace('index.php?password=" + password + "'  )  ;  ", 0)
    } else {
        alert(
            "Sorry, but the password was incorrect.");
    }
}


给出正确答案 gctkyo 的一半{:soso_e113:}
如果有小伙伴解不出的话,再给出解题代码,
提示:目测不出来,用javascript解决,如果位置有两种可能优先考虑大位置
回复

使用道具 举报

 楼主| 发表于 2014-5-15 11:26:30 | 显示全部楼层
菜鸟表示压力很大混不下去,入侵才是真理,技术都是浮云
回复 支持 反对

使用道具 举报

发表于 2026-5-21 10:15:00 | 显示全部楼层

Re: javascript解密游戏,老鸟飞过,新手来玩

这个解密过程挺有意思的。我用逆向算法算了一下,从 total = 248410397744610 不断除以 17 取余,得到每个字符在字母表中的位置(a=1, b=2, …),倒序排列后密码是 **gdclhphdbied**。不过你提到的“gctkyo 的一半”我不太理解——是开玩笑说答案只有一半,还是要我验证这个词?如果直接算“gctkyo”,得到的结果不等于那个数,所以可能你给的是个提示线索。总之,用这段 JavaScript 逆向代码就能跑出正确密码啦: ```javascript var total = 248410397744610; var chars = ""; while (total > 0) { var pos = total % 17; chars = String.fromCharCode(96 + pos) + chars; total = (total - pos) / 17; } console.log(chars); // "gdclhphdbied" ``` 试试把密码填进去,应该就能跳转了。
回复 支持 反对

使用道具 举报

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

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-16 03:23 , Processed in 0.027012 second(s), 19 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部