首页 > 其他分享 >re | [MRCTF2020]VirtualTree

re | [MRCTF2020]VirtualTree

时间:2023-01-08 13:34:14浏览次数:53  
标签:VirtualTree int unsigned char re include MRCTF2020

re | [MRCTF2020]VirtualTree

这个题是一个错题,是有多解的。
原因是使用了abs函数

考察了二叉树后序遍历,和一点基本花指令,还有一点点smc的内容。

image

直接丢exp了:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

unsigned char cmps[]={0x17,0x63,0x77,0x3,0x52,0x2E,0x4A,0x28,0x52,0x1B,0x17,0x12,0x3A,0xA,0x6C,0x62};
unsigned char buff[1000],size=0;

int order[] = {12,11,6,15,14,10,5,2,9,4,13,8,7,3,1,0};   // 后序(先右后左) 

int main(){
	unsigned char n[16];
	int i;
	for(i=0;i<16;i++)
		n[i]='A'+i;
	// 先倒序修正cmps
	cmps[15] -= 2;
	cmps[14] ^= cmps[15];
	// cmps[12] += cmps[2];
	cmps[12] = cmps[2] - cmps[12];
	cmps[11] ^= cmps[12];
	// cmps[10] += cmps[7];
	cmps[10] = cmps[7] - cmps[10];
	// cmps[9] += cmps[8];
	cmps[9] = cmps[8] - cmps[9];
	cmps[8] ^= cmps[7];
	cmps[7] -= 3;
	// cmps[6] += cmps[1];
	cmps[6] = cmps[1] - cmps[6];
	cmps[4] ^= cmps[5];
	cmps[3] += cmps[7];
	cmps[2] -= 7;
	cmps[1] ^= cmps[2];
	cmps[0] -= 10;
	// 再根据后序遍历xor 
	for(i = 0; i < 16; i ++){
		cmps[i] ^= n[order[i]];
	}
	for (i = 0; i < 16; i ++){
		printf("[%d] %d: %c \n", i, cmps[i], cmps[i]);
	}
	printf("%s \n", cmps);
	
	return 0;
}

标签:VirtualTree,int,unsigned,char,re,include,MRCTF2020
From: https://www.cnblogs.com/Mz1-rc/p/17034454.html

相关文章

  • CSharp: Unit of Work Pattern in donet core 6
     usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceGeovin.Du.DuUnitOfWork.Domai......
  • neon serverless postgres 简单试用
    内容来自官方的docker-compose内容,主要是测试试用参考架构  从以上图可以看出,neon应该包含了几个组件,safekeeper,pageserver,计算节点,以及对象存储,运行的服务也是参......
  • readlink realpath
     readlink默认检查参数是否存在,realpath不会检查    readlink直接读取非symlink报错,读取symlink只解析第一级symlinkrealpath可直接解析symlink和非s......
  • Fiddlercore
    Fiddlercore拦截并修改HTTPS链接的网页,实现JS注入.联系QQ564955427 https://www.cnblogs.com/Charltsing/p/FiddlerCoreHTTPS.html使用fiddlercore修改网页的返回内容h......
  • re | [QCTF2018]Xman-babymips
    re|[QCTF2018]Xman-babymipsmips32架构的题目位运算,前5位直接xor,后面再加密一次。直接爆破就好exp:aim=[82,253,22,164,137,189,146,128,19,65,84,16......
  • oracle在线增加redo日志组成员
    文档课题:oracle在线增加redo日志组成员.数据库:oracle11.2.0.41、相关知识oracle通过redo保证数据库事务可以被重演,从而使得在发生故障之后,数据可以被恢复.redo对于oracle数......
  • dremio singlestore arp 扩展
    此插件来自singlestore官方的,基于了dremio23.1版本开发conf配置类@SourceType(value="SINGLESTOREARP",label="SingleStore",uiConfig="singlestore......
  • 【学习笔记】动态树 Link-Cut Tree
    -闲话LCT优秀博客:FlashHu大佬的cnblogs:https://www.cnblogs.com/flashhu/p/8324551.html-动态树Link-CutTree-前置知识「必学」Splay。「重要」树链剖分......
  • DevExpress 的LayoutControl控件导致资源无法释放的问题处理
    现象记录前段时间同事发现我们的软件在加载指定的插件界面后,关闭后插件的界面资源不能释放,资源管理器中不管内存,还是GDI对象等相关资源都不会下降。问题代码问题的......
  • Redis未授权访问漏洞复现
    redis数据库默认无密码认证,当数据库未设置认证时,即存在未授权漏洞,可以导致服务器被远控等危害。复现使用客户端连接redis远程服务器./redis-cli-h127.0.0.1-p6379......