当前位置: 首页 > article >正文

NSSCTF题包(脱壳类和SMC)

题包里的这些类型的题这些已经接触了很长时间但是仍然需要进行巩固在这里先感谢师傅们还有胡楚昊大佬对我的帮助和支持这套题还有去花类的前面文章讲过了脱壳类主要应用的是自动脱壳以及ESP定律法手动脱壳ESP定律法ESP 定律法堆栈平衡定律是 Windows x86 程序脱壳中快速定位 OEP原始程序入口点的核心手法基于壳的堆栈保护与恢复机制对 UPX 、Aspack等压缩壳及部分加密壳高效适用。E是Entry入口我们要找到壳真正把控制权交给原程序的地方也就是我们常说的OEPOriginal Entry Point原始入口点那么需要我们让程序跑起来穿过壳的初始化、自解密、自校验在“壳 → 原程序”交接点停住S是搜索和还原让程序看起来像个正常程序。在OEP附近但是程序结构还不完整。就是要在OEP处Dump内存这个时候壳已经解除P是修复程序让dump出来的程序可以独立、稳定运行。像修复IAT、修复OEP、去壳残留等这些需要工具或者更多的操作核心原理壳执行流程通常为pushad压入所有通用寄存器→ 解压 / 解密原程序 → popad恢复寄存器→ jmp OEP。ESP 定律利用 “堆栈访问断点” 在壳恢复堆栈时触发中断快速接近 OEP本质是堆栈平衡与硬件断点的结合。工具X64/32dbgOllydbg我用的是X64/32dbg步骤看核心原理其实可能不太能明白先梳理一下用手动工具脱壳的步骤1. 用X64/32dbg载入加壳程序入口常见pushad。F8 单步一次观察 ESP 变红值变化。2. 右键地址ESP→在内存窗口中转到内存1。在左下数据窗口选中该地址→右键→断点→硬件访问→DWORD或 Byte/Word。3. F9 运行程序会在popad/jmp前触发硬件断点这里下方或者断点处有提示。先按F8再按F8 单步跳过popad与jmp最终停在 OEP常见call或push ebp开头。4. 取消硬件断点可做可不做用插件Scylla脱壳并修复 IAT。例题程序2这里先以NSSCTF的题包的例题为例子NSSCTF需要购买官方也用一个文档例子说了这个脱壳方法这里我就实操一下先查壳32位。用X32dbg打开初始位置在pushad处这个指令的意思是压入所有的通用寄存器F8单步执行一次这里会发现右侧ESP的地址是红色的此时在ESP的地址处下一次断点在下方此处继续下断点F9直接跳转到断点处此时就是程序的入口处F8单步执行到ret再点一次到push ebp这里就到了程序的入口点就可以在这dump上面有插件点击ScyllaIAT Autosearch继续依次Get ImportsdumpFix Dump选择dump出来文件的地址即可程序3这题直接upx -d即可我尝试了一下ESP定律发现单步执行太慢了但是我连续两次F9找到了入口我同学说他dump不出来但是这里可以dump出来但是不知道为啥程序432位可以用UPX直接脱也可以用dbg跟第三题一样思路程序5OEP定律直接脱到retn后直接dump即可SMC首先解释一下什么是SMC。SMC就是自修改代码。在一些程序中用ida打开后解析的是乱码而通过SMC程序在运行时自己修改自己的代码段原本只读的指令区把加密 / 混淆的指令还原成能正常执行的指令。这时候就需要用到动调查看解密后的代码具体操作会以例题来讲解程序6查壳进入ida。分析代码发现是有SMC那么就在SMC运行后的函数下断点开始动调输入数据找到对应函数这时已经解密但还不是代码。按U是将代码转换为数据解除定义按C是将数据转换为代码按P定义函数一定要记住到retn再定义看加密代码跟进byte_40A000[i]看数据一个简单的逆向写代码str[0x9f, 0x91, 0xa7, 0xa5, 0x94, 0xa6, 0x8d, 0xb5, 0xa7, 0x9c, 0xa6, 0xa1, 0xbf, 0x91, 0xa4, 0x53, 0xa6, 0x53, 0xa5, 0xa3, 0x94, 0x9b, 0x91, 0x9e, 0x8f, 0x0, 0x0, 0x0] flag for i in str: flag chr((i^0x39)-57) print(flag)程序7查壳进入main函数在GetNextNumber函数里介绍了SMC值得看看。下面有count之类的这段代码的作用相当于一直自增1可以通过动调查看这里选择动调在strcpy前的if语句下断点。这个程序要用Linux动调。需要把ida的一个文件linux_server64放入Linux还有程序也放进去动调前的选项动调输入之后在函数发现报错以为是花指令但是仔细查看之后发现是函数类型搞错了是int不是void。按y修改转换重新定义函数即可看到正常逻辑这是GetNextNumber的数值后面是算法很简单写代码flag v2[0]*64 v2[0] 78 v2[1] 82 v2[2] 81 v2[3] 64 v2[4] 80 v2[5] 65 v2[6] 117 v2[7] 97 v2[8] 43 v2[9] 44 v2[10] 79 v2[11] 37 v2[12] 106 v2[13] 92 v2[14] 52 v2[15] 93 v2[16] 49 v2[17] 101 v2[18] 58 v2[19] 34 v2[20] 75 v2[21] 28 v2[22] 88 v2[23] 93 v2[24] 27 v2[25] 89 v2[26] 75 v2[27] 26 v2[28] 88 v2[29] 76 v2[30] 80 v2[31] 72 v2[32] 63 v2[33] 82 v2[34] 17 v2[35] 14 v2[36] 66 v2[37] 58 v2[38] 71 v2[39] 9 v2[40] 60 v2[41] 8 v2[42] 60 v2[43] 78 v2[44] 51 v2[45] 54 v2[46] 2 v2[47] 53 v2[48] 3 v2[49] 46 v2[50] -1 v2[51] 5 v2[52] 35 v2[53] 30 v2[54] 18 v2[55] 13 v2[56] 30 v2[57] -6 v2[58] 59 v2[59] -4 v2[60] 51 v2[61] 6 v2[62] 22 v2[63] 62 for i in range(64): flagchr(v2[i]i) print(flag)运行即可反调试程序12这里存在反调试如果存在调试就闪退没有就输出IS herejnz此函数触发了闪退需要把jnz改为jz此时应用一下就可以调试成功但是你打开程序发现闪退这是因为此时的命令和原始命令不同可以把原始的retn给nop掉这道题后续会补充讲解

