64位elf文件

64位ida查看字符串跟进main函数

__int64 __fastcall main(__int64 a1, char **a2, char **a3)
{char v3; // al__int64 result; // raxchar v5; // [rsp+7h] [rbp-B9h]signed int i; // [rsp+8h] [rbp-B8h]signed int j; // [rsp+Ch] [rbp-B4h]int v8[14]; // [rsp+10h] [rbp-B0h]int v9; // [rsp+4Ah] [rbp-76h]__int16 v10; // [rsp+4Eh] [rbp-72h]char v11[17]; // [rsp+50h] [rbp-70h]char v12; // [rsp+61h] [rbp-5Fh]unsigned __int64 v13; // [rsp+B8h] [rbp-8h]v13 = __readfsqword(0x28u);printf("input flag:", a2, a3);scanf("%s", v11);v9 = 'ftca';v10 = '{';v5 = 1;for ( i = 0; i <= 4; ++i ){if ( *((_BYTE *)&v9 + i) != v11[i] ){v5 = 0;goto LABEL_6;}}if ( !v5 )goto LABEL_19;
LABEL_6:for ( j = 0; j <= 11; ++j )v8[j] = v11[j + 5];v3 = (unsigned __int8)sub_83A(v8) && v12 == '}' ? 1 : 0;if ( v3 ){printf("That's true! flag is %s", v11);result = 0LL;}else{LABEL_19:printf("Try another time...");result = 0LL;}return result;
}

上下是判定头字符串的actf{}
主要看sub_83A
ida提示too big function

百度得到只需要修改配置文件IDA\cfg\hexrays.cfg

找到:
MAX_FUNCSIZE            = 64        // Functions over 64K are not decompiled
修改为:
MAX_FUNCSIZE            = 1024        // Functions over 64K are not decompiled

重启ida,让函数再跑一会儿

卡完是一个三千多行的函数

总结:
输入的值经历三千行的变换后等于数组v4的值
逆向是不可能逆向的,直接开始爆破

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int v4[]={126,50,37,88,89,107,53,110,0,19,30,56};
int sub_83A(char *v1,int i)
{*v1 ^= 43u;v1[1] ^= 108u;v1[2] ^= 126u;v1[3] ^= 86u;//略 直接复制源代码就行v1[8] ^= 0x6Bu;v1[9] ^= 0x70u;v1[10] ^= 0x29u;v1[11] ^= 0x3Bu;if(v1[i] == v4[i])return 1;elsereturn 0;
}int main()
{int i,j;char flag[13] = "";char tmp[13] = "";for(i = 0; i < 12 ; i++){for(j = 33; j <= 126 ; j++){strcpy(flag,tmp);flag[i] = j;if(sub_83A(flag,i)){tmp[i] = j;break;}}}printf("actf{%s}\n",tmp);return 0;
}

flag{b0Nf|Re_LiT!}

