type
status
date
slug
summary
tags
category
icon
password
目前只学习复现了这几道题,主要是为了分享里面的一些比较好玩的做题思路,若有解释的不太好的地方,望师傅们指正🙏🏻🙏🏻🙏🏻
number-mashing
逻辑非常简单,输入两个整数,但是第一个判断那里其实在IDA显示的不对,看了题目出的源码才知道
我们其实可以把elf文件拖到ghidra里面
它的正常加密是
看完判断条件之后,我们可以发现如果从正常数学角度来说,其实是一个伪命题
那我们就从别的角度来想,它的type既然是int 类型,那我们就想一下整形溢出
int 类型的范围的是-2147483648~2147483647,那我们第一个数取-2147483648,第二个数取-1
(-2147483648)/(-1)=2147483648,整形溢出了 2147483648--->-2147483648
rusty-vault
简单的rust逆向,AES加密-GCM模式
密文
key
nonce
exp
jmp-flag
我们看最后的判断,sub_1200的返回值要为真
qword_9010的值要为0
其实就是将你传入的值作为参数,(your_input[i])*128)+0x60,然后将基址+(处理的值)赋值为rax,然后跳转rax的值,有很多个函数就是对qword_9010内存处的值进行处理
有好多函数都是对qword_9010内存处的值赋值为0
但是函数太多了,我们不可能手动把值都复制出来,这里我觉得还是要有一些脑洞的,我们利用capstone这个反汇编引擎
dungeon
我觉得这个题比较好玩一点,动态迷宫问题
有关复现上的问题,欢迎您在底部评论区留言,一起交流~
- Author:5m10v3
- URL:https://5m10v3.top/article/0f13a26d-95a1-4db7-9ed3-5796834ac523
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts