首页 > 其他分享 >ctfshow--红包一 ob混淆

ctfshow--红包一 ob混淆

时间:2024-04-05 14:44:24浏览次数:13  
标签:function const -- 0x2122 ob ctfshow 0x4636e4 0x431f1b parseInt

上来是一段混淆的ob混淆的js代码,还会有个setinterval无限debugger反调试

点击查看代码
            function _0x51ba() {
                const _0x4b06d7 = ['padding:100px\x20120px;\x20font-size:\x200;\x20background:url(\x22', '%c\x20', '4794822nLKJYA', '.gif', 'clear', '18xdjAAC', 'port', '407235uHwfGL', 'location', 'abs', '2698131HgmvDV', '486zMsipS', '6172276GysvKv', '700496gKdPdS', 'ctfshow{Happy_Birthday_My_Country}', '500', 'log', 'error', 'getTime', '5907iOEsVM', '\x22);\x20no-repeat;', 'go(', '7185675nyCjVD'];
                _0x51ba = function() {
                    return _0x4b06d7;
                }
                ;
                return _0x51ba();
            }
            (function(_0x5d7a98, _0x47cab2) {
                const _0x431f1b = _0x2122
                  , _0x441dcd = _0x5d7a98();
                while (!![]) {
                    try {
                        const _0x4b147c = -parseInt(_0x431f1b(0x81)) / 0x1 * (-parseInt(_0x431f1b(0x79)) / 0x2) + parseInt(_0x431f1b(0x78)) / 0x3 + -parseInt(_0x431f1b(0x7a)) / 0x4 + parseInt(_0x431f1b(0x8c)) / 0x5 + parseInt(_0x431f1b(0x87)) / 0x6 + -parseInt(_0x431f1b(0x84)) / 0x7 + parseInt(_0x431f1b(0x7b)) / 0x8 * (parseInt(_0x431f1b(0x8a)) / 0x9);
                        if (_0x4b147c === _0x47cab2)
                            break;
                        else
                            _0x441dcd['push'](_0x441dcd['shift']());
                    } catch (_0x4a6fff) {
                        _0x441dcd['push'](_0x441dcd['shift']());
                    }
                }
            }(_0x51ba, 0xc869c));
            function _0x2122(_0x4fce2d, _0x5e9d8d) {
                const _0x51ba75 = _0x51ba();
                return _0x2122 = function(_0x21226f, _0x1de403) {
                    _0x21226f = _0x21226f - 0x78;
                    let _0x2dad0f = _0x51ba75[_0x21226f];
                    return _0x2dad0f;
                }
                ,
                _0x2122(_0x4fce2d, _0x5e9d8d);
            }
            function getflag() {
                const _0x51954c = _0x2122;
                console[_0x51954c(0x7f)](_0x51954c(0x7c));
            }
            function go(_0x554bbc) {
                const _0x4636e4 = _0x2122;
                console[_0x4636e4(0x89)](),
                url = window['location']['protocol'] + '//' + window[_0x4636e4(0x8d)]['hostname'] + ':' + window[_0x4636e4(0x8d)][_0x4636e4(0x8b)] + '/' + _0x554bbc + _0x4636e4(0x88),
                console[_0x4636e4(0x7e)](_0x4636e4(0x86), _0x4636e4(0x85) + url + _0x4636e4(0x82)),
                _0x554bbc == 0xb && (console[_0x4636e4(0x89)](),
                getflag());
            }
            function FBIWarning() {
                const _0x4d4a2a = _0x2122;
                for (var _0x5f55aa = 0x1; _0x5f55aa <= 0xb; _0x5f55aa++) {
                    setTimeout(_0x4d4a2a(0x83) + _0x5f55aa + ')', _0x5f55aa + _0x4d4a2a(0x7d));
                }
                console['clear']();
            }
            !function() {
                const _0x3bcc60 = setInterval(()=>{
                    const _0x47d54b = _0x2122
                      , _0x359297 = new Date()[_0x47d54b(0x80)]();
                    debugger ;const _0x4ce7dc = new Date()[_0x47d54b(0x80)]();
                    Math[_0x47d54b(0x8e)](_0x4ce7dc - _0x359297) > 0x64 && (FBIWarning(),
                    clearInterval(_0x3bcc60));
                }
                , 0x3e8);
            }();
js逆向习惯了,其实一开始想用ast直接反混淆的,后面仔细一看发现完全不用 我们打debugger调试页面可以看到flag的函数

image

标签:function,const,--,0x2122,ob,ctfshow,0x4636e4,0x431f1b,parseInt
From: https://www.cnblogs.com/wssw/p/18115750

相关文章

  • 基于深度学习的田间杂草检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)
    摘要:本博客深入探讨了基于YOLOv8/v7/v6/v5的田间杂草检测系统,其中核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法,进行性能指标对比;详细介绍了国内外研究现状、数据集处理、算法原理、模型构建与训练代码,以及基于Streamlit的交互式Web应用界面设计。在Web网页中可以支持图像、......
  • DUT-图像简易灰度
    模板-V1模型功能输入视频总线输出视频总线将RGB24数据转化为灰度数据模型框图控制模型实现步骤源码编写未经仿真的原始代码`timescale1ns/1ps/**/////////////////////////////////////////////////////////////////////////////////////Company://Eng......
  • Quasar framework build if not a root path
    build:{target:{browser:['es2019','edge88','firefox78','chrome87','safari13.1'],node:'node16'},vueRouterMode:'hash',//availablevalues:......
  • ArkTS--学习笔记
    入门:声明式组件化案例1:垃圾箱代码:@Entry@ComponentstructDeleteButtonPage{build(){Column(){Button(){Image("pages/helloworld/delete/solution/images/ic_delete.png").width(25).height(25)}.widt......
  • 基于深度学习的商品标签识别系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)
    摘要:本文深入研究了基于YOLOv8/v7/v6/v5的商品标签识别,核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法,进行性能指标对比;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码,及基于Streamlit的交互式Web应用界面设计。在Web网页中可以支持图像、视频和实时摄像头......
  • 在Linux中安装软件
    在Linux中安装软件rpm软件安装查询安装的格式:rpm-ivh软件名字符含义iinstall安装v显示过程h显示进度条查询已安装的格式rpm-q+名称查询是否已安装[root@localhost~]#rpm-qtreetree-1.6.0-10.el7.x86_64[root@localhost......
  • 【前置知识】散度、梯度、旋度及其衍生
    在CFD理论研究中,以下的算符是不得不品的基础。下文整理在笛卡尔坐标系下,散度、梯度、旋度等一系列物理量。目录倒三角算符一阶梯度散度旋度二阶梯度的散度​编辑拉普拉斯算符散度的梯度爱因斯坦求和约定倒三角算符倒三角算符,称为nabla,哈密顿算子,又可称为del。......
  • 成功实现FaceTime语音,FaceTime视频,FaceTime数据筛选,检测数据是否开通FaceTime的实
    FaceTime是苹果公司iOS和macOS(以前称MacOSX或OSX)内置的一款视频通话软件,通过Wi-Fi或者蜂窝数据接入互联网,在两个装有FaceTime的设备之间实现视频通话。其要求通话双方均具有装有FaceTime的苹果设备,苹果ID以及可接入互联网的3G/4G/5G或者Wi-Fi网络。 一、Windows电脑上部署苹......
  • L1-056 猜数字
    一群人坐在一起,每人猜一个100以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。输入格式:输入在第一行给出一个正整数N(≤104)。随后N行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。输出格式:在一行中顺序输出......
  • Oracle分组查询中包含子查询列,发生ORA-00937:不是单分组函数的错误
    selectsum(raw_ore)raw_ore,(selectsum(raw_ore0)fromtrv_dailywherep_year=a.p_year)lift_orefromtrv_refineawherep_year=2024尽管语句selectsum(raw_ore0)fromtrv_dailywherep_year=a.p_year,只返回一个数值,系统提示“ORA-00937:不是单分组函数......