REVERSE-PRACTICE-CTFSHOW-2

re3

main函数,分析可知,将输入的字符串按十六进制转成数字,写到v5,赋给v17[6]
当i等于6时,v16会加上输入的值,然后进入循环,最后判断v16是否等于0xffff
re3-main
因为v17[0~5]的值是固定的,于是当i等于0到5的过程中,v16最后的累加结果是固定的
调试可得,当i刚刚++到6时,v16的值为0xE560
第二层for循环中,v16先加上v17[6],然后判断是否大于0xffff,小于等于0xffff即退出循环
这里可以直接让v17[6]=0xffff-0xE560=0x1A9F,v16加上0x1A9F后即等于0xffff,然后退出循环
下面的if判断v16==0xffff成立,于是有下图,提交flag{1a9f}成功
re3-flag

红包题 武穆遗书

exe程序,要求输入少于50个字符,upx脱壳,ida分析
main函数,有反调试,有看不懂的变换,但是check很简单,直接比较输入和变换后的内容
武穆遗书-main
通过attach来过反调试,如下图设置断点,运行exe后先不输入,ida的Debugger->Attach to process,选择正在等待输入的exe
武穆遗书-breakpoint
attach后,在exe黑窗中任意输入,回车,F9,执行流就断在了如下图所示处,此时v4指向的字符串即为flag
武穆遗书-flag

数学不及格

elf文件,ida分析,main函数,主要逻辑写在注释里,要算出除程序名之外的4个参数
math-main
前三个check相加,有

(v9-v10)+(v9-v11)+(v9-v12)=3*v9-(v10+v11+v12)=0x233F0E151C+0x1B45F81A32+0x244C071725=0x62d10d4673

而check4

v4+v10+v11+v12=0x13A31412F8C

两个等式相加可得,其中v9是斐波那契数列第v4左右项的值,v4是项数

3*v9+v4=0x62d10d4673+0x13A31412F8C=0x19d024e75ff

3*v9+v4的和除以3,可以大概知道v9的值

print((0x233F0E151C+0x1B45F81A32+0x244C071725+0x13A31412F8C)/3)
#591286729898

找一个在线计算斐波那契数列的网站:斐波那契
找到一个非常接近上面算出来的v9的大概值的一个数
math-v9
于是v9==591286729879,v4=0x19d024e75ff-3*v9=58
再算出4个输入的参数为

v9=591286729879
v4=58
print(hex(v9-0x233F0E151C))
print(hex(v9-0x1B45F81A32))
print(hex(v9-0x244C071725))
print(hex(v4+0x6543))
#0x666c61677bL
#0x6e65776265L
#0x655f686572L
#0x657d

验证一下
math-suc
再转成字符串,得到flag

from Crypto.Util.number import long_to_bytes
print(long_to_bytes(0x666c61677b6e65776265655f686572657d))
#flag{newbee_here}

flag白给

exe程序,输入序列号验证,upx脱壳,ida分析
ida没有解析出main函数,shift+F12打开字符串窗口,发现一个和exe窗口相同的字符串HackAv
交叉引用过去,来到TForm1_Button1Click函数
flag-main
简单的将输入的字符串和已知的明文字符串"HackAv"比较,直接输入即可验证成功
falg-suc

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

P1umH0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值