新手【BUUCTF】逆向writeup()
0x00前言
在大三开始入门逆向,已学完小甲鱼解密篇,刚开始看《加密与解密》,现在沉浸在快 乐的刷题学习中.....
0x01刚接触的逆向题
reverse1
首先拿道题第一步先查壳,我用的查壳工具是peid和exeinfope

发现可以直接打开,双击运行,发现报错

用IDApro64位打开,使用main函数定位法

找到main函数

按F5反汇编成c语言代码

可以看到比较函数,因此答案可能在str2里面,双击查看str2的位置,找到flag

找到flag

reverse_2
拿到文件发现没有格式

用IDApro打开,先用main函数定位+F5

看到flag变量,直接双击

发现看到flag字符

提交后发现不对,然后注意到上面的的运算过程,当flag+i地址的值为105或者114时,将其变成49,查阅ASCII码表得到,105是i,114是r,49是1,所以该代码的作用是将flag里面的字符串中的i和r修改为1。所以最后的flag为{hack1ng_fo1_fun}

内涵的软件
打开程序,显示的内容貌似没什么用

然后查壳,发现是32位PE文件,无壳

接着用32位IDA打开,上来就看到这一串,根据题目“内涵的软件”,发现{}内的就是flag

新年快乐
拿到文件先查壳,发现是upx壳,但是因为我还没学过手动脱壳,所以下了一个万能脱壳工具


一键脱壳后,用IDApro打开

发现代码逻辑比较简单,flag就是HappyNewYear!

XOR
拿到题后,先用IDA打开,找到main函数,发现关键在global变量

同时注意到flag长度应该为33位,而且用的是异或变换输入得到flag

查看global变量,一数正好是33位

编写脚本


reverse3
先查壳,32位无壳

打开IDA,用main函数定位法

发现代码对输入首先做了一个类似加长,随后对每个字符进行了变换(s[i]+=i)

查找str2的值,并编写脚本


发现类似加长编码的操作时base64变换

于是将逆运算的字符串使用在线base64解码工具解码,得到flag

新手【BUUCTF】逆向writeup()的更多相关文章
- 简单的Elf逆向Writeup
ElfCrackMe1 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acrony ...
- IDF-CTF-简单的Elf逆向Writeup
ElfCrackMe1 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !imp ...
- 新手学逆向,调试abexcm1过程
写在前面的话:在下完全就是一个新手,现在目前在学16位汇编,偶尔用OD调试看看程序,主要就是为了学习,今天写这个帖子,完全就是笔记用,然后拿出来和大家一起讨论交流. 因为刚开始接触,文章可能一些地方有 ...
- 攻防世界(Ctf-Web 新手练习区 Writeup)
平台地址:adworld.xctf.org.cn 在打着暑假工赚零花钱之余,我将这些题利用空余时间刷了一遍,感觉内心还是比较满足的! 题目:view_source 这道题没啥好说的,在url的前面加上 ...
- BuuCTF Web Writeup
WarmUp index.php <html lang="en"> <head> <meta charset="UTF-8"> ...
- IDF实验室-简单的ELF逆向 writeup
题目:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=39 下载得到ElfCrackMe1文件,直接用IDA打开 ...
- 攻防世界新手区pwn writeup
CGfsb 题目地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5050 下载文 ...
- JarvisOJ 逆向Writeup
1. 爬楼梯 先运行apk,查看具体的功能 爬一层楼是可以点击的,爬到了,看FLAG是不可以点击的.我们可以大致的了解到到了具体的楼层才可以看到flag,多次打开软件,楼层数目是随机的. 用APKID ...
- buuctf admin writeup
熟悉的登陆注册页面,结合结合题目admin的提示,想到是通过修改admin用户密码或伪造admin身份的方式来以admin账户.查看源码,看到了一个hint: 下载下来,是靶场的源码首先尝试抓包分析, ...
- 逆向破解之160个CrackMe —— 001
CrackMe —— 001 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
随机推荐
- OpenHarmony 3.2 Beta多媒体系列——视频录制
一.简介 媒体子系统为开发者提供了媒体相关的很多功能,本文针对其中的视频录制功能做个详细的介绍.首先,我将通过媒体子系统提供的视频录制Test代码作为切入点,给大家梳理一下整个录制的流程. 二.目录 ...
- 算法笔记-完全二叉树个数计算(时间复杂度小于O(n))
------------恢复内容开始------------ 首先科普一个事实,对于一个满二叉树来说,节点个数=(1<< (高度))-1. 接下来我们看这道题,管他三七二十一,前面那么多树 ...
- std::string 拼接字符串
#include <iostream> #include <string> #include <sstream> int main() { // 方法一:12345 ...
- Unity 检测FPS工具
检测FPS工具 public class FPS : MonoBehaviour { public float f_UpdateInterval = 0.5F; private float f_Las ...
- Cloud-computing 实验镜像 chinaskills_cloud_iaas.iso chinaskills_cloud_paas.iso
Cloud-computing 实验镜像 最近因新项目再次进行云计算环境的搭建, 找这两个镜像( 找chinaskills_cloud_paas.iso chinaskills_cloud_iaas. ...
- redis 简单整理——HyperLogLog[十三]
前言 简单介绍一下HyperLogLog. 正文 HyperLogLog并不是一种新的数据结构(实际类型为字符串类型),而 是一种基数算法,通过HyperLogLog可以利用极小的内存空间完成独立总数 ...
- HBuilderX 连接网易mumu手机模拟器进行App开发
1.下载安装手机模拟器 常见的安卓手机模拟器: 手机模拟器名称 对应端口号 夜神模拟器 62001 天天模拟器 6555 海马玩模拟器 26944 逍遥模拟器 21503 网易mumu模拟器 7555 ...
- Typescript 的数据类型有哪些?
一.是什么 typescript 和 javascript几乎一样,拥有相同的数据类型,另外在javascript基础上提供了更加实用的类型供开发使用 在开发阶段,可以为明确的变量定义为某种类型,这样 ...
- HarmonyOS NEXT应用开发之MpChart图表实现案例
介绍 MpChart是一个包含各种类型图表的图表库,主要用于业务数据汇总,例如销售数据走势图,股价走势图等场景中使用,方便开发者快速实现图表UI.本示例主要介绍如何使用三方库MpChart实现柱状图U ...
- Kubernetes 稳定性保障手册:洞察+预案
简介: 稳定性保障是个复杂的话题,需要有效.可迭代.可持续保障集群的稳定性,系统性的方法或许可以解决该问题. 作者 | 悟鹏来源 | 阿里巴巴云原生公众号 <Kubernetes 稳定性保障手册 ...