[Zer0pts2020]ROR1
加密代码如下:
密文:
看了一下一共有367行密文,记密文为c,即c1.......c367已知
根据加密代码:
ci = (ror(m,i,m.bit_length()) ^ e)%N 即 ci = k * N + (ror(m,i,m.bit_length()) ^ e) ,ci表示第i次的密文
可以看到模数N = 2 ^ randint * (3 ^ randint) * (7 ^ randint),也就是说N是2的倍数即N是一个偶数
我们知道在二进制中,一个数是偶数的话那么它的二进制值表达式的最后一位一定是0,如果是奇数,那么其二进制值表达式中最后一位一定是1。
现在 k * N 一定是偶数,所以ci的奇偶性取决于 (ror(m,i,m.bit_length()) ^ e) . 现在我们已知ci,如果ci最后一位是0即ci是偶数,那么(ror(m,i,m.bit_length()) ^ e)的最后一位也一定是0,反之则是1。
当 i =0时,(ror(m,i,m.bit_length()) ^ e) = m|0=m 即c0的最后一位是m的倒数第一位,我们可以求出m的最后一位来。
当i = 1时,(ror(m,i,m.bit_length()) ^ e) = (m >>1)| ((m&1)<<366). 这个数的最后一位一定是m>>1的最后一位,因为((m&1)<<366)的最后一位是0 (这里左移低位补0),那么整体(m >>1)| ((m&1)<<366)的最后一位的值取决于m>>1的最后一位也就是m的倒数第二位(任何数 或 0 等于自身),所以我们就这样得到了m的倒数第二位,当i为其他值同理
给出代码如下
[Zer0pts2020]ROR1相关推荐
- [Zer0pts2020]ROR
[Zer0pts2020]ROR 题目 import random from secret import flagror = lambda x, l, b: (x >> l) | ((x ...
- [Zer0pts2020]Can you guess it?
[Zer0pts2020]Can you guess it? 查看源码: <?php include 'config.php'; // FLAG is defined in config.php ...
- re -12 buuctf [Zer0pts2020]easy strcmp
[Zer0pts2020]easy strcmp 前话:这题要用到ida64位远程调试先记录一下配置方法,因为本人使用的是ida7.6版本差异可能导致问题. application与input fil ...
- BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过
BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过 题目 后台PHP源码: <?php include 'config.php'; // FLA ...
- [buuctf][Zer0pts2020]easy strcmp
[Zer0pts2020]easy strcmp 思路 脚本 思路 第一步还是先查壳 放在linux中运行一下,发现竟然没有任何输入的位置. 放入ida64中查看,因为这个是一个64位的可执行文件,有 ...
- [Zer0pts2020]easy strcmp
是elf格式的64位程序,无壳 int64指的是64位有符号整型 fastcall是一种函数调用规定 按理来说main函数的写法上是只能有2个参数的,不知道为什么这里有3个 初看main函数的逻辑是输 ...
- 每日一题 [Zer0pts2020]musicblog
进去一个登陆注册,先随便注册一个,然后进入以下页面 New post,看到他说都会replace radio,例如我们在我们服务器传一个MP3文件,那么Content内填[[url/xxx.mp3]] ...
- [Zer0pts2020]easy strcmp细节探究
这道题大多数的wp不知道这个程序是怎么跑的. 这道题是由一个知名的日本战队zer0pts出的,还是挺新颖,挺有意思的 总体感知 首先来看看ida里的情景 这就是main函数的所有了,很简单,感觉啥也没 ...
- [Zer0pts2020]easy strcmp 分析与加法
无壳,放入IDA自动跳到main函数 __int64 __fastcall main(int a1, char **a2, char **a3) {if ( a1 > 1 ){if ( !str ...
- [BUUCTF][Zer0pts2020]Can you guess it?
文章目录 前置知识 一些学到的新函数与新变量 新变量属性-PHP_SELF 新php函数-basename basename broken with non-ASCII-chars WP部分 前置知识 ...
最新文章
- SSM 框架 Maven项目整合实例
- 数据处理的两个基本问题---汇编学习笔记
- python多行语句用反斜杠_抗联部队规定新战士每年必须学会多少个生字
- 西南交大计算机组成原理考试大纲,西南交大计算机组成原理实验二七段LED数码管显示译码器的设计.docx...
- 用ado.net取数据库中table、column的信息
- WPF学习之页间导航与页间数据传递
- python行业中性_知乎
- 【Lua】【协同程序】【coroutine】知识点详解
- 满减优惠用多了,想过怎么运作的吗?
- pil对图像加透明 python_关于python:如何使用PIL将透明png图像与另一个图像合并...
- c++类与对象(一)
- 从新建工程开始使用C++开发单片机(以STM32为例):六、C++输入输出流(附代码)
- R语言data.table详解
- flash/flex基础发展区别等
- 单页面应用在微信服务号下的登录流程
- 酷我音乐盒和千千静听
- direct3D 学习笔记
- 软件测试工作经验分享
- 【量化】用数据验证巴菲特推荐的指数定投的收益真相
- PL7022/PL7022B原厂双节/两节锂电池串联充电IC和保护IC
热门文章
- python熊猫烧香_熊猫烧香的核心代码
- python获取网易云的歌词和时间戳
- 【天锐绿盾】之常见问题处理:控制台登录提示采集服务器空间不足,修改数据保存时间
- Ajax 超完整教程
- 2017-12-24 手机编程环境初尝试-用AIDE开发Android应用...
- 2018数学建模A题优秀论文:高温作业专用服装设计
- 【数学建模算法汇总】
- 人口空间化(三)GWR实现人口空间化
- visio给图片添加任意形状外框
- 打单软件显示服务器错误是怎么回事,网络版仓库进销存,出入库存管理软件,送货单打印等连接不上解决【新版】...