相关文章:

NSSCTF题包(脱壳类和SMC)

题包里的这些类型的题这些已经接触了很长时间,但是仍然需要进行巩固,在这里先感谢师傅们还有胡楚昊大佬对我的帮助和支持这套题还有去花类的,前面文章讲过了脱壳类:主要应用的是自动脱壳以及ESP定律法手动脱壳ESP定律法&#xff1…...

WuliArt Qwen-Image Turbo科研部署:计算机视觉课题组可控图像生成基线

WuliArt Qwen-Image Turbo科研部署:计算机视觉课题组可控图像生成基线 1. 项目概述 WuliArt Qwen-Image Turbo是一款专为计算机视觉课题组和科研人员设计的轻量级文本生成图像系统。这个项目基于阿里通义千问Qwen-Image-2512文生图底座,深度融合了Wuli…...

OpenClaw多模型切换:GLM-4.7-Flash与Qwen3-32B混合调用方案

OpenClaw多模型切换:GLM-4.7-Flash与Qwen3-32B混合调用方案 1. 为什么需要多模型混合调用 上周我在处理一个自动化需求时遇到了典型困境:需要同时处理技术文档摘要和创意内容生成。当我用Qwen3-32B处理技术文档时效果惊艳,但生成营销文案却…...

OpenClaw云端体验方案:星图平台GLM-4.7-Flash镜像快速部署

OpenClaw云端体验方案:星图平台GLM-4.7-Flash镜像快速部署 1. 为什么选择云端沙盒环境 作为一个长期折腾本地环境的开发者,我深知在个人电脑上部署AI工具链的痛苦。从CUDA版本冲突到Python依赖地狱,每次尝试新工具都要花半天时间解决环境问…...

CLAP零样本分类应用场景:无障碍APP中实时环境声文字播报功能

CLAP零样本分类应用场景:无障碍APP中实时环境声文字播报功能 1. 应用场景与需求分析 在日常生活中,视力障碍人士需要通过听觉来感知周围环境。然而,单纯依靠耳朵听声音,有时难以快速准确地识别特定的环境声。比如走在路上&#…...

MiniCPM-V-2_6在Android应用开发中的实战:移动端AI集成指南

MiniCPM-V-2_6在Android应用开发中的实战:移动端AI集成指南 最近在捣鼓一个智能相册应用,想让它能自动识别照片里的内容,比如是猫是狗、是风景还是美食,然后智能分类。一开始想用云端的AI服务,但转念一想,…...

Gin 日志体系详解

Gin 日志体系详解 本文基于 Gin 企业开发的真实场景,从原生日志能力到主流日志工具选型,全程以实用为核心,附带可直接复制的集成代码、最佳实践和踩坑指南,解决 Gin 开发中日志的全场景需求。 一、Gin 原生日志体系详解 Gin 自带了…...

