加密代码如下:

密文:

看了一下一共有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相关推荐

  1. [Zer0pts2020]ROR

    [Zer0pts2020]ROR 题目 import random from secret import flagror = lambda x, l, b: (x >> l) | ((x ...

  2. [Zer0pts2020]Can you guess it?

    [Zer0pts2020]Can you guess it? 查看源码: <?php include 'config.php'; // FLAG is defined in config.php ...

  3. re -12 buuctf [Zer0pts2020]easy strcmp

    [Zer0pts2020]easy strcmp 前话:这题要用到ida64位远程调试先记录一下配置方法,因为本人使用的是ida7.6版本差异可能导致问题. application与input fil ...

  4. BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过

    BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过 题目 后台PHP源码: <?php include 'config.php'; // FLA ...

  5. [buuctf][Zer0pts2020]easy strcmp

    [Zer0pts2020]easy strcmp 思路 脚本 思路 第一步还是先查壳 放在linux中运行一下,发现竟然没有任何输入的位置. 放入ida64中查看,因为这个是一个64位的可执行文件,有 ...

  6. [Zer0pts2020]easy strcmp

    是elf格式的64位程序,无壳 int64指的是64位有符号整型 fastcall是一种函数调用规定 按理来说main函数的写法上是只能有2个参数的,不知道为什么这里有3个 初看main函数的逻辑是输 ...

  7. 每日一题 [Zer0pts2020]musicblog

    进去一个登陆注册,先随便注册一个,然后进入以下页面 New post,看到他说都会replace radio,例如我们在我们服务器传一个MP3文件,那么Content内填[[url/xxx.mp3]] ...

  8. [Zer0pts2020]easy strcmp细节探究

    这道题大多数的wp不知道这个程序是怎么跑的. 这道题是由一个知名的日本战队zer0pts出的,还是挺新颖,挺有意思的 总体感知 首先来看看ida里的情景 这就是main函数的所有了,很简单,感觉啥也没 ...

  9. [Zer0pts2020]easy strcmp 分析与加法

    无壳,放入IDA自动跳到main函数 __int64 __fastcall main(int a1, char **a2, char **a3) {if ( a1 > 1 ){if ( !str ...

  10. [BUUCTF][Zer0pts2020]Can you guess it?

    文章目录 前置知识 一些学到的新函数与新变量 新变量属性-PHP_SELF 新php函数-basename basename broken with non-ASCII-chars WP部分 前置知识 ...

最新文章

  1. SSM 框架 Maven项目整合实例
  2. 数据处理的两个基本问题---汇编学习笔记
  3. python多行语句用反斜杠_抗联部队规定新战士每年必须学会多少个生字
  4. 西南交大计算机组成原理考试大纲,西南交大计算机组成原理实验二七段LED数码管显示译码器的设计.docx...
  5. 用ado.net取数据库中table、column的信息
  6. WPF学习之页间导航与页间数据传递
  7. python行业中性_知乎
  8. 【Lua】【协同程序】【coroutine】知识点详解
  9. 满减优惠用多了,想过怎么运作的吗?
  10. pil对图像加透明 python_关于python:如何使用PIL将透明png图像与另一个图像合并...
  11. c++类与对象(一)
  12. 从新建工程开始使用C++开发单片机(以STM32为例):六、C++输入输出流(附代码)
  13. R语言data.table详解
  14. flash/flex基础发展区别等
  15. 单页面应用在微信服务号下的登录流程
  16. 酷我音乐盒和千千静听
  17. direct3D 学习笔记
  18. 软件测试工作经验分享
  19. 【量化】用数据验证巴菲特推荐的指数定投的收益真相
  20. PL7022/PL7022B原厂双节/两节锂电池串联充电IC和保护IC

热门文章

  1. python熊猫烧香_熊猫烧香的核心代码
  2. python获取网易云的歌词和时间戳
  3. 【天锐绿盾】之常见问题处理:控制台登录提示采集服务器空间不足,修改数据保存时间
  4. Ajax 超完整教程
  5. 2017-12-24 手机编程环境初尝试-用AIDE开发Android应用...
  6. 2018数学建模A题优秀论文:高温作业专用服装设计
  7. 【数学建模算法汇总】
  8. 人口空间化(三)GWR实现人口空间化
  9. visio给图片添加任意形状外框
  10. 打单软件显示服务器错误是怎么回事,网络版仓库进销存,出入库存管理软件,送货单打印等连接不上解决【新版】...