IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 某音乐逆向 -> 正文阅读

[游戏开发]某音乐逆向

补充js知识:

(1)arguments是一个对应于传递给函数的参数的类数组对象。

arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此对象包含传递给函数的每个参数,第一个参数在索引0处。


(2)对函数表达式加上(),是可以直接调用的?
但是如果是对声明式的后部加上()则是会被编译器忽略。
var fn2 = function(){}();//对,就是这样
而平常的function(){}则是一种声明式,如果加上()括号后,则会被编译器认为是函数表达式,(加上+-号都可以),从而可以用()来直接调用.

(function(a){})(1)相对与在执行之前赋值给a。

function(){}()是一种立即执行函数的写法,即IIFE等设计模式。这种函数在函数定义的地方就直接执行了。

!function(){}()写法和(function(){})()是相同的
①函数后的();表示要执行这个函数;

②而();要求前面必须是一个表达式。(最后有js表达式的定义)。

③所以“!”的作用是将function(){}函数体转为一个函数表达式。
?

第一步:从栈堆找到密码传输的初始栈堆,发现密码属性是.password

第二部:搜素并下断点,看时候能断住,并且是没加密之前(有个设想,就是所有函数arguement都发送console,然后观测值的产生,但怕值太多)

第三步,去跟值,并确定

function re(e) {
            return e % 32;
}
function oe(e) {
            return 24 - e % 32;
}
function ne(e, t) {
            for (var n = [], r = t ? re : oe, o = 0, i = 8 * e.length; o < i; o += 8)
                n[o >> 5] |= (255 & e.charCodeAt(o / 8)) << r(o);
            return n;
}
function $(e, t, n, r, o, i) {
            return q((i = q(q(t, e), q(r, i))) << o | i >>> 32 - o, n);
        }
