The Lost Door

news/2024/5/20 10:06:04

下载下来是一个exe文件

__int64 __fastcall check(char *a1)
{char v1; // alchar v3[32]; // [rsp+20h] [rbp-60h] BYREF_DWORD v4[8]; // [rsp+40h] [rbp-40h] BYREF__int64 v5; // [rsp+60h] [rbp-20h]__int64 v6; // [rsp+68h] [rbp-18h]__int64 v7; // [rsp+70h] [rbp-10h]__int64 v8; // [rsp+78h] [rbp-8h]char v9; // [rsp+80h] [rbp+0h]_DWORD v10[8]; // [rsp+90h] [rbp+10h] BYREF__int64 v11; // [rsp+B0h] [rbp+30h]__int64 v12; // [rsp+B8h] [rbp+38h]__int64 v13; // [rsp+C0h] [rbp+40h]__int64 v14; // [rsp+C8h] [rbp+48h]char v15; // [rsp+D0h] [rbp+50h]_DWORD v16[8]; // [rsp+E0h] [rbp+60h] BYREF__int64 v17; // [rsp+100h] [rbp+80h]__int64 v18; // [rsp+108h] [rbp+88h]__int64 v19; // [rsp+110h] [rbp+90h]__int64 v20; // [rsp+118h] [rbp+98h]char v21; // [rsp+120h] [rbp+A0h]int v22; // [rsp+124h] [rbp+A4h]int v23; // [rsp+128h] [rbp+A8h]int i; // [rsp+12Ch] [rbp+ACh]strcpy(v16, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");HIBYTE(v16[6]) = 0;v16[7] = 0;v17 = 0i64;v18 = 0i64;v19 = 0i64;v20 = 0i64;v21 = 0;strcpy(v10, "abcdefghijklmnopqrstuvwxyz");HIBYTE(v10[6]) = 0;v10[7] = 0;v11 = 0i64;v12 = 0i64;v13 = 0i64;v14 = 0i64;v15 = 0;strcpy(v4, "0123456789+/-=!#&*()?;:*^%");HIBYTE(v4[6]) = 0;v4[7] = 0;v5 = 0i64;v6 = 0i64;v7 = 0i64;v8 = 0i64;v9 = 0;strcpy(v3, "DABBZXQESVFRWNGTHYJUMKIOLPC");v23 = strlen(a1);for ( i = 0; i < v23; ++i ){if ( a1[i] != 127 && a1[i] > 32 ){if ( a1[i] - v3[i] <= 0 ){std::operator<<<std::char_traits<char>>(refptr__ZSt4cout, "flag is wrong");}else{v22 = a1[i] - v3[i];if ( v22 > 25 ){if ( v22 > 51 )v1 = *(&v4[-13] + v22);elsev1 = *(&v10[-6] + v22 - 2);a1[i] = v1;}else{a1[i] = *(v16 + v22);}}}}return check_2(a1);
}

其实其他都没什么,就是这个

对应的脚本是这个

因为伪C代码中,这个v4[-13]就是地址 -13 *sizeof(v14[0])

然后这里V14是dwrod 所以要*4

然后还有一个学习到的

import string
v16='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
v10='abcdefghijklmnopqrstuvwxyz'
v4='0123456789+/-=!#&*()?;:*^%'
v3='DABBZXQESVFRWNGTHYJUMKIOLPC'
flag='FSBBhKljpZSYENddjFsWQiNIUF6'
a=''
for i in range(len(flag)):for j in string.printable:enc=-1v22=ord(j)if(v22!=127 and v22>32):if(v22-ord(v3[i]) <=0):continue;else:v22=v22-ord(v3[i])if (v22>25):if(v22>51):enc=ord(v4[v22-52])else:enc=ord(v10[v22-26])else:enc=ord(v16[v22])else:continueif(enc==ord(flag[i])):a+=jbreak
print(a)


http://www.mrgr.cn/p/05535641

相关文章

2024第16届成都教育连锁加盟展6月1日举办 免费参观

2024第16届成都教育连锁加盟展6月1日举办 免费参观 邀请函 主办单位&#xff1a; 中国西部教体融合博览会组委会 承办单位&#xff1a;重庆港华展览有限公司 博览会主题&#xff1a;责任教育科技兴邦 幼教、普教、高教、校外教育、K12学科辅导、婴幼儿教育、兴趣辅导、学…

Face Detection API

一个针对图像中的人脸进行识别的底层加速平台组件<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0…

【MATLAB源码-第205期】基于matlab的LDPC译码算法仿真,对比BF算法,最小和算法,对数BP和概率BP四种算法。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 LDPC 码简介 LDPC码是一种通过稀疏奇偶校验矩阵定义的线性分组码&#xff0c;1962年由Gallager首次提出。这种码具有高效的解码性能&#xff0c;尤其在接近香农极限的情况下&#xff0c;其性能表现尤为突出。LDPC码的核心特…

嘉楠堪智 CanMV K230 进行 Linux、RT-smart 系统开发

本文记录学习、使用 K230 SDK 进行 Linux、RT-smart 系统的开发的一些关键步骤&#xff0c;如何获取系统源代码&#xff0c;如何配置环境&#xff0c;如何使用 Docker 进行编译&#xff0c;获得系统文件。 具体详细的教程&#xff0c;可以学习 CanMV K230 教程。 目录 一、S…

如果你还不了解 Java Class 文件结构,来看看这篇吧

文章首发于【Java天堂】,跟随我探索Java进阶之路!Class文件是什么 Java Class文件是Java编译器将源代码编译后的二进制表示,它是Java虚拟机(JVM)运行的基础。 Class文件绝大部分内容是在1997年发布的第一版《Java虚拟机规范》中就已经定义好的,后续20多年的发展过程当中J…

