The Lost Door

2024-05-09 03:28
文章标签 lost door

本文主要是介绍The Lost Door,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下载下来是一个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)

这篇关于The Lost Door的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/972252

相关文章

Lost connection to MySQL server at 'reading initial communication packet', system error: 0

连接MySQL提示: ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0 这是由于库文件初始化连接MySQL时连接失败引起的。 导致此错误的原因有: 1.服务器为正常启动的; 2.mysql设置文件中“bind-address”

Unity类银河恶魔城学习记录14-5 p152 Lost currency save and enemy‘s currency drop

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili LostCurrencyController.cs using System.Collections;using System.Collections.Generic

LOST.DIR文件夹中意外丢失文件的恢复方法

LOST.DIR文件夹中意外丢失文件的恢复方法 LOST.DIR文件夹中意外丢失文件的恢复方法 http://moto.it168.com/thread-750593-1-1.html    玩了一段时间Android系统了,大家都一定知道,LOST.DIR目录是Android系统下一个意外丢失的文件收集目录,其中收集的内容包括你的系统因为意外而未保存的各类内存、交换、暂存等数据,软件的缓存数据

Gym 101196D Lost in Translation (bfs)

打比赛的时候没来得及看这道题目,现在补上 题目大意就是给你一篇文章,初始状态是英文,然后给出以多种语言,和一些语言之间翻译需要的成本,然后问你找出在翻译成所有语言的最低成本,但是这里还有一个条件特别重要,那就是救过必须要满足翻译成某种语言的过程必须是最短路径,理解一下,对某一种语言来说也就是求一下该语言的所有最短路径中的最低成本 思路:首先先建一下图了当然是,这种题不用看,将字符串转化为

Error Code: 2013. Lost connection to MySQL server during query 30.000 sec

mysql workbench 6.3执行查询语句时出错: Error Code: 2013. Lost connection to MySQL server during query 30.000 sec 解决办法: Edit->Preferences->SQL Editor 将下图中的30改大一点,重启workbench即可。

《C++游戏编程入门》第1章 类型、变量与标准I/O: Lost Fortune

《C++游戏编程入门》第1章 类型、变量与标准I/O: Lost Fortune 1.1.1 使用C++编写游戏1.1.2 生成可执行文件1.1.3 错误处理 1.2 第一个C++程序01.game_over.cpp01.game_over2.cpp01.game_over3.cpp 1.4 使用算术运算符01.expensive_calculator.cpp 1.5 声明和初始化变量0

数据库学习案例20240227-数据库连接类故障-ORA-12547: TNS:lost contact

1 操作系统和数据库版本 cat /etc/redhat-release  Red Hat Enterprise Linux Server release 6. (Santiago) SQL> select * from v$version; BANNER ------------------------------------------------------------------

C#代码连接Oracle数据库一段时间以后[connection lost contact]的问题

最近在使用C#代码连接Oracle数据库,分为两部分,WCF的客户端与服务端。程序启动与运行都没有问题,部署到服务器上后,运行也没有问题。但是第二天再访问的时候,就会抛出下边所示的异常。这是怎么回事? Oracle.DataAccess.Client.OracleException ORA-03135: connection lost contactProcess ID: 22574Sess

Lost Cow

题意:有n头牛,每头牛都有自己的编号,给你n-1个数,从第二头牛开始,表示第i头牛之前比第i头牛编号小的有几个,然后求出每头牛的编号。 代码参考 《算法竞赛从入门到进阶》 最初不太理解findpos()和add(x,-1)什么意思,现在好像稍微懂了点(见注释),先把现在理解的记录一下。 #include <iostream>#include <cstdio>#include <cstdl

Maya 贴图链接检测重链打包插件tjh_lost_textures_finder 1.3.5

一、问题描述: maya在模型材质贴图及渲染制作流程中,经常会遇到工程文件路径更改后,图片链接失效的问题,还有就是萌新们不懂规矩,图片路径乱放,而造成的图片打包时巨大工作量,南无阿弥陀佛。此工具可以检测、搜索子目录,重连失效贴图。(maya2018之后,似乎图片路径是支持中文路径的。虽然英文路径最稳定。) ,此外maya自带的File path editor 编辑器,也具有此插件类似的功能。只不