180317 逆向-DragonQuest(NUST)

本文介绍了参与NUST南理校赛中DragonQuest游戏的逆向分析过程。作者发现程序加壳难以脱壳,推测解题方法可能是利用CheatEngine作弊或DllPatch。通过CheatEngine修改游戏属性实现快速通关,同时探讨了DllPatch直接修改Dll静态部分以增强角色属性。最后,作者提到理论上可能存在脱壳获取明文flag的方法,认为此题考验思路且颇具趣味性。
摘要由CSDN通过智能技术生成

1625-5 王子昂 总结《2018年3月17日》 【连续第532天总结】
A. nust南理校赛 DragonQuest
B.

解压得到exe和dll
顺手拖入IDA,发现是.NET程序
dnspy打开发现主程序加壳了,查了一下壳无果
exeinfoPE还推荐我用RL!dePacker和QuickUnpack这两个万能脱壳机,坑爹呢这是~我还以为它觉得能脱呢,折腾了半小时研究怎么用,最后发现:不!这壳不好脱!(╯‵□′)╯︵┻━┻

于是运行了一下,发现是个打怪的游戏

查看了一下dll,发现没加壳,并且代码接近完整:

这就有两个疑点了:

  1. 一般如果想考察脱壳的话,没道理一个加另一个不加。(虽然如果出题人就是懒的话好像也没啥毛病
  2. 这个程序没必要用dll,总不能是为了复用性吧。

由这两个疑点,再加上这个题目的类型是游戏,而游戏异于CrackMe的区别在于,它的胜利方法一般是通关,即打败Monster,因此可以猜想

出题人压根没准备脱壳
解题方法为
用CheatEngine一类的作弊器干翻这个游戏
或者修改Dll从属性层面搞死Monster

CheatEngine作弊

要修改就必须通过数值查找地址,试玩了两下发现敌人只会在第一回合攻击,之后就发呆等死了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值