.NET有哪些好用的定时任务调度框架

前言 定时任务调度的相关业务在日常工作开发中是一个十分常见的需求,经常有小伙伴们在技术群提问:有什么好用的定时任务调度框架推荐的?今天大姚给大家分享5个.NET开源、简单、易用、免费的任务调度框架,帮助大家在做定时任务调度框架技术选型的时候有一个参考。以下开源任…

Clion STM32CubeMX 项目

系列文章目录 前言 最后修改 2024 年 4 月 16 日 操作系统&#xff1a;Windows / Linux / macOS 所需工具 STM32CubeMX、GNU ARM 工具链 项目格式&#xff1a; CMake 兼容配置&#xff1a; OpenOCD 运行与调试/嵌入式 GDB 服务器 对于以 STM32 板卡为目标的嵌入式项目&#xf…

共享益——成果展示

共享益——成果展示 页面展示前端部分开发代码: <script setup> import { User, Lock } from "@element-plus/icons-vue"; import { ElMessage } from "element-plus"; import { ref } from "vue"; import { userRegisterService, userLog…

El-Upload组件上传图片并添加水印

背景 有的时候我们需要在上传图片中添加一些水印标识,然后上传至服务器 效果图代码 <template><div class="app"><!-- 需求:1. 点击直接预览图片,而不需要使用dialog2. 上传图片添加水印后才预览图片思路:上传图片文件添加水印。使用watermark…

【3dmax笔记】027:配置修改器集、工具栏自定义与加载

文章目录 一、配置修改器集二、自定义工具栏三、加载工具栏 一、配置修改器集 可以把自己常用的修改命令放到右边框中的部分&#xff0c;便于自己的操作&#xff0c;省去了每次都要花半天时间找命令的尴尬。新建一个二维或者三维物体&#xff0c;点击修改面板&#xff0c;点击…

linux内核源码分析--核心网络文件和目录

图3-2显示了在/proc/sys中由网络代码所使用的主要目录&#xff0c;就每个目录而言&#xff0c;都列出了在哪一章描述其文件。 proc/sys/net bridge ipv4 core route neigh conf 图3-2/proc/sys/net 中的核心目录 根据前借所述&#xff0c;我们来看net中的树根是如何定义的&…

Linux--信号

信号的概念 信号是用于进程间通信和进程控制的一种机制。 信号是一种异步事件&#xff0c;用于向进程发送通知&#xff0c;告知其发生了某些特定的事件或异常情况。 查看信号 通过命令kill-l&#xff0c;列出所有可用信号名称和对应的编号&#xff1b; 通常可以对信号分为三类…

【Spring 】Spring MVC 入门Ⅱ

Spring MVC 入门Ⅱ 一、接收Cookie / Session 这两者都是用来保存用户信息的&#xff0c;但不同的是&#xff1a; Cookie存在客户端 Session存在服务器 Session产生时会生成一个唯一性的SessionID&#xff0c;这个SessionID可以用于匹配Session和Cookie SessionID可以在Cooki…

kube-proxy 流量流转方式

简介 kube-proxy 是 Kubernetes 集群中负责服务发现和负载均衡的组件之一。它是一个网络代理,运行在每个节点上, 用于 service 资源的负载均衡。它有两种模式:iptables 和 ipvs。 iptables iptables 是 Linux 系统中的一个用户空间实用程序,用于配置内核的网络包过滤和网络地…

上传文件客户端签名直传

上传文件的客户端签名直传是一种常用的将文件直接上传到云存储服务如Amazon S3、阿里云OSS等云服务上的技术手段。这种方法通常用于减轻服务器负担&#xff0c;并提高上传效率。 以下是实现客户端签名直传的基本步骤&#xff1a; 1. 客户端请求上传权限 客户端&#xff08;如…

2024年5月8日

今天学习了web页面顶部栏的使用和连接的使用和跳转,对web页面进行了美化<template><div class="common-layout"><el-container><el-header class="el-header"><img src="../photos/logo.png" width="200"…

SPSS多元线性回归

&#xff08;要满足&#xff09;模型的假设条件需要对数据进行怎样处理&#xff1f;&#xff1f; 为了使数据满足多元线性回归的条件&#xff0c;通常需要进行以下预处理步骤&#xff1a; 1. 数据清洗&#xff1a;处理缺失值、异常值和重复值&#xff0c;确保数据质量。 2. 特…

经纬度聚类:聚类算法比较

需求&#xff1a; 将经纬度数据&#xff0c;根据经纬度进行聚类 初始数据 data.csv K均值聚类 简介 K均值&#xff08;K-means&#xff09;聚类是一种常用的无监督学习算法&#xff0c;用于将数据集中的样本分成K个不同的簇&#xff08;cluster&#xff09;。其基本思想是…

Mysql-Mvcc原理

0.背景 在mysql的并发访问中,有几个典型的并发场景:读-读:无需处理,都是读取,不会对数据有影响。写-写:由于都涉及到数据的修改,不可能乱改,所以没有较好的方式来处理,一般都得加锁。读-写:读写场景,加锁当然ok。不过读操作是很频繁的,一但写数据就不让读取了,这种…

请大数据把我推荐给正在申请小程序地理位置接口的人

小程序地理位置接口有什么功能&#xff1f; 若提审后被驳回&#xff0c;理由是“当前提审小程序代码包中地理位置相关接口( chooseAddress、getLocation )暂未开通&#xff0c;建议完成接口开通后或移除接口相关内容后再进行后续版本提审”&#xff0c;那么遇到这种情况&#x…