CSHOP

题目来源 http://reversing.kr/

题目知识点:.NET程序反编译 + 按钮事件

正文

下载附件,使用工具查壳。

发现未加壳,使用C#进行编写,一般这种C#编写程序,考点很容易偏向于按钮事件的操作上。使用IDA进行反编译,发现IDA无法正常反编译C#编写的程序,所以必须使用.NET反编译工具。这里可以选用ILSpy工具进行反编译。


发现存在很多的变量混淆,无法正常的分析代码过程,大体可以得到:
1、有多个数据框
2、数据框全被置为空白标签
3、有一个按钮,大小被置为0

然后还对其进行了赋值,将这些字符当做flag提交发现错误,猜测应该是顺序出错了,本题大体思路已经得到,想办法点击大小为0的按钮,然后text中就会依次显示出flag。

这里我们可以使用.NET常用来处理按钮的工具Spy++ lite

将箭头处的指针拖动到左侧窗口处然后释放,在窗口选项卡中出现信息。

点击子窗口列表。显示出该父窗口下,存在的所有子窗口。

然后选择BUTTON,按钮窗口。

然后在消息选项卡中将最大化勾中,这时发现左侧程序发生变化。

然后点按一次。再回到Spy++工具中将按钮最小化。

得到最终flag。

 

posted @ 2019-11-22 15:50  青山堂  阅读(871)  评论(0编辑  收藏  举报