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

攻防世界---->埃尔隆德32

做题笔记。

下载 查壳。

32ida 打开。

发现就一个判断。

跟进看看。

// 首次a2=0
int __cdecl sub_8048414(_BYTE *a1, int a2)
{int result; // eaxswitch ( a2 ){case 0:if ( *a1 == 105 )goto LABEL_19;result = 0;break;case 1:if ( *a1 == 101 )                         // egoto LABEL_19;result = 0;break;case 3:if ( *a1 == 110 )                         // ngoto LABEL_19;result = 0;break;case 4:if ( *a1 == 100 )                         // dgoto LABEL_19;result = 0;break;case 5:if ( *a1 == 97 )                          // agoto LABEL_19;result = 0;break;case 6:if ( *a1 == 103 )                         // ggoto LABEL_19;result = 0;break;case 7:if ( *a1 == 115 )                         // sgoto LABEL_19;result = 0;break;case 9:if ( *a1 == 114 )                         // r
LABEL_19:result = sub_8048414(a1 + 1, 7 * (a2 + 1) % 11);elseresult = 0;break;default:result = 1;break;}return result;
}

因为首次值a2=0,已知,所以我们可以手动计算也可以用代码去获取a1打印的值。

这是大佬的代码:

#include <stdio.h>
#include <string.h>int main()
{int a1[20] = { 105,101,0,110,100,97,103,115,0,114,0,0 };int a2[20];int k = 0;for (int i = 0;; i = 7 * (i + 1) % 11, k++){a2[k] = a1[i];printf("*%d\n", i);if (i == 2 || i == 8 || i>9)break;}//a2={105,115,101,110,103,97,114,100,0}return 0;
}

这里我选择动态查看其值。

最终脚本:

#include <stdio.h>
#include <string.h>int main()
{int a[] = { 0x0f,0x1f,0x04,0x09,0x1c,0x12,0x42,0x09,0x0c,0x44,0x0d,0x07,0x09,0x06,0x2d,0x37,0x59,0x1e,0x00,0x59,0x0f,0x08,0x1c,0x23,0x36,0x07,0x55,0x02,0x0c,0x08,0x41,0x0a,0x14 };int b[8] = { 105,115,101,110,103,97,114,100}; //难点。int len_a = sizeof(a) / sizeof(a[0]);char flag[50] = " ";for (int i = 0; i < len_a; i++){flag[i] = a[i] ^ b[i % 8];printf("%c", flag[i]);}return 0;
}

flag{s0me7hing_S0me7hinG_t0lki3n}

相关文章:

攻防世界---->埃尔隆德32

做题笔记。 下载 查壳。 32ida 打开。 发现就一个判断。 跟进看看。 // 首次a20 int __cdecl sub_8048414(_BYTE *a1, int a2) {int result; // eaxswitch ( a2 ){case 0:if ( *a1 105 )goto LABEL_19;result 0;break;case 1:if ( *a1 101 ) // e…...

redis短信登录模型

基于Session实现登录 &#xff0c;...

【React】React18.2.0核心源码解读

前言 本文使用 React18.2.0 的源码&#xff0c;如果想回退到某一版本执行git checkout tags/v18.2.0即可。如果打开源码发现js文件报ts类型错误请看本人另一篇文章&#xff1a;VsCode查看React源码全是类型报错如何解决。 阅读源码的过程&#xff1a; 下载源码 观察 package…...

深度学习-目标检测(四)-Faster R-CNN

目录 一.模型框架 二&#xff1a;步骤详细 1.conv layers 2.RPN 3.anchors 4.cls layer分类 5.reg layer回归 6.Proprosal 7.Rol pooling 8.Classification 三.训练 1.训练RPN网络 2.全连接层部分训练&#xff1a; 都看到这里了&#xff0c;点个赞把&#xff01;&a…...

MATLAB中的无线通信系统设计有哪些最佳实践

在无线通信系统设计领域&#xff0c;MATLAB提供了一套强大的工具箱&#xff0c;使得系统设计、仿真、测试和分析变得更加高效和精确。本文将探讨MATLAB在无线通信系统设计中的最佳实践&#xff0c;包括信号处理、调制与解调、信道建模、误码率分析以及无线通信标准的实现。 1.…...

Java的发展史与前景

&#x1f308;个人主页&#xff1a;Yui_ &#x1f308;Linux专栏&#xff1a;Linux &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1f308;数据结构专栏&#xff1a;数据结构 &#x1f308;C专栏&#xff1a;C 文章目录 0. Java语言的发展史1.概述1.1 什么是Java1.2 …...

2024年上海小学生古诗文大会倒计时30多天:做几道今年的官方模拟题

