专栏首页陈冠男的游戏人生【WP】MOCTF-逆向题-writeup(上)

【WP】MOCTF-逆向题-writeup(上)

MOCTF 逆向题 writeup

moctf平台:

http://www.moctf.com/challenges

之前寒假做 moctf 的逆向题时,是看着网上各位师傅们的 writeup 做的,他们的后三题都是用 IDA 做的,直接 F5 看伪代码分析出来的,最近在用 OD 分析算法,尝试把之前的再做一遍并写出 writeup,前两天自己做出了 Crackme-006 让我信心大增,哈哈哈

moctf 逆向第一题:

SOEASY,这个是个64位的软件,OD 打不开,只能用 IDA64 打开,直接搜字符串就可以看到

flag:moctf{S0_3asy!}

moctf 逆向第二题:跳跳跳

这个题当初给了初学逆向的我很大的成就感,当时就学了改指令爆破,根本不会分析算法,这就能做出一道题还是很舒服的

打开程序,是个猜数游戏

载入 OD 搜索字符串

双击跟过去看看,很清晰了,那个 jnz 是关键,只要不让这个跳转实现就正确

那就直接把他 NOP 掉吧

保存出来

随便输入,最后还是可以成功出来 flag

这个 falg 是 base64 加密的,之前在这里提交好多次总是不对,之后试了试才发现编码了

整理出来了,不客气

ZHUtcF8xc19FYVN577yB

moctf{du-p_1s_EaSy!}

moctf 逆向第三题:暗恋的苦恼

当时可是费了好大劲才看懂这个伪代码的 (不知道现在还看不看得懂),这次用 OD 分析的还算顺利,但是也花了一个多小时……

先来看一下流程:

载入 OD,通过字符串找到获取输入的地方,在下图箭头所指的地方程序运行起来等待输入

可以看到,经过一个 CALL 之后出现了加密后的字符串,那就跟进这个 CALL 看一下

之后还得再进一个 CALL 才能发现程序算法 (程序是一个字一个字加密的刚开始会把输入的全部转换成大写)

程序算法:

1. 逐个取字符,转成大写的,然后用大写形式的 ASCII 码减去 41 (十六进制) 得到结果 (十六进制)

2. 然后用密钥的大写形式加上得到的结果

PS.这里做了一些处理,如果加上以后结果超出了大写字母 Z (0x5A),那么会再减去19 (十六进制)

然而还有个问题,我发现给出的密文长度是比密钥长的,那怎么办?记得之前看的 writeup 说密钥循环使用的,即:ilovemoctfilovemoctf,这样一直排下去,不管多出来多少密文都可以加密

为了验证这个问题,我做了一个实验

这样输入的明文个数比密钥多一个,而且多的是与第一个一样的,我们看一下是不是按照那样循环是用的

加密结果让我很欣慰,证明我记性还不错

参考脚本,这或许会帮你更好的认识这个程序的流程

(编程能力太垃圾,这还是参考之前写过的才写出来,用进废退啊)

明文:ILOVEYOUTOO

flag:moctf{ILOVEYOUTOO}

先到这吧,累,逆向必秃头

本文分享自微信公众号 - 陈冠男的游戏人生(CGN-115),作者:yichen

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【HTB】Postman

    去看一下,80 端口没什么东西, 10000,用 https 访问,有个登录界面,弱口令没得

    yichen
  • 【Vulnhub】DC-9

    在 web 的 search 界面找到一存在 sql 注入的页面,然后 sqlmap 跑出来 admin:transorbital1

    yichen
  • 逆向一期/014/push窗体法

    来到这里,看下面那个push 0x520开头的,这就是一个易语言窗体,每个窗体都有不同的“名字”

    yichen
  • Git教程3(远程仓库)

      git是一个分布式版本控制系统,虽然远程仓库不是必须的,但是我们在开发过程中为了便于团队协同开发,所以我们还是会搭建一个远程仓库,本文我们将使用github...

    用户4919348
  • 速读原著-TCP/IP(IGMP报文)

    这是版本为1的I G M P。I G M P类型为1说明是由多播路由器发出的查询报文,为 2说明是主机发出的报告报文。检验和的计算和 I C M P协议相同...

    cwl_java
  • Http常用头部整理

    3. HTTP允许传输任意类型的数据对象。类型由Content-Type加以标记。

    疯狂的技术宅
  • 科普:USB 4全面解读

    USB4 全名为Universal Serial Bus Generation 4。USB 这个介面在1996 年发布USB 1.0 规格, 传输速度支援低速1...

    物流IT圈
  • 干货 | 带有业务逻辑的比对思想在接口测试中的应用

    虞斌,携程机票BU资深测试开发工程师,主要负责携程机票测试工具以及基础组件的研发。对自动化测试领域有较深刻的认识,对新技术有着浓厚的兴趣。

    携程技术
  • LGC:转录本蛋白编码潜能预测工具

    中科院北京基因组研究所搭建了国内的大数据中心BIGD, 拥有海量计算资源,5000以上CPU,8PB以上的存储,借助庞大的计算资源,存储了高通量测序产生的各种组...

    生信修炼手册
  • 外媒称中国制造已经摆脱山寨,你认为呢?

    外媒称,中国正出现一股消费者态度的革命。“中国制造”不再意味着廉价、劣质和落伍。受尊敬的中国品牌开始涌现,其中一些不仅在中国和其他地方追赶上了更知名的外国对手,...

    机器人网

扫码关注云+社区

领取腾讯云代金券