CTFSHOW内部赛 逆向6_二进制玩家人均全栈

admin 2022年1月5日23:12:24评论107 views字数 942阅读3分8秒阅读模式

>

>

CTFSHOW内部赛 逆向6_二进制玩家人均全栈

newbie99

是个zip文件,修复一下得到一个 ” 听说大家很怕VMP? ” 的文件。
无法运行,跟标准elf文件比较一下,把头部改3个字节,文件可以跑了。
发现upx,解一下,解不开。。。
参考:https://www.52pojie.cn/thread-1048649-1-1.html
手动脱一下upx壳。
找到oep,dump_elf64.idc跑一下
CTFSHOW内部赛 逆向6_二进制玩家人均全栈
找到dumpfile,这下ida打开可以看了。
找到关键代码:
__int64 fastcall sub_401BFD(int64 a1, __int64 a2)
{
signed int v2; // eax
int v4; // [rsp+10h] [rbp-20h]
int v5; // [rsp+14h] [rbp-1Ch]
signed int i; // [rsp+2Ch] [rbp-4h]

v4 = 0;
v5 = 0;
sub_409740("input_flag:");
((void (fastcall *)(const char *, char *))loc_408C60)("%s", byte_4C0430);
for ( i = 0; i < 22; ++i )
{
v2 = byte_4C0430;
if ( v2 == 'd' )
{
++v5;
}
else if ( v2 > 'd' )
{
if ( v2 == 's' )
{
++v4;
}
else
{
if ( v2 != 'w' )
{
LABEL_12:
sub_409740("input_error!");
sub_408130(0);
}
--v4;
}
}
else
{
if ( v2 != 'a' )
goto LABEL_12;
--v5;
}
if ( dword_4BE100[8LL * v4 + v5] != 1 )
{
sub_409740("input_error!");
sub_408130(0);
}
}
sub_408AE0((
int64)"correct! %s\n", "Please bring ctfshow{} with you when submitting.", a2);
return 0LL;
}
明显是个迷宫:asd w 4个方向,22步
找一下迷宫数据:
CTFSHOW内部赛 逆向6_二进制玩家人均全栈
比划一下:dsddssaassddsddwwddsss
测试一下:

over!


v0id

newbie99 newbie佬可以简单说一下re4的思路嘛,爱你哟


admin

牛皮


  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月5日23:12:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CTFSHOW内部赛 逆向6_二进制玩家人均全栈http://cn-sec.com/archives/720085.html

发表评论

匿名网友 填写信息