首页 > 其他分享 >[攻防世界] Hello, CTF

[攻防世界] Hello, CTF

时间:2023-04-18 10:15:51浏览次数:33  
标签:攻防 esp int v10 char CTF ebp v9 Hello

int __cdecl main(int argc, const char **argv, const char **envp)
{
  int i; // ebx
  char v4; // al
  int result; // eax
  int v6; // [esp+0h] [ebp-70h]
  int v7; // [esp+0h] [ebp-70h]
  char Buffer[2]; // [esp+12h] [ebp-5Eh] BYREF
  char v9[20]; // [esp+14h] [ebp-5Ch] BYREF
  char v10[32]; // [esp+28h] [ebp-48h] BYREF
  __int16 v11; // [esp+48h] [ebp-28h]
  char v12; // [esp+4Ah] [ebp-26h]
  char v13[36]; // [esp+4Ch] [ebp-24h] BYREF

  strcpy(v13, "437261636b4d654a757374466f7246756e");
  while ( 1 )
  {
    memset(v10, 0, sizeof(v10));                // 初始化 v10
    v11 = 0;                                    // 初始化 v11
    v12 = 0;                                    // 初始化 v12
    sub_40134B((int)aPleaseInputYou, v6);
    scanf("%s", v9);                            // 输入到 v9
    if ( strlen(v9) > 17 )                      // 如果 v9 的长度大于 17
      break;                                    // 跳出 while
    for ( i = 0; i < 17; ++i )                  // 遍历 v9 数组中的成员
    {
      v4 = v9[i];                               // 遍历,把 v9[i] 赋值给 v4
      if ( !v4 )                                // 如果 v4 无效
        break;                                  // 跳出循环
      sprintf(Buffer, "%x", v4);                // 把 v4 的值转换为十六进制字符串,赋值给 Buffer
      strcat(v10, Buffer);                      // 向 v10 追加 Buffer 的内容
    }
    if ( !strcmp(v10, v13) )                    // 如果 v10 和 v13 相等
      sub_40134B((int)aSuccess, v7);            // 输出 success
    else
      sub_40134B((int)aWrong, v7);              // 输出 wrong
  }
  sub_40134B((int)aWrong, v7);
  result = --Stream._cnt;
  if ( Stream._cnt < 0 )
    return _filbuf(&Stream);
  ++Stream._ptr;
  return result;
}

比较十六进制字符串

标签:攻防,esp,int,v10,char,CTF,ebp,v9,Hello
From: https://www.cnblogs.com/azwhikaru/p/17328571.html

相关文章

  • 使用汇编语言 实现hello world功能
    使用汇编语言实现helloworld功能汇编环境设置安装DOSBox0和正常的软件安装没有区别在根目录文件DOSBox0.74-win32-installer.exe双击然后直接下一步next就行了masm5编译环境然后将根目录文件debug.exe文件拖放到masm5文件夹然后再将此文件夹拖放到D:的根目录此目......
  • 【攻防世界逆向】难度3引导题Insanity详解
    是一道非常简单的题目题目insanity解法一先用exeinfo打开看一下ELF文件,,接触的比较少,但好像可以用linux打开看,先IDA试试有main函数,看起来相当简单,想要看看strings直接找到flag,填入,正确解法二最近下了个kali,拿它试了一试,也是查看字符串指令也找到了flag附这题确实是......
  • GDOU-CTF-2023新生赛Pwn题解与反思
    第一次参加CTF新生赛总结与反思因为昨天学校那边要进行天梯模拟赛,所以被拉过去了。16点30分结束,就跑回来宿舍开始写。第一题和第二题一下子getshell,不用30分钟,可能我没想那么多,对比网上的WP,自己和他们有点不太一样,比较暴力。大概17点10的时候,写第三题,可能自己第一次遇到随机数问......
  • 网络安全工程师教你Kali Linux:Windows计算机攻防实战技巧
    1.背景介绍msfvenom是msfpayload和msfencode的结合体,可利用msfvenom生成木马程序,并在目标机上执行,在本地监听上线,在黑客圈子,这款工具略有名气。之前的教程内容都是关于如何生成木马并进行攻击,而本节课我们着重讲解当用户计算机受到木马攻击的危害及演示防御木马病毒实战。2.准......
  • GDOUCTF
    比赛不难,webAK一:在return分数处直接改二:POST/?aaa=114514&bbb=114514a&flag=1HTTP/1.1Host:node5.anna.nssctf.cn:28180Upgrade-Insecure-Requests:1User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/96.0.......
  • [NISACTF 2022]babyserialize
    [NISACTF2022]babyserialize<?phpinclude"waf.php";classNISA{public$fun="show_me_flag";public$txw4ever;publicfunction__wakeup(){if($this->fun=="show_me_flag"){hint();......
  • 服务器日志—wp—青少年CTF
    使用WireShark打开日志文件log.pcpng获取恶意用户下载的文件方法一:通过对FTP-DATA对象导出,可知下载了名为flag的文件,通过save可获取文件方法二:通过过滤FTP发现恶意用户使用了LIST、RETR等指令,其中RETR指令用于让服务器克隆一份指定的文件,由此推出下载了flag......
  • fastdds学习之2——Helloworld Demo
    本节详细介绍了如何使用C++API一步一步地创建一个简单的FastDDS应用程序,其中包含发布者和订阅者。也可以使用eProsimaFastDDSGen工具自行生成与本节中实现的示例类似的示例。在构建发布/订阅应用程序中解释了这种额外的方法,本例程在eProsimaFastDDSGithub仓库中,环境搭建完成......
  • Buuctf刷题Web 基础1
    1、[极客大挑战2019]EasySQL1题目,页面很酷炫!尝试一下万能密码提交得到flag{a21e57ef-6b2f-443e-a2fa-74635e6ce5aa}2、[极客大挑战2019]Havefun1题目是很可爱的一只小猫没有什么发现,F12检查一下于是乎传参http://84ceb43a-fd23-433b-9e30-84c174fd9b94.node4.buuoj.cn:81/?cat=......
  • Buuctf刷题Crypto 5day
    1、[WUSTCTF2020]佛说:只能四天先看题目,给了三个文件:尊即寂修我劫修如婆愍闍嚤婆莊愍耨羅嚴是喼婆斯吶眾喼修迦慧迦嚩喼斯願嚤摩隸所迦摩吽即塞願修咒莊波斯訶喃壽祗僧若即亦嘇蜜迦須色喼羅囉咒諦若陀喃慧愍夷羅波若劫蜜斯哆咒塞隸蜜波哆咤慧聞亦吽念彌諸嘚嚴諦咒陀叻咤叻諦缽隸祗......