REVERSE-PRACTICE-BUUCTF-4

REVERSE-PRACTICE-BUUCTF-4

    • 刮开有奖
    • [BJDCTF 2nd]8086
    • [GKCTF2020]Check_1n
    • [GXYCTF2019]luck_guy

刮开有奖

exe文件,运行后无任何提示,无壳,用ida分析
WinMain->DialogBoxParamA->DialogFunc
DialogBoxParamA函数:
DialogParamA-Intro
DialogFunc函数:
刮开有奖-DialogFunc
其中sub_8A10F0函数存在递归调用,它的作用就是v7到v17的数据变换位置,把这个函数的代码进行简单处理运行,得到变换位置后v7到v17的数据

#include<stdio.h>
int arr[] = { 90, 74, 83, 69, 67, 97, 78, 72, 51, 110, 103 };
void sub_8A10F0(int * a1, int a2, int a3)
{int result;int i;int v5;int v6;result = a3;for (i = a2; i <= a3; a2 = i){v5 = i;v6 = a1[i];if (a2 < result&&i < result){do{if (v6 > a1[result]){if (i >= result)break;++i;a1[v5] = a1[result];if (i >= result)break;while (a1[i] <= v6){if (++i >= result)goto LABEL_13;}if (i >= result)break;v5 = i;a1[result] = a1[i];}--result;} while (i < result);}LABEL_13:a1[result] = v6;sub_8A10F0(a1, a2, i - 1);result = a3;++i;}}
void main()
{sub_8A10F0(arr, 0, 10);for (int i = 0; i < sizeof(arr) / sizeof(int); i++){printf("%d-%c\n", arr[i],arr[i]);}return;
}

运行结果:
sub_8A10F0-result
其中,GetDlgItemTextA函数:
GetDlgItemTextA-Intro
继续向下走,可以看到有两个base64的变换,最后是比较判断
刮开有奖-DialogFunc1
其中,v19~v25其实就是输入的后7个字符,它们在栈中的位置对应如下,于是利用sub_8A10F0解出String和v19,v20到v22用v5逆base64,v23到v25用v4逆base64,即可得到flag
刮开有奖-DialogFunc2

[BJDCTF 2nd]8086

exe程序,但不能运行,程序名称提示要读汇编,ida分析
没看到什么有用的逻辑,发现一段硬编码,按c转成汇编代码
8086-logic
分析汇编代码,就是一段字符串和0x1F进行异或
8086-logic1
写代码即可得到flag
8086-script

[GKCTF2020]Check_1n

exe程序,运行后画了一台win xp的pc,要输入开机密码,无壳,ida分析
首先来到main函数,一通乱点
check_in-main
在sub_40100A->sub_404DF0中发现byte_1C76740要和“HelloWorld”这个字符串比较,猜测这个字符串就是开机密码,试一下果然开机了
check_in-pwd
开机后有几个小游戏和flag,果断去看flag那个块
check_in-game
提示说是虚假的flag,还有一段看起来很像base64的字符串
check_in-flagmode
解base64,提示说试试砖块游戏
check_in-debase64
没明白打砖块怎么玩就死了,但是头顶给出了flag,提交成功
check_in-flag

[GXYCTF2019]luck_guy

elf文件,无壳,ida分析
分析main函数,要求输入一个偶数,进入get_flag()函数
get_flag()函数取了5次随机数,然后用switch判断,case1给了flag的前半部分,后半部分是f2,但不知道f2,case2和case3没什么用,case4是给f2赋值,case5是对f2进行变换
lucky_guy-get_flag
由case5写脚本,注意小端序,长度为8,下标为奇数对应减2,下标为偶数对应减1,即可得到flag后半部分,连起来即为flag
lucky_guy-script

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

REVERSE-PRACTICE-BUUCTF-5

REVERSE-PRACTICE-BUUCTF-5findit简单注册器[GWCTF 2019]pyre[BJDCTF2020]JustREfindit apk文件&#xff0c;直接上jadx-gui分析 验证输入的逻辑比较简单&#xff0c;写脚本即可 安装这个apk&#xff0c;将字符串输入即可得到flag&#xff0c;当然也可以直接写输出flag的脚本…

