首页 > 其他分享 >RE入门第四天---做新手题

RE入门第四天---做新手题

时间:2024-08-27 19:52:32浏览次数:4  
标签:char esp int --- RE flag ebp 新手 ida

题目来自polarDN

wp来自:

PolarCTF靶场Reverse方向简单难度Writeup - 这里是千夏 (l0serqianxia.github.io)

polar靶场reverse区简单难度题目详解 - 先知社区 (aliyun.com)

shell

考查:UPX自动脱壳

下载下来

ida打开

img

img

有壳的体现

尝试自动脱壳

D:\..CTFgoju\reverse\UPX\upx-4.2.4-win64\upx-4.2.4-win64

img

脱壳成功

ida打开,找到main主函数

img

flag{crack_is_funny}

PE结构

考查:PE文件结构

根据题目描述

010看看文件格式

果然有错误

将WZ改为MZ

img

运行得到flag

img

flag{66987add03c98a8f0cac71e4cafc2a6a}

拼接

一个白文件,名字为zip

拖进010一看,

看到PK

确定是zip

改后缀,

ida打开,看见两段flag

拼接得到flag

img

flag{03ff6cf238c5cd8e7b4ee1e9567ad5a4}

加加减减

改zip后缀,ida打开

可以看到将密文的每一位减了1,逆过来就OK

img

enc = 'ek`fz5123086/ce7ac7/`4a81`6/87b`b28a5|'
str = ''
for i in enc:
    str += chr(ord(i)+1)
print(str)
# flag{62341970df8bd80a5b92a7098cac39b6}

康师傅

还是改zip后缀

ida打开

进入main函数

看到

int __cdecl main_0(int argc, const char **argv, const char **envp)
{
  int v3; // edx
  int v5; // [esp-4h] [ebp-158h]
  unsigned int i; // [esp+D0h] [ebp-84h]
  char v7[60]; // [esp+DCh] [ebp-78h] BYREF
  char v8[43]; // [esp+118h] [ebp-3Ch] BYREF
  int v9; // [esp+143h] [ebp-11h]
  __int16 v10; // [esp+147h] [ebp-Dh]
  char v11; // [esp+149h] [ebp-Bh]
  int v12; // [esp+150h] [ebp-4h]
  int savedregs; // [esp+154h] [ebp+0h] BYREF

  sub_459319(&unk_53B006);
  strcpy(v8, "oehnr8>?;<?:9k>09;hj00o>:<o?8lh;8h9l;t");
  *(_DWORD *)&v8[39] = 0;
  v9 = 0;
  v10 = 0;
  v11 = 0;
  sub_457EB0(v7, 0, 50);
  ((void (__cdecl *)(_DWORD))sub_45748D)(&unk_510E84);
  sub_457929(&unk_510E50, (char)v7);
  for ( i = 0; i < sub_457672(v7); ++i )
    v7[i] ^= 9u;
  if ( sub_459512(v8, v7) )
    ((void (__cdecl *)(_DWORD))sub_45748D)("error");
  else
    ((void (__cdecl *)(_DWORD))sub_45748D)("right");
  sub_45957B(&savedregs, &dword_45E57C, 0, v3);
  return sub_4593E1((unsigned int)&savedregs ^ v12, v5);
}

密文的加密逻辑是异或9u

img

img

写脚本逆过来

但是脚本是异或9还是9u还是u喃

都试试看

enc = 'oehnr8>?;<?:9k>09;hj00o>:<o?8lh;8h9l;t'
str = ''
for i in enc:
    str += chr(ord(i)^9)
print(str)
#flag{17625630b7902ac99f735f61ea21a0e2}

最后试了异或9,不知道为什么

键位命令补充

按R键9u变成\t,按H键\t变9u

flag{17625630b7902ac99f735f61ea21a0e2}

×另辟蹊径

需要点击10000次,这种小游戏题最坏的解决方法是通关,

多的情况还是逆

OK学新东西

img

【原创】CE教程:基础篇 - 『软件调试区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

[CE修改器使用教程 基础篇] - lyshark - 博客园 (cnblogs.com)

img

