虽然upx已经出现了很多工具,但是出题人其实只需要根据工具或者一写地方,小小改一下就行了,所以我们有必要进行upx手动脱壳
这里我先简述一下脱壳的大概思路
我们直接反编译,会发现里面很多都看不见
但是为什么我们能运行呢? 期间肯定运行的时候,程序自己进行了解密的过程
我们的目的就是要断在解密后的那一刻,然后把程序dump下
然后就是细节(我的理解根据esp定理):
你既然要解密,那么你要压入栈,然后进行解密,你压入栈,又是大工程,那么就有很多的pop,push指令(32位好像popad)
你push后的解密我不管,那你是不是要jmp回来?
你jmp回来程序是不是就正常了?
OK,大致思路如此
这里我们用BUUCTF的新年快乐来举例
____________________________________

可以看见是32位的信息

小蜘蛛x32打开(吾爱破解里面有)

最低0.47元/天 解锁文章
1678

被折叠的 条评论
为什么被折叠?



