cnss_recruit_2018 write up

发布于 2018-10-13  717 次阅读


商用软件 Vector Magic (点我下载) 可以将位图矢量化。

要求

  • 破除Trial版本的广告窗口与使用限制,让程序表现与购买版本完全一致。(获得基础分值)
  • 在上一条的基础上,将程序标题改为 Vector Magic Edition,主界面 More Options->About Vector Magic Desktop Edition 窗口最底部显示 Registered to  。(获得150%基础分值)

破解过程

最开始的思路是把注册(activate)的过程patch掉,搞了很久玄学出不来结果,连注册成功对话框都出了,软件还是注册不成功。

后发现About中有关于是否注册的字符串提示,故搜索,发现其每次会调用一个验证函数A,patch掉即可,如此一来保存功能便可以使用了。

然而程序左上角仍然存在一个trial version 的窗口,这是整个破解过程中卡我最久的地方。我曾去调试了整个窗口生成的全过程,发现并没有任何判断函数参与,特别是我patch的那个验证函数A。

没想到验证函数A里面还嵌套了一个验证函数B(哭 。生成广告的过程与A无关而与B有关,然而我在查看A时并没有发现该判断。这是因为ida F5把test al,al 指令识别为了某一个函数的参数,从而我没有发现if条件语句,每每想到这里我就是一阵唏嘘。tm的以后再也不用ida去调长代码了!    (真香

关于更改标题,搜索字符串即可。心得:如果修改后的字符串比原来长,可以找一块空白的内存将字符串贴上去,并且改汇编代码使其指向新地址。

总结

动态调试就是玄学,靠运气。以后做题前最好吸吸欧气^ ^


CTFer|NOIPer|CSGO|摸鱼|菜鸡