ctf 2019 re

刚开始没注意,直接进的64位,没发现有壳,里面也有俩个函数,只是看不懂,然后发现字符串也没有,就查了下壳,发现是upx壳,就脱壳

顺着字符串看到了很显眼的corret,跟进去(双击,然后选择corret字符串,进去相应的函数)

在这里插入图片描述

这边这个if语句的判断很明显啊,就点进去看了看,就是一大串乘法
在这里插入图片描述

思路:

很简单,除回去就出来了, 这个数量很大,我是用word查找替换做的
中间少了一个[6],因为只有一个数,就从0开始一个个试的,是1,

脚本

#include <iostream>

using namespace std;

int main(){
	//int index = 0;
	//char v12[] ="PyvragFvqrYbtvafNerRnfl@syner-ba.pbz";
	//char flag[44];
	char a1[55];
			a1[0]=166163712/  1629056;
			a1[1]=731332800/  6771600;
			a1[2]=357245568/  3682944;
			a1[3]=1074393000/ 10431000;
			a1[4]=489211344/  3977328;
			
			a1[5]=518971936/  5138336;
			a1[6]='@';
			a1[7]=406741500/  7532250;

			a1[8]=294236496/  5551632;

			a1[9]=177305856/  3409728;

			a1[10]=650683500/ 13013670;

			a1[11]=298351053/ 6088797;
			
			a1[12]=386348487/ 7884663;

			a1[13]=438258597/ 8944053;

			a1[14]=249527520/ 5198490;

			a1[15]=445362764/ 4544518;

			a1[17]=174988800/ 3645600;

			a1[16]=981182160/ 10115280;

			a1[18]=493042704/ 9667504;

			a1[19]=257493600/ 5364450;

			a1[20]=767478780/ 13464540;

			a1[21]=312840624/ 5488432;
			
			a1[22]=1404511500/ 14479500;

			a1[23]=316139670/ 6451830;

			a1[24]=619005024/ 6252576;

			a1[25]=372641472/ 7763364;

			a1[26]=373693320/ 7327320;

			a1[27]=498266640/ 8741520;

			a1[28]=452465676/ 8871876;
			a1[29]=208422720/  4086720;
			a1[30]=515592000/  9374400;

			a1[31] = '\0';
			for(int i=0;i<31;i++){
				cout<<(char)a1[i];
			}
	//flag[index] = '\0';
	//cout<<"结果是: "<<flag<<endl;

	system("pause");
	return 0;

	}

flag{e165421110ba03099a1c039337}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值