教育场景实践:OpenClaw+GLM-4.7-Flash自动批改作业与生成评语

教育场景实践:OpenClawGLM-4.7-Flash自动批改作业与生成评语 1. 为什么选择OpenClaw做教育自动化 去年冬天,当我连续第三周熬夜批改学生提交的Python作业时,突然意识到这种重复劳动正在吞噬我的创造力。直到在GitHub偶然发现OpenClaw&#…...

SDMatte抠图质量评估:Alpha Matte精度与PNG透明通道一致性

SDMatte抠图质量评估:Alpha Matte精度与PNG透明通道一致性 1. SDMatte模型概述 SDMatte是一款专注于高质量图像抠图的AI模型,特别擅长处理以下场景: 主体与背景的精细分离透明或半透明物体的提取复杂边缘的精修处理商品图片的背景去除 该…...

Qwen3-ASR-1.7B功能体验:实时录音识别与批量文件处理,实用功能全解析

Qwen3-ASR-1.7B功能体验:实时录音识别与批量文件处理,实用功能全解析 1. 引言:当语音识别真正变得“好用”时,会发生什么? 想象一下这个场景:你刚结束一场重要的客户会议,手机里录下了整整45分…...

Kook Zimage真实幻想Turbo部署案例:Jetson AGX Orin边缘设备轻量化幻想图推理尝试

Kook Zimage真实幻想Turbo部署案例:Jetson AGX Orin边缘设备轻量化幻想图推理尝试 1. 为什么在Jetson上跑幻想图?——不是“能不能”,而是“值不值” 很多人看到“幻想风格文生图”第一反应是:这得A100起步吧?显存不…...

nli-distilroberta-base一键部署:docker run -p 5000:5000指令直达可用服务

NLI DistilRoBERTa Base - 一键部署与使用指南 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)Web服务。这个轻量级但强大的工具能够分析两个句子之间的关系,为文本理解任务提供智能判断能力。 核心功能是判断"前提&qu…...

Nacos如何开启ssl(https)[图文版]

首先,你得有个域名,只有域名才能有ssl 在你的腾讯云或者阿里云控制台把域名解析到nacos所在的ip上面 等待几分钟,打开cmd, ping 刚才的域名,如果返回的是nacos的ip那说明解析成功了 例如你的域名是 ttvv.com 那就 ping ttvv.com 准备证书文件 你的证书通常是 .pem 和 .key …...

Qwen2.5-72B-Instruct-GPTQ-Int4镜像定制:添加自定义工具函数与插件

Qwen2.5-72B-Instruct-GPTQ-Int4镜像定制:添加自定义工具函数与插件 1. 模型简介与部署验证 Qwen2.5-72B-Instruct-GPTQ-Int4是通义千问大模型系列的最新版本,在多个关键能力上实现了显著提升: 知识量与专业能力:特别强化了编程…...

使用LaTeX自动生成伏羲模型气象分析报告

使用LaTeX自动生成伏羲模型气象分析报告 每次跑完伏羲模型,看着那一大堆NetCDF或GRIB格式的预报数据,你是不是也头疼过?数据有了,漂亮的图也画好了,但要把它们整理成一份格式规范、图表清晰、文字描述专业的正式报告&…...

自动化数据清洗:OpenClaw+nanobot处理混乱的Excel表格

自动化数据清洗:OpenClawnanobot处理混乱的Excel表格 1. 为什么需要自动化数据清洗 作为一名经常处理外包数据的自由职业者,我每天都要面对各种来源混乱的Excel表格。这些表格往往存在表头不规范、格式不统一、缺失值等问题。传统的手动清洗不仅耗时耗…...

企业IT运维指南:Asian Beauty Z-Image Turbo Docker镜像构建与NVIDIA驱动适配

企业IT运维指南:Asian Beauty Z-Image Turbo Docker镜像构建与NVIDIA驱动适配 1. 引言:当企业需要专属的“东方美学”AI画师 想象一下这个场景:一家专注于亚洲市场的时尚电商公司,需要为成千上万的商品生成符合东方审美的人像模…...

Meixiong Niannian画图引擎CFG引导实验:从3.0到12.0的画质变化图谱

Meixiong Niannian画图引擎CFG引导实验:从3.0到12.0的画质变化图谱 1. 引言:为什么CFG系数如此重要? 如果你用过AI画图工具,一定遇到过这样的困惑:明明描述词写得很好,为什么生成的图片要么太“放飞自我”…...

import/export:前端模块化实战|JS 基础语法与数据操作篇

【ES Modules】前端模块化实战:从代码拆分逻辑到落地实操,彻底搞懂import/export的最佳写法,避开模块化高频坑! 📑 文章目录 一、先体验一下:没有模块化有多难受 1.1 一个真实的场景1.2 模块化能做到的三件…...

