标签:新年快乐 脱壳 -- OD 程序 flag IDA
查壳
![](/i/l/?n=23&i=blog/3074711/202305/3074711-20230501095322234-114226534.png)
发现是upx的一个壳
得脱壳,不然找不到flag,不信的可以自己拖进IDA中看看能不能找到flag
我用的是OD绕过了它的壳
比较快的是脱壳软件直接脱壳,然后拖进IDA中就有flag了
我先讲怎么用OD绕壳
运行程序
![](/i/l/?n=23&i=blog/3074711/202305/3074711-20230501095612405-272924027.png)
发现它让我们输入一个正确的flag --> 随便输了一个发现程序退出了 --> 错误flag --> 拖进OD
![](/i/l/?n=23&i=blog/3074711/202305/3074711-20230501095740453-593325181.png)
上翻下翻都没见有什么flag,利用查找也没见flag(怎么使用OD查找就不介绍了,不水篇幅了)
根据运行程序可以知道,这是一个通过比较来检测是否是正确的flag,那么我们可以利用这点去绕开外层的壳,直接进入,找正确的flag就行
在OD中运行程序后,暂停程序
![](/i/l/?n=23&i=blog/3074711/202305/3074711-20230501100035273-334899050.png)
随便输入一个字符串后回车,发现OD跳转了
![](/i/l/?n=23&i=blog/3074711/202305/3074711-20230501100112700-1751264690.png)
说明我们进入了检查那部分的段 --> 通过对OD的调式进入如下
![](/i/l/?n=23&i=blog/3074711/202305/3074711-20230501100526282-1518943266.png)
我们能发现HappyNewYear!这串字符,下边还有说明是正确的flag,交上去看过了,很明显我们拿到了了flag,这个方法有点难,需要对OD和汇编的基础很大。
正常脱壳
将该程序拖入脱壳软件/脱壳软件目录中(有些人是用软件的,有些不是,比如我就不是)
![](/i/l/?n=23&i=blog/3074711/202305/3074711-20230501101011398-232085244.png)
在地址栏输入cmd,回车进入命令窗口,输入一下命令
![](/i/l/?n=23&i=blog/3074711/202305/3074711-20230501101109808-399683172.png)
出现如上即是脱壳成功,再拖入IDA就能看到了
![](/i/l/?n=23&i=blog/3074711/202305/3074711-20230501101207285-745215158.png)
没脱壳前是这样的
![](/i/l/?n=23&i=blog/3074711/202305/3074711-20230501101243787-1122897227.png)
至此flag{HappyNewYear!}收工
标签:新年快乐,
脱壳,
--,
OD,
程序,
flag,
IDA
From: https://www.cnblogs.com/TFOREVERY/p/17366210.html