首页 > 其他分享 >[2019红帽杯]easyRE 1

[2019红帽杯]easyRE 1

时间:2023-05-05 18:45:40浏览次数:50  
标签:加密 Des chr easyRE flag 2019 得到 字符串 红帽

查壳:

64位,进IDA找主函数:

挺长的,慢慢来吧,先找正确的判断输出:涉及到了v11,又涉及到到方法sub_400E44,跟进方法看看:

出现位运算,和aAbcdefghijklmn,跟进看看:

标准base64编码,那就是说v11是根据v18base64加密了10次得到的,我们再看看,sub_400360的另一个参数off_6CC090,跟进:

拿这个去解密10次:得到一个网址:https://bbs.pediy.com/thread-254172.htm

开开心心点进去:

真就是网址呗,让我们学习主动防御:真好这个出题人

既然这个没有,那么我们往上看,因为刚进来的时候发现几段字符串很像加密后的flag

将这几个字符串连起来,为啥要连起来呢,因为不连起来,输出是错的(一个个试过的我,根本不成语句)这里注意,在连接前两字符串的时候,它们的末尾还要加上127这个数字得到“Iodl>Qnb(ocy\127y.i\127d`3w}wek9{iy=~yL@EC”

继续往下走,发现似乎对某段字符加密了,然后与v12对比,不同就结束。

一个输出。那么我们先对加密后的字符串解密

上脚本:

Des = 'Iodl>Qnb(ocy y.i d`3w}wek9{iy=~yL@EC'
flag = ''
for i in range(len(Des)):
    if Des[i] == ' ':
        flag += chr(127 ^ i)
    else:
        flag += chr(ord(Des[i]) ^ i)
print(flag)

得到一条信息:Info:The first four chars are flag,那么接下来呢?好像到头了昂,但是我们并没有得到正确的flag昂。别慌,我们再找找:

我们能仔细看看,发现在错误的网址那,出现过一段字符串,我们回去看看:(在shift+F12中也能找到类似加密的文档,需要耐心)

在这shift+x查看调用:

发现下边有段像极了加密后的flag特别是有[]这两像极了{},我们跟进看看:

转化一下ASCII:

在这段函数里,首先先做了两个判断:对那段内存的两个字符进行异或,看是否为'f'、'g',根据我们得到的信息,前四个字符就是flag,再加上现在的判断,得出结论:就是将输入的flag进行异或后得到那段数据:(把它异或回来得到flag)

提取出内存中存放的数据:shift+e:

上脚本咯:

Des = [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]
v4 = 'flag'
v44 = ''
flag = ''

for i in range(len(v4)):
    v44 += chr(ord(v4[i]) ^ Des[i])
for i in range(len(Des)):
    flag += chr(Des[i] ^ ord(v44[i % 4]))
print(flag)

得到flag{Act1ve_Defen5e_Test}收工。

标签:加密,Des,chr,easyRE,flag,2019,得到,字符串,红帽
From: https://www.cnblogs.com/TFOREVERY/p/17375073.html

相关文章

  • C++ - VS2019配置pthread线程库
    说明在VS里用MS编译器不能直接调用pthread库,需要先自行下载该库:http://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip解压后用的到的只有Pre-built.2文件夹下的文件。 配置如下图分别配置三大项:包含目录-->...pthreads-w32-2-9-1-release\Pre-built.......
  • [GUET-CTF2019]re 1
    查壳:有个壳,脱一下,upx脱壳方法讲过了,(这里注意,低版本的upx是脱不掉壳的,换高版本哈)可以去:https://www.cnblogs.com/TFOREVERY/p/17366210.html不赘述了:64位进IDA老思想进主函数:对输入flag进行一个方法加密sub_4009AE:跟进:emm。menu优秀:简单的做一个逆运算就好了,这里有一个小坑,......
  • 商汤视觉跟踪算法两部曲之SiamMask , CVPR 2019商汤提出了对视觉目标(VOT)和对视频目标(VO
    商汤视觉跟踪算法两部曲之SiamMask,CVPR2019商汤提出了对视觉目标(VOT)和对视频目标(VOS)的统一框架。将跟踪的初始化只需要提供视频跟踪的box输入即可,输出时却能同时得到box和mask两个输出。只需要在Siamese网络中额外增加一个Mask分支即可。本工程提供复现该论文的C++工程代码及......
  • [极客大挑战 2019]HardSQL,wp
    一:分析既然说了是HardSQL,肯定就不是万能密码这种简单的了1.首先判断字符型还是数字型我们首先输入payload:username=admin'--+&password=1发现好像有什么被过滤掉了。然后检查过滤符号,这里可以直接用bp爆破看看过滤了哪些字符,也可以简单测试一下这里我猜测过滤了空格, 然......
  • [ACTF新生赛2020]easyre 1
    下载回来后,有两个文件查那个内存大的就行,上边那个扔着不管就行查壳32位,进IDA,老套路,进主函数int__cdeclmain(intargc,constchar**argv,constchar**envp){_BYTEv4[12];//[esp+12h][ebp-2Eh]BYREF_DWORDv5[3];//[esp+1Eh][ebp-22h]_BYTEv6[5];//......
  • 2019-推荐文章
    前言记录平时遇到的优质技术文章,按时间先后排序。内容2019-05-11《博客园美化教程大集合----极致个性化你的专属博客(超详细,看这篇就够了)》网上写图文教程的人,还真是贴心。2019-09-06https://www.yuque.com/sxc/front/kvokg4作者在语雀上的系列文章,都值得一看。2019-1......
  • 2019年-前端日记
    2019-04-02Vue屏幕宽度自适应:https://blog.csdn.net/qq_25386583/article/details/77161478https://blog.csdn.net/xuaner8786/article/details/815652192019-04-07控制iframe中的页面只显示一部分:https://blog.csdn.net/iteye_18722/article/details/819185632019-04-09......
  • easyre
    很简单的一个小练手这里习惯性的先查壳(养成习惯)(也可以查是几位的)无壳不管是进OD还是IDA都是直接出答案拖入OD如图拖入IDA很明显flag不需要动什么脑子,会拖入就行......
  • 青岛市程序设计竞赛冲刺④(2019山东省小学组试题)
    1.随机数原题: 解题思路:求出输入值中的最大值,从这个数输出到6即可AC代码:#include<bits/stdc++.h>#definelllonglongusingnamespacestd;intx,y;intmain(){ freopen("random.in","r",stdin); freopen("random.out","w",stdout); cin>......
  • ReSharper 2019.2.3安装教程
    摘抄:ReSharper2019破解版-ReSharperUltimatev2019.2.3完美破解版下载(附注册补丁)-艾薇下载站(aiweibk.com)安装准备文件:1、运行安装程序,JetBrains.ReSharper.2019.1.1.exe选择你需要的工具组件,并勾选接受协议,点next我这里就选了第一项组件,其他组件不知道什么意思 2......