sysucsa-reverse 新手赛wp

前言

太猛了你们
apl都被人做出来了。。我当时都做了一整天。。。

heythere

好了相信大家做web和misc和crypto也做得差不多了,我就来发发这个题的引导教程8
这个题50分,emm,是个签到题。“公认最难入门”的二进制,其实也不是那么玄乎。。
首先,你得先有个IDA!
然后打开IDA64(因为题目是64位的程序),加载题目
在这里插入图片描述
点确定,然后
在这里插入图片描述
IDA处理之后就可以看到这样的界面。
IDA的基本操作要会一些,不会的话引导文档链接里面有
众所周知,c语言程序,main函数是必不可少的(雾),我们双击main,看看主函数写了什么

有的同学也可能是这样的
在这里插入图片描述
这是ida反汇编的结果。
如果你对汇编足够熟悉,直接读汇编语言来破解程序逻辑也是极好的
我们按一下F5,会有个提示框,点确定。
然后会有如下界面:
在这里插入图片描述
那么这个程序就很显然了。
先输入一个字符串str。
然后对str第i位与i异或
最后与s比较,若正确,则输出Right!
换言之,把s的第i位异或i,是不是就可以得出正确的输入了呢?
我们先双击s,看看s是什么。
在这里插入图片描述
这里都是16进制,我们把这段抄下来。
这里我用了python进行编程,用c也可以,看个人喜欢。
在这里插入图片描述
然后对s的第i位与i进行异或,再把s转化为ASCII字符输出。
在这里插入图片描述
flag就出来了!具体是什么我就不放了,大家去试试吧~

sysucsa_0

其实是sysucsa的弱化版本。
先在linux运行一下
在这里插入图片描述
输出一段乱码???
把这个可执行文件拖入ida中,同样的,点main函数,然后F5
在这里插入图片描述
发现程序很丑,大意就是将translate(x)根据x的不同一个个字符输出。
我们看看translate写了啥。
在这里插入图片描述
这和上面那题差不多,也是a[i]异或i,把逆回去就好了,注意输出的顺序
(双击a可以看到a的值)
在这里插入图片描述
在这里插入图片描述
自己试试看吧~

sysucsa

和sysucsa0很像。都是translate。不过这次的输出顺序就没这么简单了。
在这里插入图片描述
可以看到是一连串的dword。这里教大家一个小技巧
先用鼠标选定一段数据(比如这里的dw段)
在这里插入图片描述
然后按*键(shitf+8),就会弹出窗口,确定的话就可以自动转为数组了。
有些参数可以调,看题目需求可以微调一下。
在这里插入图片描述
在这里插入图片描述
再回到程序段重新按一下F5,就可以看到很舒服的画面了
在这里插入图片描述

对tranlate函数里的a也操作一波,就会有
在这里插入图片描述
观察一下A的数据,发现偶数(即左边这一列)都是可见字符,于是考虑是不是左边的字符按一定顺序输出就能得到flag
保险做法是左右都试一试,再不行就人脑组合一下。不过这个题显然没这么费劲,就没整这么复杂。
参照sysucsa0的做法,换换数据,换换输出顺序,就得到flag啦。

sysucsa2

做法一:
先程序解密:
judge函数被加密
在这里插入图片描述
在ida里面可以运行python脚本 直接复制可以运行(记得敲两下回车)

judge=0x600B00
for i in range(182):
    addr=0x600B00+i
    byte=get_bytes(addr,1)
    byte=ord(byte)^0xC
    patch_byte(addr,byte)

改结尾地址(右键 编辑函数)
取消函数定义/再重定义(c+p(Define))
解密后长这样
在这里插入图片描述
会发现和 i i i异或 逆着异或回去就OK了

flag_enc="fmcd\x7fk7d;V\x60;np"
flag=""
for i in range(len(flag_enc)):
    c=flag_enc[i]
    flag+=chr(ord(c)^i)

print flag

做法二:
直接gdb动态调试跟着走,judge函数会把异或后的flag放到参数里,跟着调试就完事了。
看得懂得需要一点汇编基础,起码要看得出来汇编操作的异或,或者能找到异或后的地址看得出来是flag

apl

其实就是网鼎杯原题 我改了一下flag。。
我看后台很多人交原flag啊
https://xz.aliyun.com/t/2666
是我们王磊师兄写的wp,顺便骗一波阅读。
如果仔细读了那篇wp,懂了它的运作(和这个题是一模一样的),把加密的数据改一改,就能得到这个题的flag了
当然可以自己百度apl自己慢慢玩,这个还挺简单的,在国际赛的那个原题分也不高,就是比较好玩!

hide2

rctf的magic 原题
https://www.52pojie.cn/thread-742361-1-1.html
出题就说了出题人也不会做。等一个大哥做一哈。有兴趣的可以去看看,也是蛮有意思的一个题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值