REVERSE-PRACTICE-BUUCTF-6

REVERSE-PRACTICE-BUUCTF-6rsaCrackRTF[2019红帽杯]easyRE[ACTF新生赛2020]easyrersa 解压出来是.enc和.key两个文件&#xff0c;.enc是密文&#xff0c;.key存放着公钥信息 使用在线网站或者openssl解析.key文件中存放着的公钥信息 可获知rsa需要的模数n和公钥e 使用在线网站…

vs项目结构解析

当我们用VS开发一个项目的时候&#xff0c;首先应该清楚用VS这个IDE生成的一些文件和文件夹是什么意思&#xff0c;起什么作用&#xff0c;什么场合下使用。 因为我使用的是VS2015&#xff0c;就以这个为例来进行一些说明&#xff1a; 首先要做的是更改你的操作系统&#xff…

REVERSE-PRACTICE-BUUCTF-7

REVERSE-PRACTICE-BUUCTF-7Youngter-drive[ACTF新生赛2020]rome[FlareOn4]login[SUCTF2019]SignInYoungter-drive exe程序&#xff0c;运行后提示输入flag&#xff0c;有upx壳&#xff0c;脱壳后ida分析 main函数中获取输入并拷贝&#xff0c;开启了两个线程分别运行StartAddr…

REVERSE-PRACTICE-BUUCTF-8

REVERSE-PRACTICE-BUUCTF-8[GUET-CTF2019]re相册[V&N2020 公开赛]strangeCpp[BJDCTF2020]easy[GUET-CTF2019]re elf文件&#xff0c;有upx壳&#xff0c;脱壳后ida分析 字符串交叉引用来到主逻辑函数sub_400E28 逻辑清晰&#xff0c;获取输入&#xff0c;验证输入&#xf…

NuGet的使用、部署、搭建私有服务

目录 前言 什么是NuGet?为什么要使用NuGetNuGet的优点使用 Get-Help NuGetInstall-PackageGet-PackageUninstall-Package制作NuGet库包搭建NuGet服务器上传NetGet库包新增NuGet源总结前言 什么是NuGet? Nuget是一个.NET平台下的开源的项目&#xff0c;它是Visual Studio的…

REVERSE-PRACTICE-BUUCTF-9

REVERSE-PRACTICE-BUUCTF-9[ACTF新生赛2020]usualCrypt[MRCTF2020]Transform[V&N2020 公开赛]CSRe[WUSTCTF2020]level1[ACTF新生赛2020]usualCrypt exe程序&#xff0c;运行后提示输入flag&#xff0c;无壳&#xff0c;ida分析 main函数逻辑清晰&#xff0c;获取输入&…

ASP.NET MVC Beta 新特性之 IValueProvider

在刚发布的ASP.NET MVC Beta版中&#xff0c;在UpdataModel方法中提供了一个带有IValueProvider参数的重载。那么这个IValueProvider有什么用呢&#xff1f; 我们先来看一个简单的场景&#xff0c;例如我们的blog系统有一个Post的对象&#xff0c;Post对象有一个Tags属性和Cat…

REVERSE-PRACTICE-BUUCTF-10

REVERSE-PRACTICE-BUUCTF-10[GWCTF 2019]xxor[HDCTF2019]Maze[WUSTCTF2020]level2[BJDCTF2020]BJD hamburger competition[GWCTF 2019]xxor elf文件&#xff0c;无壳&#xff0c;用ida分析 main函数的逻辑清晰&#xff0c;首先获取输入&#xff0c;为6个int64的值&#xff0c;…

Axure教程 axure新手入门基础(1)

axure新手入门基础(1) 名词解释&#xff1a; 线框图&#xff1a;一般就是指产品原型&#xff0c;比如&#xff1a;把线框图尽快画出来和把原型尽快做出来是一个意思。 axure元件&#xff1a;也叫axure组件或axure部件&#xff0c;系统自带了一部分最基础常用的&#xff0c;网上…

REVERSE-PRACTICE-BUUCTF-11

