Re题目------Enm.exe
文章目录
- 代码分析
- 脚本1
- 脚本2
代码分析
for ( i = 0; i < 32; i += 8 ){for ( j = 0; j < 128; ++j ){v10 = &Str[i];if ( *(int *)&Str[i + 4] >= 0 ) {*(_QWORD *)v10 *= 2i64; }else{*(_QWORD *)v10 *= 2i64; v3 = *((_DWORD *)v10 + 1) ^ 0xB0004B76;v4 = v10;*(_DWORD *)v10 ^= 0x79FA26B7u;*((_DWORD *)v4 + 1) = v3;}}}sub_4010F0(Str);v12 = 0;if ( sub_4012D5(dword_413000) )v5 = sub_401267(std::cout, "No");elsev5 = sub_401267(std::cout, "yeah, got it");std::ostream::operator<<(v5, sub_401050);system("pause");v12 = -1;sub_4012CB(v7);
if ( *(int *)&Str[i + 4] >= 0 ) {*(_QWORD *)v10 *= 2i64;}
代表高4字节的int值是否大于0,大于0的话,最高位符号位就是0,小于0的话,最高位符号位就为1,因为乘以2把符号移出,所以最后进行相与得出。
这里的话写结果为偶数的判断。
else{*(_QWORD *)v10 *= 2i64; v3 = *((_DWORD *)v10 + 1) ^ 0xB0004B76;v4 = v10;*(_DWORD *)v10 ^= 0x79FA26B7u;*((_DWORD *)v4 + 1) = v3;}
偶数就代表最低位为0,奇数就代表最低位为1,然后最低位肯定是1,所以下面偶数异或奇数,最后肯定是奇数,if判断中就写结果为奇数的判断,
脚本1
a = [0x6054BB493C0FB65B, 0x11F144F66B5307DD, 0x4ED8899358F90DE1,0x60DF9B37738E1706]
for i in range(len(a)):for j in range(128):if a[i]%2==0:a[i]//=2else:a[i]^=0xB0004B7679FA26B7a[i]//=2a[i] |= 0x8000000000000000
for i in range(len(a)):print(chr(a[i]&0xff),end='')print(chr((a[i]>>8) & 0xff),end='')print(chr((a[i]>>8*2) & 0xff),end='')print(chr((a[i]>>8*3) & 0xff),end='')print(chr((a[i]>>8*4) & 0xff),end='')print(chr((a[i]>>8*5) & 0xff),end='')print(chr((a[i] >> 8 * 6) & 0xff), end='')print(chr((a[i] >> 8 * 7) & 0xff), end='')
f96ea7f314e5834a29930ca76aa0f29f
脚本2
a=[0x3C0FB65B,0x6054BB49,0x6B5307DD,0x11F144F6,0x58F90DE1,0x4ED88993,0x738E1706,0x60DF9B37]
for i in range(0,len(a),2):for j in range(128):if ((a[i+1]<<32)+a[i])%2==0:temp=((a[i+1]<<32)+a[i])//2a[i]=temp&0xffffffffa[i + 1] = temp>>32else:a[i]^=0x79FA26B7a[i+1]^=0xB0004B76temp = (((a[i + 1] << 32) + a[i]) // 2)|0x8000000000000000a[i] = temp & 0xffffffffa[i + 1] = temp >> 32
for i in range(len(a)):print(chr(a[i] & 0xff), end='')print(chr((a[i] >> 8) & 0xff), end='')print(chr((a[i] >> 8 * 2) & 0xff), end='')print(chr((a[i] >> 8 * 3) & 0xff), end='')
f96ea7f314e5834a29930ca76aa0f29f
Re题目------Enm.exe相关推荐
- 个人作业1——四则运算题目生成程序(基于控制台)
题目描述: 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: 除 ...
- 个人作业1:小学四则运算——基于控制台
a.需求分析: 自动生成小学四则运算题目的命令行 "软件",满足以下需求: 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24 运算符为 ...
- 加 解密的c语言程序,c语言程序设计文个件加密解密.doc
c语言程序设计文个件加密解密 程序报告设计 题目:加密解密处理 程序设计报告的电子文档(程序设计.doc ) 老师对作业要求. 1:对学生课程设计两周的纪律及提交内容的要求: (1)规定上机的时间内不 ...
- [CTF]-HECTF2021部分复现
HECTF2021部分复现 MISC 快来公众号ya JamesHarden 捉迷藏 迷途的狗狗 snake CRYPTO 签到 encode RSA_e_n re_rsa LittleRSA Web ...
- java web随机生成四则运算_java四则运算生成器
题目描述: 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: 除 ...
- c程序兼容多个linux,个人项目-WC(C/C++ 兼容Linux和Windows)
一.Github地址 实现的功能: 支持 -c 支持 -w 支持 -l 支持 -s 支持 -a 图形界面 多参数(文件名或通配符表达式) 跨系统平台 多种编程语言 支持中文 二.PSP表格 PSP2. ...
- java 四则运算_java四则运算
题目描述: 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: 除 ...
- 参加历年CTF大赛(2022年起持续更新)
目录 2022.10.核能行业赛道·福清·培训MISC 0x00.写在前面 0x01.Aesop[AES对称加密.gif隐写] 0x02.DIO[png隐写.base64] 0x03.message[ ...
- 小学生四则运算练习的编程 软件工程
简单的四则运算题目生成及求值小程序 程序发布至 https://github.com/zxt555/ 1.实验目的与要求 (1)掌握软件项目个人开发流程. (2)掌握Github上发布软件项目的操作 ...
最新文章
- python中的enumerate函数用于遍历序列中的元素以及它们的下标
- 数据、事实、实体、值对象、事务、不变性
- 探索C++的秘密之详解extern C
- discuzX 帖子 有的图片没输出 [attach]12323[/attach]的解决办法
- 【数据结构与算法】字符串匹配 KMP 算法
- Log4j2突发重大漏洞
- MySQL修改数据表
- sql 查询超时已过期_监视来自SQL Server代理作业的查询超时过期消息
- hibernate 执行存储过程 方法
- quartz 时间设置(定时任务scheduler)
- 深度揭秘 如何将PDF转换成Word的技巧
- luogu题解 UVA11992 【Fast Matrix Operations】
- npm ERR! y@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
- excel随机抽取一个数据,抽奖
- 用微PE安装KALI LINUX到U盘,【U盘安装kali】U盘 kali pe三合一教程!装机,存储
- Cross-Modality Domain Adaptation
- 文创礼品受追捧 华丽跨界火出圈
- 统计|如何理解多元回归下的多重可决系数
- c语言基础学习(2)
- 最初制造计算机的目的,31最早研究图像处理技术的目的是为了改善人类分析判断图像信息的能力随着计算机与人工智能技术的发展以及生产制造方面...
热门文章
- SWIG:SWIG的简介、安装、使用方法之详细攻略
- 成功解决VS编译环境下C++语言出现的异常提示:烫烫烫烫烫烫烫烫烫烫
- Algorithm:C++语言实现之队列相关算法(最短路径条数问题、拓扑排序)
- 从去除噪点的说起,有OpenCV要什么PS?
- linux ubuntu 16.04下deb文件的安装以及一些问题的解决
- 7.3 TensorFlow笔记(基础篇):加载数据之从队列中读取
- echarts统计x轴区间的数值
- Python函数篇(5)-装饰器及实例讲解
- LeetCode Longest Palindromic Substring
- AngularJS依赖注入