首页 > 其他分享 >关于攻防世界-Reverse-game的三种解法的探讨

关于攻防世界-Reverse-game的三种解法的探讨

时间:2024-12-13 17:56:54浏览次数:5  
标签:攻防 Reverse 32 532E28 flag game 45A7BE byte sub

1.直接玩游戏

输入12345678即可出flag

2.动态调试

下载下来是一个exe文件,可以用IDA打开

这种题我更倾向于动调直接得到flag

我们查壳

没有保护壳,直接32打开

进入字符串界面,找到显示的那部分

int __cdecl main_0(int argc, const char **argv, const char **envp)
{
  int v4; // [esp+0h] [ebp-FCh]
  int i; // [esp+DCh] [ebp-20h]
  unsigned int v6; // [esp+F4h] [ebp-8h] BYREF
 
  sub_45A7BE(&unk_50B110);
  sub_45A7BE(&unk_50B158);
  sub_45A7BE(&unk_50B1A0);
  sub_45A7BE(&unk_50B1E8);
  sub_45A7BE(&unk_50B230);
  sub_45A7BE(&unk_50B278);
  sub_45A7BE(&unk_50B2C0);
  sub_45A7BE(&unk_50B308);
  sub_45A7BE(&unk_50AFD0);
  sub_45A7BE("|              by 0x61                                 |\n");
  sub_45A7BE("|                                                      |\n");
  sub_45A7BE("|------------------------------------------------------|\n");
  sub_45A7BE(
    "Play a game\n"
    "The n is the serial number of the lamp,and m is the state of the lamp\n"
    "If m of the Nth lamp is 1,it's on ,if not it's off\n"
    "At first all the lights were closed\n");
  sub_45A7BE("Now you can input n to change its state\n");
  sub_45A7BE(
    "But you should pay attention to one thing,if you change the state of the Nth lamp,the state of (N-1)th and (N+1)th w"
    "ill be changed too\n");
  sub_45A7BE("When all lamps are on,flag will appear\n");
  sub_457AB4("Now,input n \n");
  while ( 1 )
  {
    do
    {
      while ( 1 )
      {
        sub_457AB4("input n,n(1-8)\n");
        sub_459418();
        sub_45A7BE("n=");
        sub_4596D4("%d", &v6);
        sub_45A7BE("\n");
        if ( v6 < 9 )
          break;
        sub_457AB4("sorry,n error,try again\n");
      }
      if ( v6 )
      {
        sub_4576D6(v6 - 1);
      }
      else
      {
        for ( i = 0; i < 8; ++i )
        {
          if ( (unsigned int)i >= 9 )
            j____report_rangecheckfailure();
          byte_532E28[i] = 0;
        }
      }
      j__system("CLS");
      sub_458054();
    }
    while ( byte_532E28[0] != 1
         || byte_532E28[1] != 1
         || byte_532E28[2] != 1
         || byte_532E28[3] != 1
         || byte_532E28[4] != 1
         || byte_532E28[5] != 1
         || byte_532E28[6] != 1
         || byte_532E28[7] == 1 );
    sub_457AB4(v4);
  }
}

我们找,可以找到这个sub457ab4就是flag的函数

我们复制这个函数sub_457AB4

进入到这个界面,我们之间打这个输出的 sub45a7be函数给改为复制的函数

按住CTRL+ALT+K

复制成功是这样

然后我们保存一下

在edit里面选中patch,选最后一个apply

最后保存,再次运行就直接给flag了

3.正常搜锁代码解密

![](https://i-blog.csdnimg.cn/img_convert/2ef176e2376cd1ca6a96c6ddca9224dc.png)
  1. 对应地与 v59-v115 进行异或

  2. 与 0x13 异或这里可以小小地猜测 flag 与 v2-v58 的字符变量有关(可以看出 v59-v115 并没有改变)

写个脚本

v59 = [18, 64, 98, 5, 2, 4, 6, 3, 6, 48, 49, 65, 32, 12, 48, 65, 31, 78, 62, 32,
       49, 32, 1, 57, 96, 3, 21, 9, 4, 62, 3, 5, 4, 1, 2, 3, 44,65, 78, 32, 16,
       97, 54, 16, 44, 52, 32, 64, 89, 45, 32, 65, 15, 34, 18, 16, 0]
v2 = [123, 32, 18, 98, 119, 108, 65, 41, 124, 80, 125, 38, 124, 111, 74, 49, 83, 108, 94,
      108, 84, 6, 96, 83, 44, 121, 104, 110, 32, 95, 117, 101, 99, 123, 127, 119, 96, 48,
      107, 71, 92, 29, 81, 107, 90, 85, 64, 12, 43, 76, 86, 13, 114, 1, 117, 126, 0]
flag = ' '
for i in range(56):
    v2[i] ^= v59[i]
    v2[i] ^= 0x13
    flag += chr(v2[i])
print(flag)

zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}

