目标程序是一个吾爱破解的例子。
首先用winhex打开
搜索asc码和unicode,都显示找不到,于是怀疑加壳,用peid查壳,果然是有壳
aspack壳,然后在od打开,入口是pushad,将所有寄存器入栈,那么我们单步f7,显示esp改变为xxxxxxxx,复制esp的值,hr下硬件断点,f9运行,然后就是到了一个jnz,jnz指向一个push,push完了之后是一个call,我们直接按两下f7,跳到call的地址,该地址就是入口地址,odump出来,再用winhex就可以修改asc和unicode了。然后就是在od搜索api,把api的传参和call ,nop掉,这样整个程序就做完了。
本文介绍了一种通过静态分析和动态调试相结合的方法来对一个加壳的目标程序进行脱壳的过程。利用WinHex和OD等工具查找ASCII和Unicode字符串未果后,通过PEiD识别出Aspack壳的存在。随后借助OllyDbg进行单步调试,找到真正的入口点并修改相关API调用。
5117

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