2024年上海市小学生古诗文大会自由报名活动的初赛日期于10月19日开始&#xff0c;距离今天只有34天了。 小学生古诗文大会考什么&#xff1f;怎么考呢&#xff1f;今天好真题就带着大家来做一做官方发布的2024年小学生古诗文大会的模拟题&#xff0c;根据往年的经验&#xff0…...

IDEA 常用配置和开发插件

件市场中搜索并安装“Git Integration”插件。 一、前言 在本篇文章中我会为大家总结一些我自己常用的配置和开发插件&#xff0c;此外也给大家提供一个建议&#xff0c;可以根据自己的项目需求和个人偏好选择适合的插件。另外&#xff0c;IDEA 也在不断更新&#xff0c;可能会…...

还在为企微联系人烦恼?一招解决!企业微信2024年效率升级全攻略

现在信息多得让人眼花&#xff0c;微信里头那些企业微信的联系人是不是让你头疼&#xff1f; 看着满屏的绿色头像&#xff0c;心里想&#xff1a;“我就想和朋友聊聊天&#xff0c;怎么就这么难&#xff1f;”别急&#xff0c;今天教你个办法&#xff0c;轻松搞定这些小烦恼&am…...

【docker npm】npm 私库

1.部署环境 window 11 x64Docker Desktop 4.34.1 (166053) Docker Engine v27.2.0 1.1.Docker 镜像源 1.1.1.Docker Engine 配置 {"builder": {"features": {"buildkit": true},"gc": {"defaultKeepStorage": "32…...

完整gpt应用(自用)

qrc.py 把gpt_qrc.qrc转化成gpt_qrc.py pyrcc5 -o icons_rc.py icons.qrc <RCC><qresource prefix"img"><file>img/53.png</file><file>img/ai.png</file><file>img/关闭.png</file><file>img/最小化.png&l…...

【信息论基础第二讲】离散信源的数学模型及其信息测度包括信源的分类、信源的数学模型、离散信源的信息测度、二元信源的条件熵联合熵

一、信源的分类 二、信源的数学模型 1、信源的概念 在通信系统中&#xff0c;收信者在未收到信息以前&#xff0c;对信源发出什么消息是不确定的、随机的、因此我们可以用随机变量、随机序列或者随机过程来描述信源的输出。严格地说&#xff0c;用概率空间来描述信源输出。 …...

在 Spring Boot 项目中连接 IBM AS/400 数据库——详细案例教程

文章目录 1. 添加 jt400 依赖2. 下载 jt400 驱动包依赖下载手动下载下载地址&#xff1a;手动下载 JAR 的步骤&#xff1a; 3. 配置 application.properties 或 application.yml&#xff08;1&#xff09;application.properties&#xff08;2&#xff09;application.yml 4. 数…...

VUE + NODE 历史版本安装

以node 12.20.0为例子&#xff0c;想下载哪个版本&#xff0c;后面写哪个版本 https://registry.npmmirror.com/binary.html?pathnode/v12.20.0/ 安装国内镜像7.1.0 cnpm npm install -g cnpm7.1.0 -g --registryhttps://registry.npmmirror.com 安装vue脚手架4.5.15 cnpm …...

git reset 几点疑问

疑问&#xff1a;使用 git reset --hard <commit-hash-from-branch-B> 将工作区状态reset为其他branch的某点。 如果当前工作区的分支&#xff08;比如 branch A&#xff09;上使用 git reset --hard 将其状态重置为另一个分支&#xff08;比如 branch B&#xff09;的某…...

Rust Windows下编译 静态链接VCRuntime140.dll

Rust 编译出来的exe默认动态链接VC运行库&#xff0c;分发电脑上需要安装有Microsoft Visual C Redistributable for Visual Studio 2015运行库。 编译时能静态链接进去&#xff0c;就省去客户端未安装运行库的问题。方法如下: 只需在当前根目录下新建.cargo\config.toml&#…...

从“天宫课堂”到人工智能:中国少儿编程的未来在哪里?

近日&#xff0c;中国载人航天“天宫课堂”第三次开讲&#xff0c;激发了全国数百万青少年对科技的热情。从航天技术到人工智能&#xff0c;科技的快速发展正不断改变我们的生活&#xff0c;也让越来越多的家长意识到&#xff0c;未来属于那些掌握编程和创新思维的孩子。与其让…...

ARM base instruction -- blr

BLR Branch with Link to Register calls a subroutine at an address in a register, setting register X30 to PC4. 带寄存器链接的分支在寄存器中的某个地址调用一个子程序&#xff0c;将寄存器 X30 (lr) 设置为 PC4。 BLR <Xn> BLR 跳转到reg内容地址&#xff0c;…...

宠物猫领养馆会员管理系统---附源码72579

目录 1 绪论 1.1 课题目的与意义 1.2国内外研究现状 1.3论文结构与章节安排 1.4 express框架介绍 2 宠物猫领养馆会员管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 …...

驾驶员注意力分神状态检测系统源码分享

驾驶员注意力分神状态检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of …...

Granite TimeSeries FlowState R1 模型效果深度评测:与传统统计方法的对比

Granite TimeSeries FlowState R1 模型效果深度评测&#xff1a;与传统统计方法的对比 时间序列预测这事儿&#xff0c;听起来挺专业&#xff0c;其实离我们生活很近。比如&#xff0c;电商平台要预测下个月的销售额&#xff0c;电力公司要预估明天的用电负荷&#xff0c;甚至…...

Lua代码混淆实战:基于Prometheus的Unity项目保护指南

1. 为什么你的Unity项目需要Lua代码混淆 最近有个做独立游戏的朋友跟我吐槽&#xff0c;他花半年开发的游戏上线不到一周就被破解了。更气人的是&#xff0c;破解版直接去掉了内购系统&#xff0c;还挂在第三方平台免费下载。这种情况在游戏圈太常见了&#xff0c;特别是使用Lu…...

CCMusic跨平台部署指南:Windows/Linux/macOS全适配

CCMusic跨平台部署指南&#xff1a;Windows/Linux/macOS全适配 音乐风格识别从未如此简单——无论你用哪种电脑系统 1. 开篇&#xff1a;为什么需要跨平台部署方案 还在为音乐风格分类工具的安装头疼吗&#xff1f;不同的操作系统、不同的环境配置、复杂的依赖关系...这些麻烦…...

ResNet50实战:用Fruits-360数据集训练自己的水果分类模型(附完整代码)

ResNet50实战&#xff1a;用Fruits-360数据集训练自己的水果分类模型&#xff08;附完整代码&#xff09; 在计算机视觉领域&#xff0c;图像分类是最基础也最实用的任务之一。无论是工业质检、医疗影像分析还是零售商品识别&#xff0c;都需要可靠的分类模型作为支撑。而水果分…...

ngx_queue_sort

1 定义 ngx_queue_sort 函数 定义在 ./nginx-1.24.0/src/core/ngx_queue.cvoid ngx_queue_sort(ngx_queue_t *queue,ngx_int_t (*cmp)(const ngx_queue_t *, const ngx_queue_t *)) {ngx_queue_t *q, *prev, *next;q ngx_queue_head(queue);if (q ngx_queue_last(queue)) {r…...

Display Driver Uninstaller深度指南:解决显卡驱动残留问题的系统级清理方案

Display Driver Uninstaller深度指南&#xff1a;解决显卡驱动残留问题的系统级清理方案 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display…...

UEFI启动全流程拆解:从按下电源键到系统加载的幕后故事

UEFI启动全流程拆解&#xff1a;从按下电源键到系统加载的幕后故事 当你按下电脑的电源键&#xff0c;短短几秒内&#xff0c;一场精密的交响乐正在硬件深处悄然上演。这场演出的总指挥&#xff0c;正是现代计算机的启动管家——UEFI&#xff08;统一可扩展固件接口&#xff0…...

GTE模型在网络安全中的应用:恶意文本检测

GTE模型在网络安全中的应用&#xff1a;恶意文本检测 1. 引言 每天都有海量的文本内容在互联网上流动&#xff0c;从社交媒体帖子到客户服务对话&#xff0c;从新闻评论到私人消息。在这其中&#xff0c;隐藏着不少恶意内容&#xff1a;网络欺诈信息、仇恨言论、虚假信息、垃…...

一文讲清楚 OpenClaw 是什么,以及 Windows 下的部署

OpenClaw 到底是什么1. 它在系统里干的事&#xff1a;接入层 运行时管理很多人第一次看到 OpenClaw&#xff0c;会把它当成“一个聊天 UI”。更工程化的视角是&#xff1a;它负责把外部请求接进来&#xff0c;并把后面的执行系统跑起来、管起来。接入层&#xff1a;把外部入口…...

阿里通义Z-Image-Turbo WebUI图像生成模型:从安装到生成,一站式教程

阿里通义Z-Image-Turbo WebUI图像生成模型&#xff1a;从安装到生成&#xff0c;一站式教程 1. 引言 在当今数字内容创作蓬勃发展的时代&#xff0c;AI图像生成技术正以前所未有的速度改变着我们的创作方式。阿里通义实验室推出的Z-Image-Turbo模型&#xff0c;凭借其出色的图…...