标签:攻防,Reverse,32,532E28,flag,game,45A7BE,byte,sub
From: https://blog.csdn.net/dingxingaq/article/details/144332511

相关文章

  • 实战攻防中针对JS路径的泄露和Webpack漏洞的初探
    0x1前言浅谈这篇文章给师傅们分享下前段时间跟其他师傅学习和交流的Webpack相关漏洞,这个漏洞相对来说比较冷门,在web漏洞中不是那么的热度高,但是平常去挖掘和发现这个漏洞相对来说还是不难的。后面要是有机会可以给师傅们分享下油猴的相关脚本去找Webpack漏洞泄露的js敏感......
  • 20222428 2021-2022-2 《网络与系统攻防技术》实验八实验报告
    1.实验内容实验内容及要求(1)Web前端HTML能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。(2)Web前端javascipt理解JavaScript的基本功能,理解DOM。在(1)的基础上,编写JavaScript验证用户名、密码的规则。用户点击登陆按钮后回显“欢迎+......
  • 20222308 2021-2022-7 《网络与系统攻防技术》实验七实验报告
    1.实验内容本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有(1)简单应用SET工具建立冒名网站SET工具:是一个用于社会工程学攻击的工具集,它可以帮助攻击者模拟各种网络攻击场景,包括钓鱼网站攻击、口令截取攻击等。在实验中,通过使用SET工具,可......
  • 20222424 2024-2025-1 《网络与系统攻防技术》实验八实验报告
    202224242024-2025-1《网络与系统攻防技术》实验八实验报告1.实验内容1.1本周学习内容XSS脚本攻击CSRF漏洞burpsuit基本使用方法DVWA、WebGoat、pikachu网络攻防平台的搭建与使用1.2实验内容及要求(1)Web前端HTML能正常安装、启停Apache。理解HTML,理解表单,理解GET......
  • Text Based Game
    Assignment 2– Text Based GameDeadline: 16:00,Dec 12, 20241 Process For Assignment 2Make sure you follow the process as outlined below.   Assignment 2 has a different structureandasomewhatdifferentapproach to Assignment......
  • 20222414 2024-2025-1 《网络与系统攻防技术》实验八实验报告
    1.实验内容及要求(1)Web前端HTML能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。(2)Web前端javascipt理解JavaScript的基本功能,理解DOM。在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的用户......
  • web安全攻防入门教程
    Web安全攻防入门教程Web安全攻防是指在Web应用程序的开发、部署和运行过程中,保护Web应用免受攻击和恶意行为的技术与策略。这个领域不仅涉及防御措施的实现,还包括通过渗透测试、漏洞挖掘和模拟攻击来识别潜在的安全问题。本教程将带你入门Web安全攻防的基础概念、常见攻击类......
  • 20222418 2024-2025-1 《网络与系统攻防技术》实验七实验报告
    1.实验内容本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有(1)简单应用SET工具建立冒名网站(2)ettercapDNSspoof(3)结合应用两种技术,用DNSspoof引导特定访问到冒名网站。2.实验过程(1)简单应用SET工具建立冒名网站cat/etc/apache2/ports.......
  • 20222326 2024-2025-2 《网络与系统攻防技术》实验八实验报告
    1.实验内容实验内容:1.Web前端HTML要求:能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。2.Web前端javascipt理解JavaScript的基本功能,理解DOM。在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的......
  • 《Web 安全攻防工具集:守护网络世界的利器》
    《Web安全攻防工具集:守护网络世界的利器》一、引言二、信息收集工具1.Nmap2.Goby3.Shodan4.Fofa5.WhatWeb6.Wappalyzer三、漏洞扫描工具1.AWVS2.IBMAppScan3.Nessus4.OpenVAS5.Xray四、漏洞利用工具1.Metasploit2.SQLmap3.BeEF4.BurpSuite5.OWASPZ......