function J(e, t, n, r, o, i, a) {
            return $(t & n | ~t & r, e, t, o, i, a)
}
function Z(e, t, n, r, o, i, a) {
            return $(t & r | n & ~r, e, t, o, i, a)
}
function ee(e, t, n, r, o, i, a) {
            return $(t ^ n ^ r, e, t, o, i, a)
}
function te(e, t, n, r, o, i, a) {
            return $(n ^ (t | ~r), e, t, o, i, a)
}
function q(e, t) {
            var n = (65535 & e) + (65535 & t);
            return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n
}
var a=['909522486','3552822']
function  cc(e, t) {
                e[t >> 5] |= 128 << t % 32;
                e[14 + (t + 64 >>> 9 << 4)] = t;
                for (var n, r, o, i, a = 1732584193, c = -271733879, l = -1732584194, u = 271733878, s = 0, f = e.length; s < f; s += 16){
                    a = J(n = a, r = c, o = l, i = u, e[s + 0], 7, -680876936);
                    u = J(u, a, c, l, e[s + 1], 12, -389564586);
                    l = J(l, u, a, c, e[s + 2], 17, 606105819);
                    c = J(c, l, u, a, e[s + 3], 22, -1044525330);
                    a = J(a, c, l, u, e[s + 4], 7, -176418897);
                    u = J(u, a, c, l, e[s + 5], 12, 1200080426);
                    l = J(l, u, a, c, e[s + 6], 17, -1473231341);
                    c = J(c, l, u, a, e[s + 7], 22, -45705983);
                    a = J(a, c, l, u, e[s + 8], 7, 1770035416);
                    u = J(u, a, c, l, e[s + 9], 12, -1958414417);
                    l = J(l, u, a, c, e[s + 10], 17, -42063);
                    c = J(c, l, u, a, e[s + 11], 22, -1990404162);
                    a = J(a, c, l, u, e[s + 12], 7, 1804603682);
                    u = J(u, a, c, l, e[s + 13], 12, -40341101);
                    l = J(l, u, a, c, e[s + 14], 17, -1502002290);
                    c = J(c, l, u, a, e[s + 15], 22, 1236535329);
                    a = Z(a, c, l, u, e[s + 1], 5, -165796510);
                    u = Z(u, a, c, l, e[s + 6], 9, -1069501632);
                    l = Z(l, u, a, c, e[s + 11], 14, 643717713);
                    c = Z(c, l, u, a, e[s + 0], 20, -373897302);
                    a = Z(a, c, l, u, e[s + 5], 5, -701558691);
                    u = Z(u, a, c, l, e[s + 10], 9, 38016083);
                    l = Z(l, u, a, c, e[s + 15], 14, -660478335);
                    c = Z(c, l, u, a, e[s + 4], 20, -405537848);
                    a = Z(a, c, l, u, e[s + 9], 5, 568446438);
                    u = Z(u, a, c, l, e[s + 14], 9, -1019803690);
                    l = Z(l, u, a, c, e[s + 3], 14, -187363961);
                    c = Z(c, l, u, a, e[s + 8], 20, 1163531501);
                    a = Z(a, c, l, u, e[s + 13], 5, -1444681467);
                    u = Z(u, a, c, l, e[s + 2], 9, -51403784);
                    l = Z(l, u, a, c, e[s + 7], 14, 1735328473);
                    c = Z(c, l, u, a, e[s + 12], 20, -1926607734);
                    a = ee(a, c, l, u, e[s + 5], 4, -378558);
                    u = ee(u, a, c, l, e[s + 8], 11, -2022574463);
                    l = ee(l, u, a, c, e[s + 11], 16, 1839030562);
                    c = ee(c, l, u, a, e[s + 14], 23, -35309556);
                    a = ee(a, c, l, u, e[s + 1], 4, -1530992060);
                    u = ee(u, a, c, l, e[s + 4], 11, 1272893353);
                    l = ee(l, u, a, c, e[s + 7], 16, -155497632);
                    c = ee(c, l, u, a, e[s + 10], 23, -1094730640);
                    a = ee(a, c, l, u, e[s + 13], 4, 681279174);
                    u = ee(u, a, c, l, e[s + 0], 11, -358537222);
                    l = ee(l, u, a, c, e[s + 3], 16, -722521979);
                    c = ee(c, l, u, a, e[s + 6], 23, 76029189);
                    a = ee(a, c, l, u, e[s + 9], 4, -640364487);
                    u = ee(u, a, c, l, e[s + 12], 11, -421815835);
                    l = ee(l, u, a, c, e[s + 15], 16, 530742520);
                    c = ee(c, l, u, a, e[s + 2], 23, -995338651);
                    a = te(a, c, l, u, e[s + 0], 6, -198630844);
                    u = te(u, a, c, l, e[s + 7], 10, 1126891415);
                    l = te(l, u, a, c, e[s + 14], 15, -1416354905);
                    c = te(c, l, u, a, e[s + 5], 21, -57434055);
                    a = te(a, c, l, u, e[s + 12], 6, 1700485571);
                    u = te(u, a, c, l, e[s + 3], 10, -1894986606);
                    l = te(l, u, a, c, e[s + 10], 15, -1051523);
                    c = te(c, l, u, a, e[s + 1], 21, -2054922799);
                    a = te(a, c, l, u, e[s + 8], 6, 1873313359);
                    u = te(u, a, c, l, e[s + 15], 10, -30611744);
                    l = te(l, u, a, c, e[s + 6], 15, -1560198380);
                    c = te(c, l, u, a, e[s + 13], 21, 1309151649);
                    a = te(a, c, l, u, e[s + 4], 6, -145523070);
                    u = te(u, a, c, l, e[s + 11], 10, -1120210379);
                    l = te(l, u, a, c, e[s + 2], 15, 718787259);
                    c = te(c, l, u, a, e[s + 9], 21, -343485551);
                    a = q(a, n);
                    c = q(c, r);
                    l = q(l, o);
                    u = q(u, i);
                }
                return [a, c, l, u]
}
H = "0123456789abcdef";
function G(e) {
            return e % 4;
}
function Q(e) {
            return 3 - e % 4;
}
function dd(e, t) {           
            for (var n = [], r = t ? G : Q, o = 0, i = 4 * e.length; o < i; o++){
                n.push(H.charAt(e[o >> 2] >> 8 * r(o) + 4 & 15) + H.charAt(e[o >> 2] >> 8 * r(o) & 15));
            }
            return n.join("")
}

?调用方法:

dd(cc(ne("6666666",!0),56),!0)

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:46:08  更:2022-04-24 09:48:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 22:02:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码