当前位置: 首页 > news >正文

Reverse.Kr—— 前四题

 前言:

Reversing.Kr、pwnable.kr/play.php

最近上网,看见的网址,感觉还挺不错的,专门针对reverse、pwn 玩玩。

 

一丶Easy Crack

59c732f5cda6d1b2982e14412d3f6a1a.png

Easy Crack

4552e29c8bea4d6da0c42ebff9c0a9af.png

32ida打开。

b7bbd22b378c47eab3acd0a18db558ba.png

进行组合得到:Ea5yR3versing

99236e4016f2475c98eeb3cbe77aa68f.png

35aba00914624df68ef3cf364f41fc4a.png

 

二丶 Easy Keygen

 

4e67156622f84bc71fdf533ab1a3c02d.png

Easy Keygen

 

查壳:

dc9dc3aea7e84c768807b3371d39369e.png

文本内容:

72da864052644f2288b24212be6153ca.png

32位ida打开。

0734960939d44aa583d28051a412f1de.png

看着像进行了异或操作。

可以下个断点看看:

6d3983bc365744b38aad89934180fc11.png

结合代码生成内容,应该是通过name可以生成一个序列号

而题目意思,应该是让我们通过序列号去求解原name

序列号算法是xor运算,所以关键是求出v7的值。

可以通过od定位到目标位置调试,也可以ida静态分析。

feb38c7fb080499faf908f566383d5f6.png

脚本:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main()
{int v7[] = { 0x10,0x20,0x30,0x10,0x20,0x30, 0x10,0x20,0x30};int encode[] = { 0x5B,0x13,0x49,0x77,0x13,0x5E,0x7D,0x13 };int v3 = 0;int flag[50];for (int i = 0; i < 9; i++){flag[i] = encode[i] ^ v7[i];printf("%c", flag[i]);}printf("\n");system("pause");return 0;
}

cddda3b2ac9845cdb27005aadff1a555.png

验证:

7627935655e84845a6c74536a42dfc9a.png

三丶Easy Unpack

4e67156622f84bc71fdf533ab1a3c02d.png

Easy Unpack

查壳:

acadcd6fe5474ab5bf7dcf5edfe4df43.png

文本内容:

2d68d2248cef44e8a3e5dbf34dcaa5ba.png

让我们寻找OEP?

 

32ida打开看看

acc25d5d0a194f049b4b7bc83e53279f.png

这一看,就是加壳的程序,只是这壳并没有被识别出来。

方法一        通过od、xdbg 去手动脱壳,找到入口点。

方法二        通过PEID工具去寻找入口点。

6c86612603ef4b5b8af15eddd9013b39.png

4bd24e2874d44bdfaa157c76ff16643c.png

00401150

78a5419eff2d4428867d4227616a35b8.png

 

四丶Music Player

4e67156622f84bc71fdf533ab1a3c02d.png

Music Player

类似破解收费音乐……

文本内容:

64b6d1e7ef4448a88d0a3f2579c92e1e.png

大概就是音乐只能听一分钟。

4e8c21059634466485f8c5f99b1b9867.png

程序:

30b6fa5301ac45e3a60369de8199d5d6.png

先顺着它的规则来,

117cbfc44dda449ea2f92e5b77502d10.png

4ab0bf2142e5439298e8c0f03217b1a8.png

重放第二遍发现,还是一个 ” 1 “

那么根据它文本的提示,应该是 需要进行一个绕过

进行od + xdbg 跟踪

(因为 我od载入有问题,xdbg又没有显示字符)

322704902bc241d79e06c0d37d9cac86.png

7acfeff1401c4dbdbd80f3ce971d15f8.png

0b29b0b9a46a4ca6b19663d0f6b90609.png

大跳。

然后载入程序,会发现。

819cf85ace794e898e89b4bfd02fc683.png

 

直接把jl改成jmp 

f70c206bbc174d8d8c9d43644749c37c.png

然后我感觉就出来了。。

 

但是又出现这个:

两层保护 — — 叉掉之后直接结束播放。

f3b0c5aa1ba044d69e35f5471a60cd40.png

还没想好。

(待补24.10.21 22:00)

 

 

 

 

 

 

 

 

 

 


http://www.mrgr.cn/news/55624.html

相关文章:

  • 如何计算表格中重复项有多少?
  • 网站分享丨UU在线工具
  • 排序02 Multi-gate Mixture-of-Experts (MMoE)
  • 速盾:直播cdn加速原理是什么?
  • ubuntu22.04 桌面系统怎么搭建一个esp-idf的项目,搭建开发环境
  • 【文心智能体 | AI大师工坊】如何使用智能体插件,完成一款购物类智能体的开发,来体验一下我的智能体『科技君Tom』
  • 08-流程控制语句
  • 简单汇编教程9 字符串与字符串指令
  • tkintrt.Button位置试炼——计算器“键盘”
  • MySQL—CRUD—进阶—(二) (ಥ_ಥ)
  • 基于springboot的网上服装商城推荐系统的设计与实现
  • BitNet: Scaling 1-bit Transformers for Large Language Models
  • 数据库中常用的函数及函数应用
  • FCITX5的一些小命令
  • Spring Boot:如何实现JAR包的直接运行
  • 静态代码块为什么不能放在构造函数中
  • 在C++中比大小
  • 嵌入式开发学习——c语言完结
  • 10.21 IO进程直接的通信
  • .mkp勒索病毒攻击全攻略:防护、数据恢复与安全建议
  • LC:动态规划-买卖股票
  • IPv4头部和IPv6头部
  • Lua中的goto语句
  • ZYNQ:流水灯实验
  • .net framework3.5sp1runtime组件怎么开启
  • Python Web 框架中 Django 框架