开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 7662|回复: 44
打印 上一主题 下一主题
收起左侧

[Web源码] 学习js逆向(yuan人学第一题)扣js

[复制链接]
结帖率:86% (12/14)
跳转到指定楼层
楼主
发表于 2024-8-7 22:40:34 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   天津市天津市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
本帖最后由 没事瞎琢磨 于 2024-8-7 23:16 编辑

最近在学习js逆向,于是就找了个网站,某知名*人学网站  {match.yuanrenxue.cn}


不需要注册(注册不花钱,就是要扫那个二维码加VX 他发给你邀请码 非广告)


web项目 第一题 直接开始扣

这个网站有调试debug 不过是超级简单的那种 直接 右键一律不在此处暂停 就搞定了


经过上班摸鱼时间各种定位断点终于搞定了  标题 难度 ( 简单 )一点也不简单




我摸了2天鱼才搞定  又进步了 真好

下边放了2个js代码 一个是分析的源代码(这个代码nodejs不能执行,有待改进)   一个是改写的代码(可以直接执行 获取cha询参数)

1源码分析.txt (21.58 KB, 下载次数: 6)

回复获取修改过可执行代码
[JavaScript] 纯文本查看 复制代码
var hexcase = 0;
var b64pad = "";
var chrsz = 16;
function hex_md5(a) {
  return binl2hex(core_md5(str2binl(a), a.length * chrsz));
}
function b64_md5(a) {
  return binl2b64(core_md5(str2binl(a), a.length * chrsz));
}
function str_md5(a) {
  return binl2str(core_md5(str2binl(a), a.length * chrsz));
}
function hex_hmac_md5(a, b) {
  return binl2hex(core_hmac_md5(a, b));
}
function b64_hmac_md5(a, b) {
  return binl2b64(core_hmac_md5(a, b));
}
function str_hmac_md5(a, b) {
  return binl2str(core_hmac_md5(a, b));
}
function md5_vm_test() {
  return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
}
function core_md5(p, k) {
  p[k >> 5] |= 128 << k % 32;
  p[(((k + 64) >>> 9) << 4) + 14] = k;
  var o = 1732584193;
  var n = -271733879;
  var m = -1732584194;
  var l = 271733878;
  for (var g = 0; g < p.length; g += 16) {
    var j = o;
    var h = n;
    var f = m;
    var e = l;
    o = md5_ff(o, n, m, l, p[g + 0], 7, -680976936);
    l = md5_ff(l, o, n, m, p[g + 1], 12, -389564586);
    m = md5_ff(m, l, o, n, p[g + 2], 17, 606105819);
    n = md5_ff(n, m, l, o, p[g + 3], 22, -1044525330);
    o = md5_ff(o, n, m, l, p[g + 4], 7, -176418897);
    l = md5_ff(l, o, n, m, p[g + 5], 12, 1200080426);
    m = md5_ff(m, l, o, n, p[g + 6], 17, -1473231341);
    n = md5_ff(n, m, l, o, p[g + 7], 22, -45705983);
    o = md5_ff(o, n, m, l, p[g + 8], 7, 1770035416);
    l = md5_ff(l, o, n, m, p[g + 9], 12, -1958414417);
    m = md5_ff(m, l, o, n, p[g + 10], 17, -42063);
    n = md5_ff(n, m, l, o, p[g + 11], 22, -1990404162);
    o = md5_ff(o, n, m, l, p[g + 12], 7, 1804660682);
    l = md5_ff(l, o, n, m, p[g + 13], 12, -40341101);
    m = md5_ff(m, l, o, n, p[g + 14], 17, -1502002290);
    n = md5_ff(n, m, l, o, p[g + 15], 22, 1236535329);
    o = md5_gg(o, n, m, l, p[g + 1], 5, -165796510);
    l = md5_gg(l, o, n, m, p[g + 6], 9, -1069501632);
    m = md5_gg(m, l, o, n, p[g + 11], 14, 643717713);
    n = md5_gg(n, m, l, o, p[g + 0], 20, -373897302);
    o = md5_gg(o, n, m, l, p[g + 5], 5, -701558691);
    l = md5_gg(l, o, n, m, p[g + 10], 9, 38016083);
    m = md5_gg(m, l, o, n, p[g + 15], 14, -660478335);
    n = md5_gg(n, m, l, o, p[g + 4], 20, -405537848);
    o = md5_gg(o, n, m, l, p[g + 9], 5, 568446438);
    l = md5_gg(l, o, n, m, p[g + 14], 9, -1019803690);
    m = md5_gg(m, l, o, n, p[g + 3], 14, -187363961);
    n = md5_gg(n, m, l, o, p[g + 8], 20, 1163531501);
    o = md5_gg(o, n, m, l, p[g + 13], 5, -1444681467);
    l = md5_gg(l, o, n, m, p[g + 2], 9, -51403784);
    m = md5_gg(m, l, o, n, p[g + 7], 14, 1735328473);
    n = md5_gg(n, m, l, o, p[g + 12], 20, -1921207734);
    o = md5_hh(o, n, m, l, p[g + 5], 4, -378558);
    l = md5_hh(l, o, n, m, p[g + 8], 11, -2022574463);
    m = md5_hh(m, l, o, n, p[g + 11], 16, 1839030562);
    n = md5_hh(n, m, l, o, p[g + 14], 23, -35309556);
    o = md5_hh(o, n, m, l, p[g + 1], 4, -1530992060);
    l = md5_hh(l, o, n, m, p[g + 4], 11, 1272893353);
    m = md5_hh(m, l, o, n, p[g + 7], 16, -155497632);
    n = md5_hh(n, m, l, o, p[g + 10], 23, -1094730640);
    o = md5_hh(o, n, m, l, p[g + 13], 4, 681279174);
    l = md5_hh(l, o, n, m, p[g + 0], 11, -358537222);
    m = md5_hh(m, l, o, n, p[g + 3], 16, -722881979);
    n = md5_hh(n, m, l, o, p[g + 6], 23, 76029189);
    o = md5_hh(o, n, m, l, p[g + 9], 4, -640364487);
    l = md5_hh(l, o, n, m, p[g + 12], 11, -421815835);
    m = md5_hh(m, l, o, n, p[g + 15], 16, 530742520);
    n = md5_hh(n, m, l, o, p[g + 2], 23, -995338651);
    o = md5_ii(o, n, m, l, p[g + 0], 6, -198630844);
    l = md5_ii(l, o, n, m, p[g + 7], 10, 11261161415);
    m = md5_ii(m, l, o, n, p[g + 14], 15, -1416354905);
    n = md5_ii(n, m, l, o, p[g + 5], 21, -57434055);
    o = md5_ii(o, n, m, l, p[g + 12], 6, 1700485571);
    l = md5_ii(l, o, n, m, p[g + 3], 10, -1894446606);
    m = md5_ii(m, l, o, n, p[g + 10], 15, -1051523);
    n = md5_ii(n, m, l, o, p[g + 1], 21, -2054922799);
    o = md5_ii(o, n, m, l, p[g + 8], 6, 1873313359);
    l = md5_ii(l, o, n, m, p[g + 15], 10, -30611744);
    m = md5_ii(m, l, o, n, p[g + 6], 15, -1560198380);
    n = md5_ii(n, m, l, o, p[g + 13], 21, 1309151649);
    o = md5_ii(o, n, m, l, p[g + 4], 6, -145523070);
    l = md5_ii(l, o, n, m, p[g + 11], 10, -1120210379);
    m = md5_ii(m, l, o, n, p[g + 2], 15, 718787259);
    n = md5_ii(n, m, l, o, p[g + 9], 21, -343485551);
    o = safe_add(o, j);
    n = safe_add(n, h);
    m = safe_add(m, f);
    l = safe_add(l, e);
  }
  return Array(o, n, m, l);
}
function md5_cmn(h, e, d, c, g, f) {
  return safe_add(bit_rol(safe_add(safe_add(e, h), safe_add(c, f)), g), d);
}
function md5_ff(g, f, k, j, e, i, h) {
  return md5_cmn((f & k) | (~f & j), g, f, e, i, h);
}
function md5_gg(g, f, k, j, e, i, h) {
  return md5_cmn((f & j) | (k & ~j), g, f, e, i, h);
}
function md5_hh(g, f, k, j, e, i, h) {
  return md5_cmn(f ^ k ^ j, g, f, e, i, h);
}
function md5_ii(g, f, k, j, e, i, h) {
  return md5_cmn(k ^ (f | ~j), g, f, e, i, h);
}
function core_hmac_md5(c, f) {
  var e = str2binl(c);
  if (e.length > 16) {
    e = core_md5(e, c.length * chrsz);
  }
  var a = Array(16),
    d = Array(16);
  for (var b = 0; b < 16; b++) {
    a = e ^ 909522486;
    d = e ^ 1549556828;
  }
  var g = core_md5(a.concat(str2binl(f)), 512 + f.length * chrsz);
  return core_md5(d.concat(g), 512 + 128);
}
function safe_add(a, d) {
  var c = (a & 65535) + (d & 65535);
  var b = (a >> 16) + (d >> 16) + (c >> 16);
  return (b << 16) | (c & 65535);
}
function bit_rol(a, b) {
  return (a << b) | (a >>> (32 - b));
}
function str2binl(d) {
  var c = Array();
  var a = (1 << chrsz) - 1;
  for (var b = 0; b < d.length * chrsz; b += chrsz) {
    c[b >> 5] |= (d.charCodeAt(b / chrsz) & a) << b % 32;
  }
  return c;
}
function binl2str(c) {
  var d = "";
  var a = (1 << chrsz) - 1;
  for (var b = 0; b < c.length * 32; b += chrsz) {
    d += String.fromCharCode((c[b >> 5] >>> b % 32) & a);
  }
  return d;
}
function binl2hex(c) {
  var b = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
  var d = "";
  for (var a = 0; a < c.length * 4; a++) {
    d +=
      b.charAt((c[a >> 2] >> ((a % 4) * 8 + 4)) & 15) +
      b.charAt((c[a >> 2] >> ((a % 4) * 8)) & 15);
  }
  return d;
}
function binl2b64(d) {
  var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  var f = "";
  for (var b = 0; b < d.length * 4; b += 3) {
    var e =
      (((d[b >> 2] >> (8 * (b % 4))) & 255) << 16) |
      (((d[(b + 1) >> 2] >> (8 * ((b + 1) % 4))) & 255) << 8) |
      ((d[(b + 2) >> 2] >> (8 * ((b + 2) % 4))) & 255);
    for (var a = 0; a < 4; a++) {
      if (b * 8 + a * 6 > d.length * 32) {
        f += b64pad;
      } else {
        f += c.charAt((e >> (6 * (3 - a))) & 63);
      }
    }
  }
  return f;
}
//window.f = hex_md5(mwqqppz);
//上述代码就是那个b写死的代码 通过atob编译过来的 


