ISCC2024 winterbegins

news2025/1/11 0:39:58

首先,用IDA打开程序,看到一大堆while(1)又套着while(1)的结构,肯定是控制流平坦化了,我们可以使用IDA插件d810去掉。
在这里插入图片描述

现在程序就好看多了。如果IDA没有显示这堆中文字符串,可以考虑使用IDA8.3,就可以显示了。

首先,反汇编第12行那个函数sub_7FF783BFCB20,里面一大堆奇奇怪怪的语句,不知道是干嘛的。我们可以在第十六行下断点,然后随便输入一堆字符串,就可以知道,这个函数其实就是对v6字符串赋值。
在这里插入图片描述可以点进去v6看看,往下拉一拉,就能看到了,就是赋值到比较后面的位置而已。

在这里插入图片描述

sub_7FF783BE1000这个函数比较简单,就是输入的字符串不能有数字。

在这里插入图片描述

sub_7FF783BE11E0,这个函数就是对你输入的字符串,重复的字母会压缩成一个,并且后面跟着一个重复次数。例如,CC会变成C2,BBB会变成B3,也可以动调玩玩看。

下面的sub_7FF783BE1E30这个函数就比较重要了,其中,sub_7FF783BE1A50这个函数:
在这里插入图片描述里面有个sub_7FF783BE2030(&v6[3 * i], “%%%02X”, (unsigned __int8)a1[i]);
这个语句其实就是sprintf。这个函数就是把字符串的ascii码转16进制字符串。

sub_7FF783BE1840这个函数,就是把字符的数字转成数字,如果是字母,也做一些转换,具体的转换可以自己看看,非常简单。

在这里插入图片描述sub_7FF783BE15D0这个函数应该是最重要的了。sub_7FF783BFC480这个函数就是一个赋值,动调可以知道。下面的语句,就是在Str中,找对应位置的两个汉字赋值到v3,最后返回v3。(一个汉字是对应两个字节的,这个是汉字的编码方式)
对应的位置指的是,sub_7FF783BE1840这个函数不是会得到一些数字吗?我们会从输入的字符串转变过来的数字,然后根据这些数字找到Str对应的位置,找到相应的汉字赋值。

思路清晰了,脚本非常好写:

key="冻笔新诗懒写寒炉美酒时温醉看墨花月白恍疑雪满前村"
ciphertext="美酒恍疑时温寒炉美酒寒炉寒炉懒写墨花前村时温时温前村恍疑墨花懒写墨花月白墨花懒写醉看墨花醉看恍疑醉看美酒墨花醉看醉看前村恍疑醉看时温醉看前村月白醉看新诗醉看月白醉看美酒墨花冻笔醉看恍疑墨花冻笔醉看恍疑墨花懒写墨花前村墨花"

table=[]
for i in range(0,len(ciphertext),2):
    table.append(key.find(ciphertext[i:i+2]))

#print(table)
for i in range(0,len(table)):
    table[i]=int(table[i]/2)

def get_char(pos):
    cnt=0
    new_pos=pos
    string=""
    c=0
    while cnt<2:
        if table[new_pos]!=11:
            string+=str(table[new_pos])
            new_pos+=1
            cnt+=1
        else:
            new_pos+=1
            string+=str(chr(61+table[new_pos]))
            new_pos+=1
            cnt += 1
    return new_pos,chr(int(string,16))

i=0
ans=""
while i<len(table):
    i, c = get_char(i)
    ans += c
print(ans)
#ISC2{_rxrgidvoenahdpipir}

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

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

相关文章

【记录】ChatGLM3-6B大模型部署、微调(一):部署

ChatGLM3介绍 源码连接&#xff1a; ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型&#xff0c;在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上&#xff0c;ChatGLM3-6B 引入了如下特性&#xf…

江协科技51单片机学习- p4 点亮一个LED灯

前言&#xff1a; 本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记&#xff0c;在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。 引用&#xff1a; 51单片机入门教程-2…

安装ENVI 6.0直接打开Landsat L2SP影像

文章目录 前言ENVI 6.0申请安装安装过程检查安装&#xff1a; 直接打开L2SP文件&#xff08;不修改头文件&#xff09;结语 前言 试用软件只是作为学习交流使用&#xff0c;不能应用于商业、发表文章等依据。 前面文章&#xff08;ENVI打不开Landsat 的L2SP影像文件&#xff09…

震坤行亮相2024成都工博会,赋能产业新发

为期3天的成都工博会于2024年4月23日在成都国际会展中心完美落幕。震坤行再次紧跟西部智能制造产业发展步伐&#xff0c;亮相现场&#xff0c;实力“圈粉”&#xff0c;为西部地区的制造企业带来打造了一场工业互联网盛宴。 本届成都工博会成功举办&#xff0c;展会聚集了各个国…

C++ Primer 第五版 第16章 模板与泛型编程

模板是C中泛型编程的基础。一个模板就是一个创建类或函数的蓝图或者说公式。当使用一个vector这样的泛型类型&#xff0c;或者find这样的泛型函数时&#xff0c;我们提供足够的信息&#xff0c;将蓝图转换为特定的类或函数。这种转换发生在编译时。 一、定义模板 1. 函数模板…

OceanBase 并行执行参数 parallel_servers_target 理解

为了最大程度降低 PX 使用难度&#xff0c;OceanBase 3.1 版起&#xff0c;parallel_max_servers 参数废弃。 用户只需用好 parallel_servers_target 即可。 target 的用途 用一个酒吧的例子来粗略理解下 parallel_servers_target 的意思&#xff1a; target 先生开了一个酒…

Epicor BAQ - BAQ设计与调用

