overlong
用PEid显示有壳,但是ExInfo不是,直接拖到IDA看看
我们转到sub_401160函数看一下,图中的\x1c是十进制的28
unk_402008指针指向的内容与TEXT(a1)一共进行了28次的一些字符操作。但是该指针指向的内容不止28个字符,点击进去查看有175个
exe一开始运行是这样的,说从未破坏编码,那就直接将其改为读取175个
这样直接修改会有错误,提示Invalid operand,可能是吧修改的数据会覆盖掉后面的一些数据,我们拖进OD试试,发现改了以后后面的代码也变了
直接修改二进制码
运行后如图,得到flag
总结
这道题目的收获主要是关于修改代码,一般都是直接修改,还没有考虑过会改变后面的数据。以后修改代码最好用OD,可以看到后面代码是否被修改