# 发散创新:用Locust打造高并发压力测试新范式在现代软件架构中,**性能瓶颈往往隐藏在用户量激增的瞬间**。传统的压测工

发散创新:用Locust打造高并发压力测试新范式 在现代软件架构中,性能瓶颈往往隐藏在用户量激增的瞬间。传统的压测工具如JMeter虽稳定但扩展性有限,而Locust凭借其Python原生语法、分布式执行能力与灵活脚本化设计,正逐渐成为高并发…...

政务大模型在智能客服中的实践:从架构设计到性能优化

最近在参与一个政务智能客服系统的项目,从零开始基于大模型技术构建了一套服务。政务领域的客服系统和我们常见的电商或通用客服很不一样,它对于准确性、稳定性和安全性的要求极高。今天就来分享一下我们在这个项目中的实践,从架构设计到性能…...

Phi-4-Reasoning-Vision镜像免配置:Streamlit界面+预置参数一键启动

Phi-4-Reasoning-Vision镜像免配置:Streamlit界面预置参数一键启动 1. 项目概述 Phi-4-Reasoning-Vision是一款基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具,专为双卡RTX 4090环境优化设计。这个工具最大的特点是开箱即用&…...

STEP3-VL-10B性能评测:10B参数模型在A100上吞吐量达18.7 token/s实测

STEP3-VL-10B性能评测:10B参数模型在A100上吞吐量达18.7 token/s实测 最近,阶跃星辰开源了一个让我眼前一亮的模型——STEP3-VL-10B。作为一个10B参数级别的多模态视觉语言模型,它的表现确实让人惊喜。我在A100上实测后发现,它的…...

ChatGPT聊天记录导出实战:自动化归档与高效管理方案

ChatGPT聊天记录导出实战:自动化归档与高效管理方案 作为一名经常和ChatGPT讨论技术问题的开发者,我发现自己遇到了一个甜蜜的烦恼:聊得越多,积累的“宝藏对话”就越多。这些对话里可能藏着某个复杂问题的解决思路、一段精妙的代…...

OpenClaw压力测试:Qwen3-VL:30B在飞书中的并发处理能力

OpenClaw压力测试:Qwen3-VL:30B在飞书中的并发处理能力 1. 为什么需要测试个人场景下的并发能力? 上周我在飞书群里部署了一个基于OpenClawQwen3-VL:30B的智能助手,原本只是想让同事帮忙测试基础功能。没想到午休时间突然有十几个人同时机器…...

无需复杂配置:Ollama一键运行EmbeddingGemma-300m嵌入模型教程

无需复杂配置:Ollama一键运行EmbeddingGemma-300m嵌入模型教程 1. 为什么选择EmbeddingGemma-300m 在当今AI应用蓬勃发展的时代,文本嵌入技术已成为构建智能系统的核心组件。然而,大多数嵌入模型要么体积庞大难以部署,要么性能不…...

RAPIDMP3嵌入式音频模块:UART控制的高保真MP3/WAV协处理器

1. RAPIDMP3 模块深度技术解析:面向嵌入式系统的高保真音频处理方案1.1 模块定位与工程价值RAPIDMP3(即 RAPID_MP3_V1)并非通用音频解码库,而是一款硬件级立体声 MP3 播放与 WAV 录音模块,其核心价值在于将复杂的音频编…...

一、ACWing笔记整理

一、基础算法1.快速排序--不稳定算法思路&#xff1a;两个指针从最左最右出发&#xff0c;当指向数<&#xff08;>&#xff09;x时向中间移动&#xff0c;若>&#xff08;<&#xff09;则两指针指向数交换#include <iostream> using namespace std;const int…...

SkeyeVSS平台录像任务调度与设备录像查询机制详解

1. 简介 在基于 GB/T 28181 国家标准构建的视频监控平台中&#xff0c;录像功能是核心业务之一&#xff0c;主要分为两类&#xff1a; 平台侧计划录像&#xff1a;由平台主动发起&#xff0c;通过媒体服务器向设备请求实时流&#xff0c;并在平台侧&#xff08;本地或云存储&am…...

DeEAR语音情感识别入门必看:三维度(唤醒度/自然度/韵律)原理与Gradio界面实操

DeEAR语音情感识别入门必看&#xff1a;三维度&#xff08;唤醒度/自然度/韵律&#xff09;原理与Gradio界面实操 1. 为什么需要语音情感识别 想象一下&#xff0c;当你接到客服电话时&#xff0c;对方的声音是机械冰冷的还是热情自然的&#xff1f;这种差异直接影响沟通效果…...