目录 一、BAQ设计常用功能1.跨公司查询2.修改作者3.添加筛选条件4.使用BAQ参数5.子查询 二、在客制化中调用BAQ取数三、在BPM中调用BAQ取数四、结束 一、BAQ设计常用功能 1.跨公司查询 在BAQ的General页面勾选Cross-company后&#xff0c;BAQ可以跨公司查询数据。 2.修改作…

联邦学习论文阅读:2018 Federated learning with non-IID data

介绍 这是一篇2018年挂在arXiv上的文章&#xff0c;是一篇针对FL中数据Non-IID的工作。 作者发现&#xff0c;对于高度Non-IID的数据集&#xff0c;FedAvg的准确性下降了55%。 作者提出了可以用权重散度&#xff08;weight divergence&#xff09;来解释这种性能下降&#xff…

基于JSP技术的大学生校园兼职系统

开头语 你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果有相关需求&#xff0c;可以通过文末的联系方式找到我。 开发语言 JSP 数据库 MySQL 技术 JSP JavaBeans 工具 MyEclipse、Tomcat、Navicat 系统展示 首页 学生登录界面 招聘信息界面 论坛中心界面 摘…

时间类:Calendar

一.Calendar概述 1.Calendar代表了系统当前时间的日历对象,可以单独修改,获取时间中的年&#xff0c;月&#xff0c;日 2.细节:Calendar是一个抽象类,不能直接创建对象。 二.获取Calendar日历类对象的方法 // 会根据系统的不同时区来获取不同的日历对象 // 会根据系统的不同…

LLM的7种推理框架

我们如何在本地安全地运行私有的LLMs呢&#xff1f;开源模型为此提供了可能的解决方案。本文将介绍七种方法。 Hugging Face的transformers 这是一个Python库&#xff0c;可以简化本地运行LLM的过程。 Transformers的优点&#xff1a; 自动模型下载提供代码片段非常适合实验…

C语言的数据结构:串、数组、广义表

一、串 1、串的定义 串是一个线性表&#xff0c;但其节点中的内容只能为字符&#xff0c;所以也称为字符串。 字符串中可以有多个字符&#xff0c;也可以没有字符。没有字符的叫作&#xff1a;空串。 空串&#xff1a;""。 有值的串&#xff1a;"1123"。 只…

“AI 热会逐渐降温,AGI 普及不了多少场景!”对话《Core Java》作者 Cay Horstmann...

作者 | 王启隆 责编 | 唐小引 出品丨AI 科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09; 已过花甲之年的 Cay Horstmann 是 Java 经典著作《Java 核心技术》和《Java 核心技术&#xff1a;速学版》的作者&#xff0c;帮助了无数 Java 开发者启蒙进阶。截止到今天&a…

3d数字家居展馆线上制作工具更具创意

立足于引领未来展览新潮流的出发点&#xff0c;深圳华锐视点3D云展厅依托前沿的Web3D技术和vr全景制作技术&#xff0c;提供Web3D在线创意展厅搭建编辑器&#xff0c;为您打造一个突破时空限制、风格多样的线上展厅。 Web3D在线创意展厅搭建编辑器将您的产品以三维模型的形式生…

MultiTrust:首个综合统一的多模态信任度基准(上)

随着我们迈向人工通用智能&#xff08;AGI&#xff09;的时代&#xff0c;出现了开创性的大语言模型&#xff08;LLMs&#xff09;。凭借它们强大的语言理解和推理能力&#xff0c;已经无缝地将其他模态&#xff08;例如视觉&#xff09;整合到LLMs中&#xff0c;以理解不同的输…

创建节约机关怎样向媒体投稿报道宣传?

创建节约机关并向媒体投稿报道宣传是一项重要的工作&#xff0c;它不仅能够提升机关的形象&#xff0c;还能促进社会各界对节约型社会的认识和支持。 作为一名新晋信息宣传员,初入职场的我满腔热血,怀揣着用文字传递价值的理想,却在投稿的道路上屡遭波折。面对每月的宣传任务,我…

LLM-不要错过,教你如何快速且精准生成提示词?(总结Singapore首届GPT-4提示工程获奖者Sheila Teo博客)

文章目录 前置理论精炼介绍1. CO-STAR框架CO-STAR框架简单介绍CO-STAR简单示例 2. 创建系统提示【优化LLM问答丰富度】何为系统提示&#xff1f;系统提示示例 3. 使用分隔符分段提示【优化问答准度】分割符作特殊字符及CO-STAR示例分割符作XML标记 仅数据的CO-STAR实操前置分析…

LVS/NAT负载均衡实操

添加规则,并做持久操作 1 添加规则 [rootlvs ~]# ipvsadm -A -t 10.36.178.183:80 -s wrr [rootlvs ~]# ipvsadm -a -t 10.36.178.183:80 -r 192.168.65.201:80 -m -w 3 [rootlvs ~]# ipvsadm -a -t 10.36.178.183:80 -r 192.168.65.202:80 -m -w 1[rootlvs ~]# ipvsadm -Ln …

告别“人治”时代,物业运维平台能否成为行业新标准?

随着数字化时代的飞速发展&#xff0c;智能化、数字化已经遍及所有的行业。物业服务企业也不例外&#xff0c;你是否还在想象物业运维工作依旧停留在手动报修、纸质记录的古老时代&#xff1f;那么&#xff0c;你就OUT了&#xff0c;物业运维平台已经悄然崛起&#xff0c;正在以…

悦库企业网盘 /user/login/.html SQL注入漏洞复现

0x01 产品简介 悦库企业网盘是一款专为满足企业文件管理、协同办公、文件共享需求而设计的私有部署安全、简单的企业文件管理系统。该产品全面覆盖企业文件管理场景,提供一系列功能强大且操作简便的解决方案,助力企业提升效率、降低管理成本。悦库企业网盘提供精细的权限管理…