CTFshow 2023 ——愚人杯 Re题解

举报
御麟 发表于 2023/04/26 20:42:42 2023/04/26
【摘要】 ​1.easy_pyc反编译使用python反编译 - 在线工具反编译得到源代码#!/usr/bin/env python# visit https://tool.lu/pyc/ for more information# Version: Python 2.7print 'Welcome to CTFshow Re!'print 'your flag is here!'flag = ''l...

1.easy_pyc

反编译

使用python反编译 - 在线工具反编译得到源代码

#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 2.7

print 'Welcome to CTFshow Re!'
print 'your flag is here!'
flag = ''
l = len(flag)
for i in range(l):
    num = ((flag[i] + i) % 114514 + 114514) % 114514
    code += chr(num)

code = map(ord, code)
for i in range((l - 4) + 1):
    code[i] = code[i] ^ code[i + 1]

print code
code = [
    '%16',
    '%1d',
    '%1e',
    '%1a',
    '%18',
    '\t',
    '%ff',
    '%d0',
    ',',
    '%03',
    '%02',
    '%14',
    '8',
    'm',
    '%01',
    'C',
    'D',
    '%bd',
    '%f7',
    '*',
    '\r',
    '%da',
    '%f9',
    '%1c',
    '&',
    '5',
    "'",
    '%da',
    '%d4',
    '%d1',
    '%0b',
    '%c7',
    '%c7',
    '%1a',
    '%90',
    'D',
    '%a1']

wp

Python提取一下数据的ASCLL值

data = ['\x16', '\x1d', '\x1e', '\x1a', '\x18', '\t', '\xff', '\xd0', ',', '\x03', '\x02', '\x14', '8', 'm', '\x01', 'C', 'D', '\xbd', '\xf7', '*', '\r', '\xda', '\xf9', '\x1c', '&', '5', "'", '\xda', '\xd4', '\xd1', '\x0b', '\xc7', '\xc7', '\x1a', '\x90', 'D', '\xa1']
code=list(map(ord,data))
print(code)

C++逆向两段循环

#include<iostream>
using namespace std;

int main(){
	int code[]={22, 29, 30, 26, 24, 9, 255, 208, 44, 3, 2, 20, 56, 109, 1, 67, 68, 189, 247, 42, 13, 218, 249, 28, 38, 53, 39, 218, 212, 209, 11, 199, 199, 26, 144, 68, 161};
	int s=sizeof(code)/sizeof(int);
	for(int i=s-3;i>=1;i--)
		code[i-1]=code[i-1]^code[i];
	for(int i=0;i<s;i++){
		int a=(code[i]-i)%114514;
		printf("%c",a); 
	}
	return 0;
}

Python

data = ['\x16', '\x1d', '\x1e', '\x1a', '\x18', '\t', '\xff', '\xd0', ',', '\x03', '\x02', '\x14', '8', 'm', '\x01', 'C', 'D', '\xbd', '\xf7', '*', '\r', '\xda', '\xf9', '\x1c', '&', '5', "'", '\xda', '\xd4', '\xd1', '\x0b', '\xc7', '\xc7', '\x1a', '\x90', 'D', '\xa1']
code=list(map(ord,data))
l=len(code)
flag=''
for i in range(l-3,0,-1):
    code[i-1]=code[i-1]^code[i];
for i in range(l):
    flag+=chr((code[i]-i)%114514)
print(flag)

ctfshow{Just_F00l's_D@y_R3_Ch3ck-in!}

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。