gmock入门(gmock教程)

gmock入门(gmock教程)p 前言 p Reversing Kr pwnable kr play php 最近上网 看见的网址 感觉还挺不错的 专门针对 reverse pwn 玩玩 Easy Crack 32ida 打开 进行组合得到 Ea5yR3versin Easy Keygen

大家好,我是讯享网,很高兴认识大家。



 <p> 前言&#xff1a;</p> 

讯享网

Reversing.Kr、pwnable.kr/play.php

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

59c732f5cda6d1b2982e14412d3f6a1a.png
讯享网

Easy Crack

4552e29c8bea4d6da0c42ebff9c0a9af.png

32ida打开。

b7bbd22b378c47eab3acd0a18db558ba.png

进行组合得到:Ea5yR3versing

99236e4016f2475c98eeb3cbe77aa68f.png

35aba00914624df68ef3cf364f41fc4a.png

4e67156622f84bc71fdf533ab1a3c02d.png

Easy Keygen

查壳:

dc9dc3aea7e84c768807b3371d39369e.png

文本内容:

72da864052644f2288b24212be6153ca.png

32位ida打开。

0734960939d44aa583d28051a412f1de.png

看着像进行了异或操作。

可以下个断点看看:

6d3983bc365744b38aad89934180fc11.png

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

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

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

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

feb38c7fb080499faf908f566383d5f6.png

脚本:

讯享网

cddda3b2ac9845cdb27005aadff1a555.png

验证:

7627935655e84845a6c74536a42dfc9a.png

4e67156622f84bc71fdf533ab1a3c02d.png

Easy Unpack

查壳:

acadcd6fe5474ab5bf7dcf5edfe4df43.png

文本内容:

2d68d2248cef44e8a3e5dbf34dcaa5ba.png

让我们寻找OEP?

32ida打开看看

acc25d5d0a194f049b4b7bc83e53279f.png

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

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

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

6c86612603ef4b5b8af15eddd9013b39.png

4bd24e2874d44bdfaa157c76ff16643c.png

00

78a5419eff2d4428867d4227616a35b8.png

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

分析得出。

控制弹窗的关键代码在此处。试过直接将jge改成jmp 但是还是会出现问题。(猜测是.text段,只读)

那我们,直接给jge内部指令给NOP掉。

运行:

flag在这里:-> LIstenCare

验证:

至此,前4题结束。

Replace

下载,查壳。

用od打开。(感觉,在reversing中,ida用的不会很多。)

先运行一下程序:

跟踪字符串。

jmp无条件跳转,照理来说,不可能同时会存在俩个jmp处于上下关系。。。不太理解

先简单运行一下程序。

第一个jmp之后观察:

跟踪目前EIP指令的位置。会发现:

C600 90C3( 寄存器传送 高低位 )是一个 NOP + ret的 数据指令 。

(这也是我们程序异常中断的原因,不过它是正常逻辑,而非混淆指令、花指令等)

这里,可以先NOP掉 —— 因为我们是想要看看程序执行流。

可以看到 00的jmp绕过了 —— correct! 

那么,我们的解题思路,肯定是如何通过正常程序执行流去绕过jmp,这里就需要利用其程序本身的 C600 90C3 这条内置数据指令。

mov ,【EAX】,90

怎么可能才能让它准确的到达我们想去的位置呢?

别忘了,程序的控制流被你掌控了的。

如何,让其落在我们想要的 00 处呢?

我们已知的数据:

当输入  0 时 ,EAX = CB

当输入 ?何值? 时,EAX  =  00

……

 头疼,- - 密码的,计算机基础 + 寄存器标志位。

发生进位,而这又是32位程序。

最终答案:()A02A0AA6的十进制数值。


小讯
上一篇 2025-06-14 23:24
下一篇 2025-05-14 18:59

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/168927.html