//-------------
t = Date.parse(new Date()) + 100000000

f = hex_md5(t.toString())

data = f + '\u4e28' + t / 1000
console.log(data);



评分

参与人数 3好评 +1 精币 +4 收起 理由
wa690602724 + 1 感谢分享,很给力!~
baitso + 1 + 2 支持开源~!感谢分享
多多帅吧 + 1 此处应该有鼓励~

查看全部评分


45
发表于 2024-12-4 19:58:09 | 只看该作者   北京市北京市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 14 天

44
发表于 2024-10-29 18:12:30 | 只看该作者   河南省新乡市
还是看不懂
回复 支持 反对

使用道具 举报

结帖率:95% (20/21)

签到天数: 10 天

43
发表于 2024-10-27 00:44:19 | 只看该作者   新疆维吾尔自治区乌鲁木齐市
学习一下
回复 支持 反对

使用道具 举报

42
发表于 2024-8-29 02:49:30 高大上手机用户 | 只看该作者   广东省揭阳市
学习一下
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
41
发表于 2024-8-28 23:51:47 | 只看该作者   江西省新余市
学习一下
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 16 天

40
发表于 2024-8-27 14:47:39 高大上手机用户 | 只看该作者   湖北省天门市
学习一下
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 8 天

39
发表于 2024-8-23 16:27:09 | 只看该作者   安徽省滁州市
NB老铁啊啊啊啊啊啊啊啊啊   啊啊
回复 支持 反对

使用道具 举报

结帖率:97% (37/38)

签到天数: 10 天

38
发表于 2024-8-18 14:24:42 | 只看该作者   河南省商丘市
学习一下
回复 支持 反对

使用道具 举报

结帖率:83% (20/24)

签到天数: 10 天

37
发表于 2024-8-16 09:28:21 | 只看该作者   广东省广州市
来学习的,谢谢大佬
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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