[HDCTF 2023]double_code _wp

news/2025/3/9 17:08:01/文章来源:https://www.cnblogs.com/zzz26/p/18761007

其实这道题的加密函数我是手翻出来的,但是做完之后了解到这是一个sheelcode

实际上就是跑病毒的代码

WriteProcessMemory 用于向指定进程中写入数据,写入一个缓冲区中的数据到另一个进程指定的内存地址中。

函数接受的参数包括要写入的进程句柄,要写入的内存地址,要写入的数据大小等。如果写入成功,函数会返回非零值 .IDA可能会将指针识别为函数,否则需要将数据dump出来

BOOL WriteProcessMemory(HANDLE  hProcess,//内存进制的句柄LPVOID  lpBaseAddress,//操作开始地址的指针LPCVOID lpBuffer,//目标进程内存的数据缓冲指针SIZE_T  nSize,//内存区域的大小SIZE_T  *lpNumberOfBytesWritten//可选参数,指向接收实际写入字节数的变量||NULL
);

ReadProcessMemory 用于从指定进程中读取指定内存地址的数据,写入一个缓冲区中。

函数接受的参数包括要读取的进程句柄,要读取的内存地址,要读取的数据大小等。如果读取成功,函数会返回非零值

分配内存,VirtualAllocEx error%d\n

写入内存,WriteProcessMemory:%d\n

创建线程 CreateRemoteThread:%d\n

高亮的函数就是加密函数,这是因为IDA将指针识别成了函数,所以直接就可以看到具体的加密逻辑

exp:

点击查看代码
#include<stdio.h>
#include<stdlib.h> 
int main(){int flag[]={0x48,0x67,0x45,0x51,0x42,0x7b,0x70,0x6a,0x30,0x68,0x6c,0x60,0x32,0x61,0x61,0x5f,0x42,0x70,0x61,0x5b,0x30,0x53,0x65,0x6c,0x60,0x65,0x7c,0x63,0x69,0x2d,0x5f,0x46,0x35,0x70,0x75,0x7d};for(int i=0;i<=36;i++){int v=i%5;switch(v){case 1: flag[i] ^= 0x23;break;case 2: flag[i] -= 2;  break;case 3: flag[i] += 3; break;case 4: flag[i] += 4;break;case 5: flag[i] += 25;break;  }printf("%c", flag[i]); }
}//HDCTF{Sh3llC0de_and_0pcode_al1_e3sy}

官方wp :https://www.cnblogs.com/Tree-24/p/17346919.html#double_code

题目地址 : https://www.nssctf.cn/problem/3792

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/896007.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VisionPro添加显示标签(二维码)简单版

!!!——!!! 咱们先展示效果,这个显示的是二维码的信息1.首先呢,你先添加工具 CogIDTool ,工具里我是这么设置的,如果你自己添加的码跟我的不一样,左边几个都运行看看2.现在可以添加脚本了,我接触的都是第二个C#高级脚本,下边是C#高级脚本演示 1)先创建 1个标签2)…

初步学习Android studio

下载安装了Android studio,并在其中下载好了gradle,在模拟手机中实现helloworld

2025低空经济eVTOL行业研究报告42份汇总解读|附PDF下载

原文链接:https://tecdat.cn/?p=40459在科技与交通领域加速融合的当下,低空经济正凭借其独特优势,逐步成为全球经济发展的新焦点。电动垂直起降飞行器(eVTOL)作为低空经济的核心要素,其发展态势备受瞩目。本报告汇总洞察基于文末42份低空经济行业研究报告的数据,报告合…

Prometheus服务的动态发现

prometheus服务的动态发现原文链接:https://blog.csdn.net/2302_79199605/article/details/136441386一、概述 ​ 目前,我们每增加一个被监控的节点,就需要修改prometheus的配置文件,然后重新加载prometheus服务,这种方式比较繁琐,每次新增、删除被监控节点都需要重新操…

AtCoder Beginner Contest 396(d和e)

题目链接d 题目分析 本题要求在一个简单连通无向图中,找出从顶点 1 到顶点 N 的所有简单路径(即不重复经过同一顶点的路径)中,路径上所有边的标签的异或值的最小值。 输入信息第一行包含两个整数 N 和 M,分别表示图的顶点数和边数,其中 2 ≤ N ≤ 10,N - 1 ≤ M ≤ N * …

实验1C语言开发环境使用和数据模型,运算符,表达式

实验1 代码:#include<stdio.h> int main() { printf(" 0 \n"); printf("<H>\n"); printf("I I\n");return 0; } task1 运行结果截图:实验2 代码:#include<stdio.h> int main(){ char ans1,ans2;printf("每次课前认真…

R语言NIMBLE、Stan和INLA贝叶斯平滑及条件空间模型死亡率数据分析:提升疾病风险估计准确性

全文链接:https://tecdat.cn/?p=40365 原文出处:拓端数据部落公众号 在环境流行病学研究中,理解空间数据的特性以及如何通过合适的模型分析疾病的空间分布是至关重要的。本文主要介绍了不同类型的空间数据、空间格点过程的理论,并引入了疾病映射以及对空间风险进行平滑处理…

android组件实现圆角

圆角实现步骤效果预览 要实现如图所示的圆角步骤在app/src/main/res/drawable新建样式文件如rounded.xml<?xml version="1.0" encoding="utf-8"?> <!--实现圆角边框--> <shape xmlns:android="http://schemas.android.com/apk/res/a…

Manus AI 站在巨人(大模型)肩膀上的AI助手

3月6日,注定是科技圈的不眠之夜。Manus AI已横空出世,它可不是普通的聊天机器人,而是一个真正的全能AI助手。它能够帮你从想法到落地,直接执行听起来是不是很酷?接下来,我们看几个官方的例子,带大家体验一下它到底有多强大。 想象一下,你手头有10份简历要筛选。它会像人…

计算机组成原理学习

计算机体系专业术语 (ISA)指令集体系结构 描述计算机的功能,程序员看到的计算机的抽象视图,并定义了汇编语言和编程模型,但并没有考虑计算机的实现 微体系结构 描述一种ISA的实现方式,关注计算机的内部设计 系统体系结构 包括处理器 存储器 总线外设在内的整个系统计算机系…

0-1 背包问题

问题描述: 现有4个物品,小偷的背包总容量为8,也就是只能背起总重量为8的一个或多个物品。 那么小偷以什么样的方案,可以在背包背得动的情况下,尽可能偷价值最大的物品? 这4个物品的编号、总量、价值如下图: 物品编号:1 2 3 4 物品重量:2 3 4 5 物品价值:3 4 …

工程师必看~合宙4G模组Air780EPM的开机启动及外围电路设计!

本文介绍了合宙4G模组——Air780EPM 模块开机的完整硬件设计指南,涵盖供电要求、管脚配置、电路示例及常见问题排查方法,希望能够帮助大家避免设计错误,确保模块稳定启动!常见开机电路。 这些内容是 Air780EPM 模块硬件设计的核心指南,直接关系到模块能否稳定运行。 掌握这…