buu Reverse学习记录(23) [2019红帽杯]easyRE

题目链接:https://buuoj.cn/challenges#[2019%E7%BA%A2%E5%B8%BD%E6%9D%AF]easyRE

题目是个.elf文件,拖进IDA64,看看字符串,前几行字符串都挺可疑的,查看哪个函数使用了他们

在这里插入图片描述
这是关键部分,包含着前几个字符串

在这里插入图片描述

在字符串"continue!"之前有一段加密,脚本跑一下,看看是什么内容

s=[73,111,100,108,62,81,110,98,40,111,99,121,127,121,46,105,127,100,96,51,119,125,119,101,107,57,123,105,121,61,126,121,76,64,69,67,]
flag=''
for i in range(len(s)):
   flag += chr(s[i]^i)
print(flag)

跑出来的结果是Info:The first four chars are `flag`,说前四个字符是flag,再往下看是base64编码,密文是之前找到的第一个字符串,需要十次解码。
最终得到的字符串为"https://bbs.pediy.com/thread-254172.htm",点进去看到是一个论坛,跟flag没什么关系。

在查看base64密文的时候看到有可疑的数组,查看哪个函数使用了

在这里插入图片描述

这里是那个数组的加密方式,脚本解密一下

在这里插入图片描述

根据if里的判断条件和之前脚本解出的那个字符串提示,先是"flag"与数组前四个进行异或,再把数组于得到的字符串依次异或,最终得到flag。

s = [0x40,0x35,0x20,0x56,0x5D,0x18,0x22,0x45,0x17,0x2F,0x24,0x6E,0x62,0x3C,0x27,0x54,0x48,0x6C,0x24,0x6E,0x72,0x3C,0x32,0x45,0x5B]
s1 = 'flag'
key = ''
flag = ''
for i in range(len(s1)):
   key += chr(s[i] ^ ord(s1[i]))
for i in range(len(s)):
   flag += chr(s[i] ^ ord(key[i % 4]))
print(flag)

flag:flag{Act1ve_Defen5e_Test}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BU reverse 1是一个反向工程题目。我们需要使用IDA来分析给定的程序并找到正确的flag。根据引用,我们可以使用strncmp函数来比较两个字符串的前几位。如果相同,返回0;如果不同,返回正数或负数。根据引用,我们可以得知,正确的flag应该与字符串"this is the right flag!"相同。因此,我们需要在IDA中查看字符串并找到正确的flag。然后,我们可以按照引用中的步骤来进行操作,将ASCII码转为字符。通过这些步骤,我们可以找到正确的flag。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [buuctf 逆向刷题01——reverse1](https://blog.csdn.net/qq_42642222/article/details/127678168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [BUUCTF--Reverse--easyre,reverse1,新年快乐(面向新手,超详细)](https://blog.csdn.net/qq_65165505/article/details/130263889)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值