2024网络与信息安全管理员职工职业技能竞赛re0220164094

本文主要是介绍2024网络与信息安全管理员职工职业技能竞赛re0220164094,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 main部分,就是要逆这部分shellcode,程序把data段里面的东西复制到bss段去执行,期间包含解码操作。

  v19 = 0;puts("Please input your flag: ");__isoc99_scanf("%s", s);if ( strlen(s) != 38 ){puts("Wrong length!");exit(0);}for ( i = 0; i <= 37; ++i ){exec = shellcode;*(&loc_404144 + 4) = MEMORY[0x404068];loc_404150 = loc_404070;*(&MEMORY[0x404154] + 4) = MEMORY[0x404078];MEMORY[0x404160] = loc_404080;MEMORY[0x404168] = unk_404088;MEMORY[0x404170] = unk_404090;MEMORY[0x404178] = loc_404098;MEMORY[0x404180] = loc_4040A0;MEMORY[0x404188] = MEMORY[0x4040A8];loc_404190 = loc_4040B0;loc_404198 = loc_4040B8;loc_4041A0 = loc_4040C0;MEMORY[0x4041A8] = MEMORY[0x4040C8];v19 = (exec)(s[i]);*(s1 + i) = v19;}if ( !memcmp(s1, &enc, 0x26uLL) )puts("Congratulations~");elseputs("Sorry try again.");return 0;
}

 

这里貌似就是smc(self-Modifying Code)的部分,并不是生成flag的代码

 

 这部分才是真正生成flag的代码

字节高四位和第四位互换,然后-3,然后xor 0x1c。

149 push    r15
.bss:000000000040414B push    r14
.bss:000000000040414D mov     r15, rdi
.bss:000000000040414D
.bss:0000000000404150
.bss:0000000000404150 loc_404150:                             ; DATA XREF: main+181↑w
.bss:0000000000404150 and     r15, 0FFh
.bss:0000000000404157
.bss:0000000000404157 loc_404157:                             ; DATA XREF: main+188↑w
.bss:0000000000404157 and     r15, 0Fh
.bss:000000000040415B mov     r14, rdi
.bss:000000000040415E
.bss:000000000040415E loc_40415E:                             ; DATA XREF: main+19D↑w
.bss:000000000040415E and     r14, 0FFh
.bss:0000000000404165
.bss:0000000000404165 loc_404165:                             ; DATA XREF: main+1A4↑w
.bss:0000000000404165 sar     r14, 4
.bss:0000000000404169 and     r14, 0Fh
.bss:000000000040416D
.bss:000000000040416D loc_40416D:                             ; DATA XREF: main+1B9↑w
.bss:000000000040416D shl     r15, 4
.bss:0000000000404171 or      r14, r15
.bss:0000000000404174 mov     rax, r14
.bss:0000000000404177
.bss:0000000000404177 loc_404177:                             ; DATA XREF: main+1C0↑w
.bss:0000000000404177 dec     al
.bss:0000000000404179 dec     al
.bss:000000000040417B dec     al
.bss:000000000040417D xor     al, 1Ch
.bss:000000000040417F
.bss:000000000040417F loc_40417F:                             ; DATA XREF: main+1D5↑w
.bss:000000000040417F pop     r14
.bss:0000000000404181 pop     r15
.bss:0000000000404183 jmp     short loc_4041A5

enc=[0x7F, 0xDF, 0x0F, 0x6F, 0xA8, 0x7F, 0x7C, 0x3C, 0x0C, 0x4C, 0x5C, 0x9C, 0x4F, 0x3F, 0x4F, 0x3C, 0x0C, 0x0F, 0x4C, 0x3C, 0x5F, 0x9C, 0x4C, 0x9C, 0x7C, 0x9C, 0x0C, 0x5F, 0x2C, 0x2F, 0x4F, 0x5C, 0x5C, 0x8C, 0x2F, 0x9C, 0x5F, 0xC8, 0x81]
print(len(enc))
# offset=0x65
# for index in range(offset,offset+1):
l=''
for i in range(len(enc)):temp=(enc[i]^0x1c)+3l+=chr(((temp<<4|temp>>4)&0xff))# if 'flag' in l or '}' in l[-1]:
print(l,l.encode(),len(l))
# flag=b'flag'
# for i in range(4):
#     print((flag[i]^0x65)%enc[i])
#flag{f621548ebe21a52d858681d3ce449c8d}

这篇关于2024网络与信息安全管理员职工职业技能竞赛re0220164094的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1031468

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

2024/9/8 c++ smart

1.通过自己编写的class来实现unique_ptr指针的功能 #include <iostream> using namespace std; template<class T> class unique_ptr { public:         //无参构造函数         unique_ptr();         //有参构造函数         unique_ptr(