REVERSE-PRACTICE-BUUCTF-11[FlareOn4]IgniteMe[MRCTF2020]Xor[GKCTF2020]BabyDriver[MRCTF2020]hello_world_go[FlareOn4]IgniteMe exe程序&#xff0c;运行后提示输入flag&#xff0c;无壳&#xff0c;ida分析 主逻辑在start函数中&#xff0c;读取输入后check&#xff0c;验…

Axure教程 axure新手入门基础(2) 简单易上手

https://www.duote.com/tech/35/102713.html (二)Axure rp的线框图元件 l 图片 图片元件拖入编辑区后&#xff0c;可以通过双击选择本地磁盘中的图片&#xff0c;将图片载入到编辑区&#xff0c;axure会自动提示将大图片进行优化&#xff0c;以避免原型文件过大;选择图片时可以…

REVERSE-PRACTICE-BUUCTF-12

REVERSE-PRACTICE-BUUCTF-12[WUSTCTF2020]level3crackMe[FlareOn6]Overlong[WUSTCTF2020]Cr0ssfun[WUSTCTF2020]level3 elf文件&#xff0c;无壳&#xff0c;ida分析 main函数中&#xff0c;获取输入&#xff0c;对输入做base64编码&#xff0c;提示有错误&#xff0c;在程序中…

Axure RP使用基础教程

一、Axure界面介绍 1、页面导航面板&#xff08;Pages&#xff09; Axure的页面管理采用类似操作系统的文件夹和页面文件的管理方式&#xff0c;不同点是&#xff0c;页面文件可以存在子页面&#xff0c;这一点是考虑了页面与页面跳转或者嵌套页面等网页特点。 页面文件管理导…

REVERSE-PRACTICE-BUUCTF-13

REVERSE-PRACTICE-BUUCTF-13firmware[ACTF新生赛2020]Oruga[Zer0pts2020]easy strcmp[GXYCTF2019]simple CPPfirmware .bin&#xff08;二进制&#xff09;文件&#xff0c;由题目提示知是路由器固件逆向 参考&#xff1a;逆向路由器固件之解包 Part1 linux安装好binwalk和fir…

REVERSE-PRACTICE-BUUCTF-14

REVERSE-PRACTICE-BUUCTF-14[FlareOn3]Challenge1[GUET-CTF2019]number_game[GWCTF 2019]re3[网鼎杯 2020 青龙组]singal[FlareOn3]Challenge1 exe程序&#xff0c;运行后提示输入密码&#xff0c;输入错误退出程序&#xff0c;无壳&#xff0c;ida分析 main函数逻辑清晰&…

REVERSE-PRACTICE-BUUCTF-15

REVERSE-PRACTICE-BUUCTF-15[2019红帽杯]xx[ACTF新生赛2020]Universe_final_answer[WUSTCTF2020]level4findKey[2019红帽杯]xx exe程序&#xff0c;运行后直接输入&#xff0c;无壳&#xff0c;ida分析 交叉引用字符串“You win&#xff01;”来到sub_1400011A0函数 主要的逻辑…

【三层架构】——COM/DCOM初识

背景&#xff1a; 在学习三层架构的时候&#xff0c;知道三层分为UI层&#xff08;表现层&#xff09;、BLL层&#xff08;业务逻辑层&#xff09;、DAL层&#xff08;数据访问层&#xff09;&#xff0c;相对于传统的二层架构&#xff08;客户端和数据库&#xff09;来说&…

REVERSE-PRACTICE-BUUCTF-16

REVERSE-PRACTICE-BUUCTF-16[UTCTF2020]basic-reequation[安洵杯 2019]crackMe[FlareOn5]Minesweeper Championship Registration[UTCTF2020]basic-re elf文件&#xff0c;无壳&#xff0c;用ida分析 main函数就是简单的加减乘除运算 shiftF12&#xff0c;在字符串窗口看到fla…

IPC之命名管道

1.管道是通过IO接口存取得字节流&#xff0c; windows中利用得是ReadFile()和WriteFile(),windows利用单一句柄支持双向IO,命名管道也称做FIFO(first in first out) 命名管道得机制&#xff1a;一个进程把数据放到管道里&#xff0c;另一个知道管道名字得进程把数据把取走&…