首页 > 其他分享 >猿人学内部练习平台第16题

猿人学内部练习平台第16题

时间:2024-04-28 22:12:03浏览次数:23  
标签:core sha1 猿人 16 练习 btoa js token toString

第16题:表情包+sojson6.0

抓包分析可知,需逆向safe参数,根据调用堆栈很容易找到safe的生成位置,如下:

上方有一段特殊字符组成的内容,查看上下文并未找到token,因此token很可能是这段特殊字符构成的代码生成的,单步调试可以发现,上面是在进行赋值操作,最后一行很长的那一行是进行一些函数执行,将最后一行复制到控制台,删除最后一个括号 ('_'),可以看到具体的执行代码:

双击进去,可以看到,token = window.btoa(a)+('|')+binb2b64(hex_sha1(window.btoa(core_sha1(a)))) + b64_sha1(a)

鼠标悬停至 core_sha1 上,点击进入 main.js:1 进入原方法位置,不要格式化复制整个文件代码到本地,然后简单补充下代码即可:

// 未格式化的 main.js 内容复制到此处

function btoa(input) {
    let buf = Buffer.from(input, 'utf8');
    return buf.toString('base64')
}

function decode() {
    let a = String(Date.parse(new Date()) / 1000);
    return btoa(a.toString()) + ('|') + binb2b64(hex_sha1(btoa(core_sha1(a).toString()))) + b64_sha1(a);
}

token = decode()
console.log(token)

可以看到,输出结果为正确的格式:

然后在python中通过 subprocess.check_output(['node', 'topic16_.js']).decode().replace('\n', '') 调用即可。

标签:core,sha1,猿人,16,练习,btoa,js,token,toString
From: https://www.cnblogs.com/achangblog/p/18161176

相关文章

  • HDLBits练习:Countbcd
    目录题目代码解法一解法二解法三题目题目链接:Countbcd题目让写一个四位的BCD计数器,可以等价看成0000~9999的计数器,进位规则和我们日常的十进制计数一样。代码解法一通过例化或者修改一位的十进制计数器实现有关ena信号的处理部分,其实是与clk信号无关的;但是,也可以根据clk......
  • 最强国产 Sora 大模型 Vidu 发布,长度可达 16 秒;微信文件 3 小时内可撤回丨 RTE 开发者
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点,......
  • P1173 [NOI2016] 网格
    P1173[NOI2016]网格分讨+建图+点双分析一下替换个数的上界,发现最多为\(2\),因为最坏情况下,也仍存在一个位置只有两个出去的方向(即边缘),堵住即可。那么现在答案就只有\(-1\)、\(0\)、\(1\)、\(2\)四种情况。分开讨论:\(-1\):当图中只有一个跳蚤或者只有两只跳蚤连在一起时\(0......
  • 脚本语言系列之Python | python练习题最全题库(1)
    脚本语言系列之Python|python练习题最全题库(1)脚本语言系列之Python|python练习题最全题库(1) 精选python语言基础的填空题400+,并附有答案,初学者一定要刷一遍。刷题前,可以先看一遍基础知识点,已梳理好,移步:测试allen说:脚本语言系列之Python|系列文章传送门这......
  • Paper——可容错的虚拟机实践系统设计.18162229
    目标:通过主备复制手段设计一个可容错的VM,用于用户运行企业级程序。primary日常工作,一旦它宕机,和它保持lock-step的backup会立刻顶上,外界观察不到这些操作,我们制造了只有一台VM永远在正常运行的假象。要考虑的点:使用什么手段保持primary和backup严格同步在虚拟化单核CPU时和多......
  • [Python急救站]人脸识别技术练习
    这段时间做了一个用于初学者学习人脸识别系统的程序,在上代码时,先给说说事前准备:首先我们需要一个OpenCV的一个haarcascade_frontalface_default.xml文件,只要去GitHub上面即可下载:https://github.com/opencv/opencv点击Code,选择DownloadZIP,下载后解压在目录下opencv-4.x\data\ha......
  • 使用FFmpeg将视频的分辨率从1080p转换为2160p
    1.要使用FFmpeg将视频的分辨率从1080p转换为2160p(也称为4K),可以使用以下命令行代码:ffmpeg-iinput.mp4-s3840x2160-c:vlibx264-presetslow-crf20output.mp4这里的参数解释如下:-iinput.mp4:指定输入文件。-s3840x2160:设置输出视频的分辨率为3840像素宽和2160像素高......
  • 力扣练习-动态规划
    线性DP3122.使矩阵满足条件的最少操作次数classSolution{/*问题分类:线性DP问题1.每一列元素值相同,相邻列元素值不同,考虑按照列进行状态枚举枚举2.0<=grid[i][j]<=9,值的范围很小只有10个3.f[i][j]可以为考虑前i列并且第i列元素为......
  • 实验16-使用GAN生成手写数字样本
    版本python3.7tensorflow版本为tensorflow-gpu版本2.6运行结果: 代码:from__future__importprint_function,divisionfromkeras.datasetsimportmnistfromkeras.layersimportInput,Dense,Reshape,Flatten,Dropoutfromkeras.layersimportBatchNormalizatio......
  • 数据库——一些复健(主要是约束和索引相关练习)
    重要的是练习,写作业时写的絮絮叨叨就忽略吧。  强化学习2                    【练习9.1】在stusys数据库中创建course1表,以列级完整性约束方式定义主键。  【练习9.2】在stusys数据库中创建course2表,以表级完整性约束方式定义主键。  ......