0%

[SWPUCTF 2021 新生赛]re1

2025-08-31 20:00By
qqqqqqwd
C语言逆向逆向技术

Problem: [SWPUCTF 2021 新生赛]re1

思路

  • 解题大致思路

EXP

  • 具体攻击代码
  • 用IDA打开,F5查看伪代码
int __fastcall main(int argc, const char **argv, const char **envp) { char Str2[1008]; // [rsp+20h] [rbp-60h] BYREF char Str1[1000]; // [rsp+410h] [rbp+390h] BYREF int i; // [rsp+7FCh] [rbp+77Ch] _main(); strcpy(Str2, "{34sy_r3v3rs3}"); printf("please put your flag:"); scanf("%s", Str1); for ( i = 0; i <= 665; ++i ) { if ( Str1[i] == 101 ) Str1[i] = 51; } for ( i = 0; i <= 665; ++i ) { if ( Str1[i] == 97 ) Str1[i] = 52; } if ( strcmp(Str1, Str2) ) printf("you are wrong,see again!"); else printf("you are right!"); system("pause"); return 0; }

解题脚本:

#include "stdio.h" int main(){ char flag[]="{34sy_r3v3rs3}"; int i=0; for(i=0;i<20;i++){ if(flag[i]==51) flag[i]=101; if(flag[i]==52) flag[i]=97; } printf("%s",flag); } //{easy_reverse}

总结

  • 对该题的考点总结
  • 最总flag:NSSCTF{easy_reverse}
还没有人赞赏,快来当第一个赞赏的人吧!
  
© 著作权归作者所有
加载失败
广告
×
评论区
添加新评论