花指令

打开到这里 第一个nop点位 然后对下面的一坨按u+p

image

然后变这样 发现是一个jmp永跳 跳的还是它下一位 所以按u 然后nop第一个字节就可以

image

然后再按u+p 这样

image

能看到这个永跳了一个错误地址按u看看

image

发现是一个字符串 F1@gA 看下面cmp 是正确的字符串 通过了但是没有给flag 程序也退出了

这个patch掉E8

image

同时能看到上面的有一个跳转 根据dword_804A088 我们查看调用发现传了一个 1 那我们把jzpatch成jmp那不就好了吗 然后运行输入解出flag

image

运行如果出错了 如下报错可运行如下命令 ~/Desktop/ida9.3 这个是我自己的文件夹路径

image

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y libc6:i386 wget

mkdir -p ~/ctf-libcrypto10
cd ~/ctf-libcrypto10

wget https://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.20_i386.deb

dpkg-deb -x libssl1.0.0_1.0.2g-1ubuntu4.20_i386.deb .

cd ~/Desktop/ida9.3

chmod +x flower_removed_bypass.elf

LD_LIBRARY_PATH="$HOME/ctf-libcrypto10/usr/lib/i386-linux-gnu:$HOME/ctf-libcrypto10/lib/i386-linux-gnu" \
./flower_removed_bypass.elf

image

flag

F8C60EB40BF66919A77C4BD88D45DEF4