zoukankan      html  css  js  c++  java
  • 第七届山东省大学生网络安全技能大赛 file

     打开IDA直接F5如下

    经过分析箭头处才是最关键的

    encode函数虽然是引用,但是函数内并没有对其进行修改,而是将其副本base64加密

    查询到 flllag 和 sttr_home 的值 计算v13的值

    计算过程直接复制粘贴,修改到能编译就行了

    然后异或出来goal 也就是我们的输入

    #include<bits/stdc++.h>
    using namespace std;
    string str="664e06226625425d562e766e042d422c072c45692d125c7e6552606954646643";
    string str2=str;
    string fflag="flag{hello_player_come_on_hahah}";
    string flag=str;
    
    signed __int64 A(char a1)
    {
        if ( a1 > 47 && a1 <= 57 )
            return (unsigned int)(a1 - 48);
          if ( a1 > 64 && a1 <= 70 )
            return (unsigned int)(a1 - 55);
          if ( a1 <= 96 || a1 > 102 )
            return 0xFFFFFFFFLL;
          return (unsigned int)(a1 - 87);
    }
    __int64 B(char a1,char a2)
    {
        int v2;
          v2 = 16 * (unsigned __int64)A(a1);
          return v2 + (unsigned int)A(a2);
    }
    
    int main()
    {
        freopen("b.out","w",stdout);
        int j=0;
        for(int i=0;i<64;i+=2)
        {
            str2[j++]=B(str[i],str[i+1]);
        }
        for(int i=0;i<32;i++)
        {
            flag[i]=fflag[i]^str2[i]^i;
            printf("%c",flag[i]);
        }
        return 0;
    }
    /*
    
    flag{hello_player_come_on_hahah}
    664e06226625425d562e766e042d422c072c45692d125c7e6552606954646643
    
    
    */

    但是输出结果不太令人满意

    查错好久都没办法 后来直接传参给file运行了一下发现它就是正确答案

    然后把文件在这个网站 (http://www.atool9.com/)  MD5一下得到答案

  • 相关阅读:
    JS Map的使用
    C# 创建Windows服务
    Oracle 表空间不足解决办法
    C# 企业微信API开发(获取Token,给用户发送消息)
    企业微信API开发笔记
    css实现div不定宽高垂直水平居中解决方案
    前端面试题目大全(附答案)
    移动Web开发
    jquery 给iframe里的元素添加事件
    Jquery实现可拖动进度条demo
  • 原文地址:https://www.cnblogs.com/lxy8584099/p/11834047.html
Copyright © 2011-2022 走看看