buu-[ACTF新生赛2020]SoulLike相关推荐

  1. BUU [ACTF新生赛2020]Universe_final_answer

    [ACTF新生赛2020]Universe_final_answer 首先查壳, 64bit 无壳 ida64位打开 main() __int64 __fastcall main(int a1, ch ...

  2. BUUCTF——[ACTF新生赛2020]SoulLike——使用angr解

    64位无壳.IDApro打开,查看main函数 逻辑很简单,我们来查看sub_83A函数.点进去,toobig 看了其他博客. 我们需要将ida /ctg目录下的hexrays.cfg文件中的MAX_ ...

  3. [SUCTF2018]babyre [ACTF新生赛2020]fungame

    文章目录 [SUCTF2018]babyre 惯用思维 常人思维 GAMEOVER [ACTF新生赛2020]fungame int __cdecl sub_401340(int a1) int __ ...

  4. BUUCTF Misc 穿越时空的思念 [ACTF新生赛2020]outguess [HBNIS2018]excel破解 [HBNIS2018]来题中等的吧

    目录 穿越时空的思念 [ACTF新生赛2020]outguess [HBNIS2018]excel破解 [HBNIS2018]来题中等的吧 穿越时空的思念 下载文件 使用Audacity打开 点击图示 ...

  5. [BUUOJ] [RE] [ACTF新生赛2020] rome1

    IDA 好久没写博客了,最近在刷re,这道题是我觉得十分有意义的一道题.故AC后总结分享给大家.不足之处请指正. 分析 直接导入IDA shift +F12 双击后按 ctrl + x跳转到被调用的函 ...

  6. BUUCTF-MISC-[BJDCTF2020]你猜我是个啥~[ACTF新生赛2020]outguess

    文章目录 1.[BJDCTF2020]你猜我是个啥 2.秘密文件 3.[SWPU2019]神奇的二维码 4.[BJDCTF2020]一叶障目 5.[BJDCTF2020]just_a_rar 6.[B ...

  7. re学习笔记(59)BUUCTF - re - [ACTF新生赛2020]Oruga

    新手一枚,如有错误(不足)请指正,谢谢!! 题目链接:[ACTF新生赛2020]Oruga IDA64位载入,进入main函数 进入sub_78A()函数 类似于象棋里面的'车'吧,不过这个要走到障碍 ...

  8. [ACTF新生赛2020]fungame

    32位无壳 简单异或,解出来是 Re_1s_So0_funny but没有那么简单,这里只有16字节.继续分析: 这里出现了栈溢出: 4013BA函数的参数source 也就是v4(我们的flag) ...

  9. [ACTF新生赛2020]easyre

    脱壳 使用exeinfo查看文件,发现有upx,使用upxshell解压缩.之后放进IDA中. 查看程序 很明显V4和v16都是个数组.可以看出是将v4的每个值(一共12个),去和data的那个数组去 ...

最新文章

  1. java将输出结果写入csv文件_如何在Java中将数据写入.csv文件?
  2. maven超级pom内容
  3. textarea 转换 html,textarea html标签转换为纯文本
  4. 调集群,我的姿势不对,好累!
  5. 【POJ - 1287】 Networking (并查集 + 最小生成树)
  6. 1 MLP-Mixer: An all-MLP Architecture for Vision
  7. python基础代码技巧_写Python必须知道的这几个代码技巧!你会吗?
  8. 使用EasyRecovery轻松修复损坏的照片
  9. 孙鑫VC学习笔记:第十二讲 (六) 读写注册表
  10. 190706每日一句
  11. Atitit 获取数据库表主键功能的实现 数据库模块 艾提拉attilax总结 package com.attilax.sql; import java.sql.Connection; im
  12. UE4/UE5 虚幻引擎,Light光照系列(一)
  13. 解密360黑幕:离职奇虎360老员工的告白
  14. ACM 6174问题C++解决
  15. 104.android 简单的检查小米、华为、OPPO、VIVO手机系统是否打开通话自动录音功能,跳转通话录音页面,安卓怎么检查开启通话自动录音,安卓开启自动录音
  16. linux命令下jq的用法(curl 格式化输出json 字符串)
  17. 什么是Python中的套接字编程?
  18. cad批量选择相同块_[转载]CAD-快速选择相同或类似的物体、图元、块
  19. 5.5 综合案例1.0-电力采集
  20. Windbg使用说明书

热门文章

  1. Linux服务器上的mongodb:/lib64/libc.so.6: version `GLIBC_2.14‘ not found (required by /app/hems/mong)
  2. php-fpm 多核,linux 多核CPU性能调优
  3. 计算机一级电子表格TF函数,TFG1000系列DDS函数信号发生器基本操作
  4. win10 以太网消失了
  5. Nginx缓存静态文件
  6. rm 好凶残,太 TM 吓人了!
  7. HyperLynx(八)带状线串扰的仿真
  8. ( 22美赛C题)基于投资最优交易策略的研究(部分内容)
  9. UEFI 基础教程 (十四) - 设置默认启动项为UEFI Shell
  10. Centos安装RabbitMQ超详细(必须收藏)