不知道为什么CE进程老是出问题,不管了这题先

标签:char,esp,int,---,RE,flag,ebp,新手,ida
From: https://www.cnblogs.com/yanxiao777/p/18383386

相关文章

  • 小米路由器刷入Breed与OpenWrt详细流程并实现远程管理本地软路由
    文章目录前言1.安装Python和需要的库2.使用OpenWRTInvasion破解路由器3.备份当前分区并刷入新的Breed4.安装cpolar内网穿透4.1注册账号4.2下载cpolar客户端4.3登录cpolarwebui管理界面4.4创建公网地址5.固定公网地址访问前言今天分享一下如何在小米路......
  • MySQL 2003 - Can’t connect to MySQL server on ' '(10060)
    2003-Can’tconnecttoMySQLserveron''(10060) 一般是以下几个原因造成的:1.网络不通畅2.mysql服务未启动3.防火墙未开放端口4##云服务器的安全组规则未设置  一般是以下几个原因造成的:1.网络不通畅:【mysql-u-p,看看能不能登陆】2.mysql服务未启动:......
  • JAVA基础之二-面向对象简述
    java基础之二-面向对象简述一、概述如果有机会多接触几种语言,对于程序员多少是有好处的,至少有助于理解代码的运行真谛。高级语言有很多是面向对象的,因为面向对象的优点是显而易见的。这里比较知名的有rust,java,c++,c#但也有很多语言是面向过程的,鼎鼎有名有C,还有现在大家不......
  • 项目中Redis常见的一些问题(缓存穿透,缓存雪崩,内存耗尽等)
    缓存穿透缓存穿透是指查询一个不存在的数据,导致每次请求查询这个不存在的数据都会转发到数据库,可能导致数据库崩溃通常都会用布隆过滤器来解决它布隆过滤器布隆过滤器主要是用于检索一个元素是否在一个集合中。它的底层主要是先去初始化一个比较大数组,里面存放的二进......
  • CMake构建学习笔记8-OpenSceneGraph库的构建
    1.概论在连续构建了zlib、libpng、libjpeg、libtiff、giflib以及freetype这几个库之后,接下来我们就要来一个大的,构建OpenSceneGraph这样大型库。OpenSceneGraph(简称OSG)是一个高性能、跨平台的三维图形应用程序框架,广泛应用于科学可视化、模拟仿真、游戏开发等领域。理论上来说,......
  • Vue3的学习---10
    10.Vuex10.1Vuex简介10.1.1Vuex概述Vuex是Vue.js应用程序的状态管理模式+库。它作为中央存储库,用于管理应用程序中所有组件的状态,并以可预测的方式进行状态变更。Vuex的设计理念是基于Flux架构,主要由以下几个核心概念组成:State(状态):存储应用程序的所有状态数据。......
  • sqli-labs靶场通关攻略(36-40关)
    第36关(宽字节注入(BypassMySQLRealEscapeString))查数据库?id=-1%df%27%20union%20select%202,database(),3%20--+ 查表?id=-1%df'unionselect1,group_concat(table_name),3frominformation_schema.tableswheretable_schema=database()--+查列?id=-1%df'uni......
  • 第五章习题3-输入两个正整数m和n,求其最大公约数和最小公倍数
     ......
  • 《JavaEE进阶》----1.<JavaEE进阶可以学到什么>
    本篇博客会讲到一、JavaEE进阶学习内容:1.框架的学习:Spring、SpringBoot、SpringMVC、MyBatis2.大项目实践3.源码阅读二、JavaEE简介B/S架构web开发流程web前端开发(了解)web后端开发(重点)三、什么是框架四、学习编程思维方式(重点:学习建议)学完JavaEE你的收获会持续......
  • 《第二十九章 性能优化 - 界面流畅度优化》
    一、引言在Android应用开发中,界面的流畅度直接影响着用户体验。一个卡顿、不流畅的界面可能会导致用户的不满和流失。在这一章中,我们将重点探讨如何通过减少布局层级和避免过度绘制来优化界面流畅度。二、减少布局层级(一)布局层级过多的影响布局层级过多会导致以下问......