攻防世界 REVERSE 新手区/logmein
攻防世界 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相关推荐
- 攻防世界 REVERSE 新手区/game
攻防世界 REVERSE 新手区/game 下载得到附件 看题目说一共有8个围成一圈的灯,需要输入1-8个数,输入的数会让相应的数字的灯改变状态(亮或灭),且该灯的前一个灯和后一个灯也会改变状态.输入 ...
- 攻防世界 REVERSE 新手区/maze
攻防世界 REVERSE 新手区/maze 老规矩先查壳,没加壳而且是64位的 用IDA64位打开,找到main函数F5查看伪代码 这是一个迷宫题,必然是有迷宫图在里面,然后走的路径就是输出的flag ...
- 攻防世界reverse新手区——simple-unpack(upx脱壳)
方法一:傻瓜式 下载文件,用记事本打开,按Ctrl+f打开搜索,输入flag,得到 去掉乱码即为flag 方法二-UPX脱壳 1.下载文件,拖进PEiD 不是有效的PE文件,就要怀疑是不是ELF文件了 ...
- 攻防世界——web新手区(全解)
当前网络安全形式越来越严重,我国也越来越重视,现在国内乃至国际上各个网络攻防大赛层出不穷,但是练习平台却还是很稀缺,可以说目前网上能够练习的平台也就只有几家,大多数的院校它们有自己的练习平台但并不公开 ...
- 【pwn】攻防世界 pwn新手区wp
[pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_sh ...
- 攻防世界-web新手区wp
攻防世界-web新手区wp view source robots backup cookie disabled_button weak auth simple php get_post xff_ref ...
- 攻防世界-Web(新手区)
前言 暑假前,为了学习Web题,做了攻防世界的新手区的Web题,当时没有总结,现在总结一下. 正文 Web1:view_source 查看源代码,右键不可以用.所以按F12,直接查看源码即可. Web ...
- 攻防世界MISC新手区 give_you_flag
攻防世界MISC新手区 give_you_flag 下载题目附件,是一个gif动图 题目提示我们文件中的彩蛋,看到了一瞥而过的二维码 我这里使用的是Stegsolve工具拿取二维码,打开文件,选择Fr ...
- 攻防世界web新手区(来自小白)*-*
鄙人是个纯纯的小白,这个博客也是给小白写的,不过大佬们也不会来查这些题的wp吧 拍飞 文章目录 攻防世界WEB新手区(1--11) 第一题view_source 第二题robots 第三题backup ...
- 攻防世界Reverse进阶区-EasyRE-writeup
1. 介绍 本题是xctf攻防世界中Reverse的进阶区的题EasyRE. 下载下来以后是一个exe文件:210f1e18ac8d4a15904721a2383874f5.exe 2. 分析 首先看 ...
最新文章
- Silverlight开发历程—(绘制矢量图之Polyline 和 Polygon)
- 自学编程是从python语言还是c语言开始-非计算机专业大学生想自学编程应该学C语言还是学Python?...
- Boost::context模块fiber的回溯测试程序
- 替换html标签内容正则表达式,正则表达式,替换所有HTML标签的简单实例
- System类+Math类+Arrays类
- 数据库:MySQL中,当update修改数据与原数据相同时会再次执行吗?
- c语言如何一直变换颜色,【图片】(原创)用纯C变了个变色输出字符的程序。。。【c语言吧】_百度贴吧...
- openfeign调用服务是否需要网关_阿里新一代微服务解决方案:Spring Cloud Alibaba
- ffempge 效率 生成_ffmpeg 编译静态库,搞了好久,终于搞成功了.根据网上教程做的 · iodefog...
- 软件设计师19-系统开发和运行02
- C++ new与delete的使用规范
- 阿里云ECS Ubuntu 实例开放防火墙端口仍无法访问问题解决(安全组规则应用)...
- linux nmap命令,nmap命令
- usb路由器 php,无线路由器上的USB接口有什么用处?绝不是你想的那样简单
- nutch2.3 mysql教程_Nutch2.2.1+MySQL+Solr4.10.3安装部署
- 内涵社区APP,一款集内涵段子,百思不得其姐,煎蛋于一身的搞笑社区
- 名帖89 蔡襄 楷书《荔枝谱》
- 定义一个方法,使用随机的字母+数字生成一个6位数的密码
- Ten Rules of Good Studying
- 重用地图的单目视觉惯导SLAM系统
热门文章
- 如何识别图片文字?这几个识别图片文字软件简单又高效
- 非功能需求分析是什么
- Python组合数据类型(第6周)
- java图形用户界面交互_java图形用户界面编程
- 【黑帽SEO系列】网页劫持
- 图论 二分图 小世界网络 语义网络
- python秒杀脚本 拼多多_点击劫持漏洞之理解 python打造一个挖掘点击劫持漏洞的脚本...
- 只能选择分卷文件的第一部分_2021学年高一数学新教材必修第一册精讲精练培优讲义(更新第4章,网盘免费下)...
- win7如何设置wifi热点_教你win7如何设置网络共享文件夹
- Canvas: trying to draw too large bitmap 红米 k30 奔溃