buu 刮开有奖
一.查壳,

二.拖入ida,分析
直接搜字符串完全没头绪,在看了大佬的wp才找到了,关键函数。

明显那个String就是我们要求的flag,要开始分析程序。
字符串长度为8,同时这个函数对字符串进行了处理,点击进去,贼复杂,拖入编译器执行,看看

#include<bits/stdc++.h>
using namespace std;
char a[]={'Z', 'J','S','E','C','a','N','H','3','n','g'};
int sub_4010F0(char a[], int a2, int a3)
{
int result; // eax
int i; // esi
int v5; // ecx
int v6; // edx
result = a3;
for ( i = a2; i <= a3; a2 = i )
{
v5 = 4 * i;
v6 =a[4*i];
if ( a2 < result && i < result )
{
do
{
if ( v6 > a[4*result] )
{
if ( i >= result )
break;
++i;
a[v5] =a[4*result];
if ( i >= result )
break;
while (a[4*i] <= v6 )
{
if ( ++i >= result )
goto LABEL_13;
}
if ( i >= result )
break;
v5 = 4 * i;
a[4*result] = a[4*i];
}
--result;
}
while ( i < result );
}
LABEL_13:
a[4*result] = v6;
sub_4010F0(a, a2, i - 1);
result = a3;
++i;
}
return result;
}
int main()
{
sub_4010F0(a,0,10);
for(int i=0;i<10;i++)
{
printf("%c",a[i]);
}
}
执行后,发现变成了这个
3,C,E,H,J,N,S,Z,a,g
三.分析下一个函数。

这几行是将字符串的345位和678位字符串进行base64的编码,所以熟悉加密算法是很有必要的。
四.看if

根据这句话,基本能得出7位字符串,JWP1jMp
第一位的字符不知道,但是可以爆破啊,就26个字母是吧,是U,提交就ok
了
buu 刮开有奖的更多相关文章
- BUUOJ reverse 刮开有奖
刮开有奖 这是一个赌博程序,快去赚钱吧!!!!!!!!!!!!!!!!!!!!!!!!!!!(在编辑框中的输入值,即为flag,提交即可) 注意:得到的 flag 请包上 flag{} 提交 拖到id ...
- [BUUOJ]刮开有奖reverse
刮开有奖 这是一个赌博程序,快去赚钱吧!!!!!!!!!!!!!!!!!!!!!!!!!!!(在编辑框中的输入值,即为flag,提交即可) 注意:得到的 flag 请包上 flag{} 提交 1.查壳 ...
- [BUUCTF]REVERSE——刮开有奖
刮开有奖 附件 步骤: 例行检查,无壳,32位程序 32位ida载入,shift+f12检索程序里的字符串,看到了一个base64加密的特征字符串,猜想这题用到了base64加密 从main函数开始看 ...
- BUUCTF 刮开有奖 WriteUp
题目链接 https://buuoj.cn/challenges#%E5%88%AE%E5%BC%80%E6%9C%89%E5%A5%96 题解 用IDA打开,按F5反编译,双击进入DialogFun ...
- BUUCTF--刮开有奖
文件链接:https://buuoj.cn/files/abe6e2152471e1e1cbd9e5c0cae95d29/8f80610b-8701-4c7f-ad60-63861a558a5b.ex ...
- 服务端性能测试工具校验v1.1
服务端性能测试工具校验v1.1 更新说明: 1.精简CRT运行库支持. 2.添加响应模拟测试,校验压力测试工具的响应时间统计准确性. 3.大并发请求请降低延迟时间 WEIMJSAM原创,转载请注明出处 ...
- 服务端性能测试工具校验v1.0
性能测试工具对服务端进行并发测试时,如果工具本身问题或异常就会造成真实并发与实际并发有差距,要测试10000/S并发的性能结果实际到达服务端的并发达不到95%,这样的测试无效. 所以给大家共享,我做的 ...
- Visual.Studio.2013.IDE+visual.studio.15.preview5 编译器
硬盘版Visual.Studio.2013.IDE + visual.studio.15.preview5 编译器 使用前注意以下事项: 1.右键-管理员权限安装,VS15补丁.exe,补丁是VS15 ...
- 测试工具之Charles视频教程(更新中。。。)
应群里小伙伴学习需求,录制新版 Charles V4 系列教程,后续内容抽空更新,测试工具系列带你上王者...(ノ°ο°)ノ前方高能预警 链接:http://pan.baidu.com/s/1c16P ...
随机推荐
- system verilog内建数据类型
- Qt开发笔记:OpenSSL库介绍、windows上mingw32版本的OpenSSL编译模块化
前言 Windows上mingw32版本的openssl的编译是属于比较棘手的,OpenSSL本身不提供支持.. OpenSSL 介绍 OpenSSL是一个开放源代码的软件库包,应用程序可 ...
- [leetcode] 45. 跳跃游戏 II(Java)(动态规划)
45. 跳跃游戏 II 动态规划 此题可以倒着想. 看示例: [2,3,1,1,4] 我们从后往前推,对于第4个数1,跳一次 对于第3个数1,显然只能跳到第4个数上,那么从第3个数开始跳到最后需要两次 ...
- centOS 7-Hadoop3.3.0完全分布式部署
本文内容不乏对各大佬的案例借鉴,侵删. 本次实验用到的有虚拟机,Xshell,Hadoop压缩包和jdk压缩包 hadoop111A:192.168.241.111 hadoop222B:192. ...
- Step By Step(Lua面向对象)
Step By Step(Lua面向对象) Lua中的table就是一种对象,但是如果直接使用仍然会存在大量的问题,见如下代码: 1 Account = {balance = 0}2 function ...
- 使用ubuntu charmed kubernetes 部署一套生产环境的集群
官方文档: https://ubuntu.com/kubernetes/docs 搭建一个基本的集群 集群ip规划 hostname ip ubuntu-1 10.0.0.10 juju-contro ...
- 利用NVIDIA NGC的TensorRT容器优化和加速人工智能推理
利用NVIDIA NGC的TensorRT容器优化和加速人工智能推理 Optimizing and Accelerating AI Inference with the TensorRT Contai ...
- ffmpeg architecture(中)
ffmpeg architecture(中) 艰苦学习FFmpeg libav 您是否不奇怪有时会发出声音和视觉? 由于FFmpeg作为命令行工具非常有用,可以对媒体文件执行基本任务,因此如何在程序中 ...
- CSS 常见问题笔记
CSS 常见问题 布局 一.盒模型宽度计算 问题:div1 的 offsetWidth 是多少? <style> #div1 { width: 100px; padding: 10px; ...
- Kubernetes 实战——有状态应用(StatefulSet)
一.简介 有状态实例:新实例和旧实例需要有相同的名称.网络标识和状态 无状态实例:可随时被替换 1. ReplicaSet 和有状态 Pod ReplicaSet 通过 Pod 模板创建多个 Pod ...