攻防世界 REVERSE 新手区/logmein

看题,是和算法逆向相关的

查一下并没有加壳,是个64位的程序

用IDA64位打开,找到main函数,F5反汇编

分析算法

void __fastcall __noreturn main(__int64 a1, char **a2, char **a3)
{size_t v3; // rsiint i; // [rsp+3Ch] [rbp-54h]char s[36]; // [rsp+40h] [rbp-50h]int v6; // [rsp+64h] [rbp-2Ch]__int64 v7; // [rsp+68h] [rbp-28h]char v8[8]; // [rsp+70h] [rbp-20h]int v9; // [rsp+8Ch] [rbp-4h]v9 = 0;strcpy(v8, ":\"AL_RT^L*.?+6/46");   v7 = 28537194573619560LL;    v6 = 7;printf("Welcome to the RC3 secure password guesser.\n", a2, a3);printf("To continue, you must enter the correct password.\n");printf("Enter your guess: ");__isoc99_scanf("%32s", s);v3 = strlen(s);if ( v3 < strlen(v8) )sub_4007C0(v8);for ( i = 0; i < strlen(s); ++i ){if ( i >= strlen(v8) )((void (*)(void))sub_4007C0)();if ( s[i] != (char)(*((_BYTE *)&v7 + i % v6) ^ v8[i]) )        //字符比较((void (*)(void))sub_4007C0)();}sub_4007F0();
}

v7的v7[0]到v7[6 ]依次与v8[i]异或

 if ( s[i] != (char)(*((_BYTE *)&v7 + i % v6) ^ v8[i]) )        //字符比较((void (*)(void))sub_4007C0)();   //有一个字符对不上就输出答案错误

将v7转为字符

注意在汇编语言中字符串是以小端存储的,所以要反过来,脚本如下

#include <stdio.h>
#include <string.h>
#include <string.h>int main() {char v8[] = ":\"AL_RT^L*.?+6/46";char v7[] = "harambe";for(int i = 0; i < strlen(v8) ; i++){v8[i] =  v7[i % 7]  ^ v8[i];printf("%c",v8[i]);}return 0;
}!

运行得到flag

攻防世界 REVERSE 新手区/logmein相关推荐

  1. 攻防世界 REVERSE 新手区/game

    攻防世界 REVERSE 新手区/game 下载得到附件 看题目说一共有8个围成一圈的灯,需要输入1-8个数,输入的数会让相应的数字的灯改变状态(亮或灭),且该灯的前一个灯和后一个灯也会改变状态.输入 ...

  2. 攻防世界 REVERSE 新手区/maze

    攻防世界 REVERSE 新手区/maze 老规矩先查壳,没加壳而且是64位的 用IDA64位打开,找到main函数F5查看伪代码 这是一个迷宫题,必然是有迷宫图在里面,然后走的路径就是输出的flag ...

  3. 攻防世界reverse新手区——simple-unpack(upx脱壳)

    方法一:傻瓜式 下载文件,用记事本打开,按Ctrl+f打开搜索,输入flag,得到 去掉乱码即为flag 方法二-UPX脱壳 1.下载文件,拖进PEiD 不是有效的PE文件,就要怀疑是不是ELF文件了 ...

  4. 攻防世界——web新手区(全解)

    当前网络安全形式越来越严重,我国也越来越重视,现在国内乃至国际上各个网络攻防大赛层出不穷,但是练习平台却还是很稀缺,可以说目前网上能够练习的平台也就只有几家,大多数的院校它们有自己的练习平台但并不公开 ...

  5. 【pwn】攻防世界 pwn新手区wp

    [pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_sh ...

  6. 攻防世界-web新手区wp

    攻防世界-web新手区wp view source robots backup cookie disabled_button weak auth simple php get_post xff_ref ...

  7. 攻防世界-Web(新手区)

    前言 暑假前,为了学习Web题,做了攻防世界的新手区的Web题,当时没有总结,现在总结一下. 正文 Web1:view_source 查看源代码,右键不可以用.所以按F12,直接查看源码即可. Web ...

  8. 攻防世界MISC新手区 give_you_flag

    攻防世界MISC新手区 give_you_flag 下载题目附件,是一个gif动图 题目提示我们文件中的彩蛋,看到了一瞥而过的二维码 我这里使用的是Stegsolve工具拿取二维码,打开文件,选择Fr ...

  9. 攻防世界web新手区(来自小白)*-*

    鄙人是个纯纯的小白,这个博客也是给小白写的,不过大佬们也不会来查这些题的wp吧 拍飞 文章目录 攻防世界WEB新手区(1--11) 第一题view_source 第二题robots 第三题backup ...

  10. 攻防世界Reverse进阶区-EasyRE-writeup

    1. 介绍 本题是xctf攻防世界中Reverse的进阶区的题EasyRE. 下载下来以后是一个exe文件:210f1e18ac8d4a15904721a2383874f5.exe 2. 分析 首先看 ...

最新文章

  1. Silverlight开发历程—(绘制矢量图之Polyline 和 Polygon)
  2. 自学编程是从python语言还是c语言开始-非计算机专业大学生想自学编程应该学C语言还是学Python?...
  3. Boost::context模块fiber的回溯测试程序
  4. 替换html标签内容正则表达式,正则表达式,替换所有HTML标签的简单实例
  5. System类+Math类+Arrays类
  6. 数据库:MySQL中,当update修改数据与原数据相同时会再次执行吗?
  7. c语言如何一直变换颜色,【图片】(原创)用纯C变了个变色输出字符的程序。。。【c语言吧】_百度贴吧...
  8. openfeign调用服务是否需要网关_阿里新一代微服务解决方案:Spring Cloud Alibaba
  9. ffempge 效率 生成_ffmpeg 编译静态库,搞了好久,终于搞成功了.根据网上教程做的 · iodefog...
  10. 软件设计师19-系统开发和运行02
  11. C++ new与delete的使用规范
  12. 阿里云ECS Ubuntu 实例开放防火墙端口仍无法访问问题解决(安全组规则应用)...
  13. linux nmap命令,nmap命令
  14. usb路由器 php,无线路由器上的USB接口有什么用处?绝不是你想的那样简单
  15. nutch2.3 mysql教程_Nutch2.2.1+MySQL+Solr4.10.3安装部署
  16. 内涵社区APP,一款集内涵段子,百思不得其姐,煎蛋于一身的搞笑社区
  17. 名帖89 蔡襄 楷书《荔枝谱》
  18. 定义一个方法,使用随机的字母+数字生成一个6位数的密码
  19. Ten Rules of Good Studying
  20. 重用地图的单目视觉惯导SLAM系统

热门文章

  1. 如何识别图片文字?这几个识别图片文字软件简单又高效
  2. 非功能需求分析是什么
  3. Python组合数据类型(第6周)
  4. java图形用户界面交互_java图形用户界面编程
  5. 【黑帽SEO系列】网页劫持
  6. 图论 二分图 小世界网络 语义网络
  7. python秒杀脚本 拼多多_点击劫持漏洞之理解 python打造一个挖掘点击劫持漏洞的脚本...
  8. 只能选择分卷文件的第一部分_2021学年高一数学新教材必修第一册精讲精练培优讲义(更新第4章,网盘免费下)...
  9. win7如何设置wifi热点_教你win7如何设置网络共享文件夹
  10. Canvas: trying to draw too large bitmap 红米 k30 奔溃