xor-WP

首先吧xor文件扔进IDA里面

int __cdecl main(int argc, const char **argv, const char **envp)
{int i; // [rsp+2Ch] [rbp-124h]char __b[264]; // [rsp+40h] [rbp-110h] BYREFmemset(__b, 0, 0x100uLL);printf("Input your flag:\n");get_line(__b, 256LL);if ( strlen(__b) != 33 )goto LABEL_7;for ( i = 1; i < 33; ++i )//注意此处i是从1开始的__b[i] ^= __b[i - 1];if ( !strncmp(__b, global, 0x21uLL) )printf("Success");else
LABEL_7:printf("Failed");return 0;
}

通过分析源码得出,此处为输入的33位,每一位与其前一位进行异或后的值再与global进行比较。

global的值为

将这些字符全部转换为十六进制,注意最后一位0是字符串结尾,不需要写。

python写出解密脚本为:

a = [0x00, 0x66, 0x0A, 0x6b, 0x0c, 0x77, 0x26, 0x4f, 0x2e, 0x40,0x11, 0x78, 0x0d, 0x5a, 0x3b, 0x55, 0x11, 0x70, 0x19, 0x46,0x1f, 0x76, 0x22, 0x4d, 0x23, 0x44, 0x0e, 0x67, 0x06, 0x68,0x0f, 0x47, 0x32, 0x4f]
flag = ""
for i in range(1, len(a)):flag += chr(a[i] ^ a[i-1])
print(flag)

flag为flag{QianQiuWanDai_YiTongJiangHu}

BUUCTF Reverse xor WriteUp相关推荐

  1. BUUCTF Reverse xor

    题目:BUUCTF Reverse xor 一些犯傻后学到了新东西的记录 查壳,没壳,IDA打开 main函数很好理解,输入一个长度为33的字符串,1-32位与前一位异或后与global相等,则判定f ...

  2. BUUCTF Reverse/findKey

    BUUCTF Reverse/findKey 先看文件信息:32位程序,没有加壳 打开看看,标题为find flag,也没啥有用的信息 IDA32位打开,找到start函数,看到有个main,跟随跳转 ...

  3. BUUCTF Reverse helloword、findit

    BUUCTF Reverse helloword.findit helloword findit 一天一道CTF题目,能多不能少 记录一下这两道题,这两道题是安卓逆向的题目~ 第一次接触安卓逆向的题目 ...

  4. BUUCTF Reverse/Ultimate Minesweeper

    BUUCTF Reverse/Ultimate Minesweeper 先看文件信息,没有加壳,且为net编写的程序 运行是一个扫雷游戏,只要点错一个就会自动退出(左上角显示的是雷的数目,一共有897 ...

  5. BUUCTF Reverse/[网鼎杯 2020 青龙组]jocker

    BUUCTF Reverse/[网鼎杯 2020 青龙组]jocker 先看下文件信息,没有加壳,32位程序 运行一下,又是一道字符串比较的题目 用IDA32位打开,分析一下 // positive ...

  6. BUUCTF Reverse/[GWCTF 2019]pyre

    BUUCTF Reverse/[GWCTF 2019]pyre 下载得到一个pyc文件,用这个在线反编译pyc,pyo反汇编出代码 print 'Welcome to Re World!' print ...

  7. BUUCTF Reverse(helloworld)

    BUUCTF Reverse(helloworld) 题目附件下载下来之后,是.apk后缀,所以可能是安卓逆向. 这里我用的工具是Android Killer,下载地址:https://xiazai. ...

  8. BUUCTF Reverse/[WUSTCTF2020]Cr0ssfun

    BUUCTF Reverse/[WUSTCTF2020]Cr0ssfun 先看文件信息, IDA64位打开,很简单的题目,只要一个个输入就行 都是返回的这种元素 _BOOL8 __fastcall i ...

  9. BUUCTF Reverse [GWCTF 2019]pyre WriteUp

    pyre-WP 首先发现是pyc文件,使用在线工具进行反编译,得到源码 #!/usr/bin/env python # visit http://tool.lu/pyc/ for more infor ...

最新文章

  1. Xshell连接Ubuntu报错 “服务器发送了一个意外的数据包”
  2. qsettings删除注册表_Qt QSettings读取注册表和ini | 学步园
  3. PHP中的Trait方法
  4. 摆脱冷气_摆脱匿名类
  5. c语言中的无符号字节,C语言之有符号数和无符号数
  6. 【qduoj】C语言_凯撒密码
  7. python -- lambda表达式
  8. priority_quenue
  9. Glassnode:比特币正迎来多年以来最大的流动性枯竭
  10. logback实现日志按天和大小切分
  11. java web排序商城_JavaWeb网上商城的反思
  12. C#之json序列化与反序列化
  13. ~~~~练习~~~~用户登录(三次机会重试)
  14. 本模型基于Cruise软件搭建整车模型,基于Matlab/Simulink软件搭建整车控制模块,包括整车模式控制、扭矩分配
  15. 儿童专注力训练之数图形
  16. 计算机应届生月薪大多是多少?
  17. Apollo公开课四:感知
  18. 新年快乐,万事如意,心想事成,恭喜发财
  19. 2019UI设计岗位最常见的面试题
  20. android 实现3d扫描,DIY:让Android手机轻松变3D扫描仪

热门文章

  1. 响铃:科技成为时髦指数风向标,捧明星造潮流的影视行业是什么姿势?
  2. Silence影视2.0.2 清爽版
  3. 福建省有初中电子计算机的有吗,福建省七年级上 《活动六 制作电子板报》...
  4. ♥走进TypeScript的数据类型♥
  5. Linux Curl命令教程
  6. wps提示无法保存html,wps文字无法保存或创建文档
  7. java+ssm基于微信小程序的电动车智能充电系统 uniapp 小程序 含地图功能
  8. 平台技术部校园招聘宣传片文案
  9. 读书笔记--项亮《推荐系统实践》第三章
  10. LaTeX如何删除插图索引中的引用