您现在的位置是:首页 > 生活消费网站首页生活消费

堆栈溢出的解决办法(堆栈平衡)

  • 编辑:
  • 2023-02-22 22:35:09
  • 来源:

大家好,小必来为大家解答以上的问题。堆栈溢出的解决办法,堆栈平衡这个很多人还不知道,现在让我们一起来看看吧!

1、一、前言通过前面几篇的学习,我们学会了利用暴力破解达到绕过注册机制和追踪注册码来达到“合法”用软件的方法,但是我们往往会遇到代码经过混淆器混淆的程序,此类混淆器可以称之为壳,壳又可分为压缩壳(常见的有UPX、北斗、ASDPack、Npack、PECompact等)和保护壳(如强壳Safengine、VMprotect、winlicense、Themida等),压缩壳作用是把程序进行体积缩小化处理,保护壳主要作用是混淆或加密代码防止他人进行逆向程序、破解程序。

2、我们可以通过一些侦壳程序进行识别,但有些壳会采用伪装技术来混淆侦壳程序。

3、本次文章是UPX压缩壳的脱壳工作。

4、二、目录前期工作2、OD操作3、小结三、正文我们先看下加壳软件和未加壳对比左边是没有加壳的,右边是加壳的,明显的发现体积缩小了一半我们再用PEID对比下加壳前和加壳后的EP段和一些有用的信息我们载入OD后会发现这个提示,为了方便接下来的操作,我们在这里选否载入后的OD我们F8单步走走,注意右面寄存器FPU的显示,当有且只有ESP和EIP为红色时,我们可以用ESP定律了下图就是这样的例子,我们这时候可以右键ESP后面那个地址,然后选择在数据窗口中跟随也可以直接在下面的Command窗口中输入dd 0012FFA4 后回车这两种方法最终的效果都会在数据窗口中跟随到0012FFA4这个地址,然后我们可以右键那一段地址任意HEX设置断点→硬件访问→word型这个操作也可以在command窗口输入 HR 0012FFA4 回车后完成,然后我们按F9运行程序,此时程序会暂停在我们设置的断点位置然后我们F8单步走,到了jnz位置后不要再按F8了(这是向上跳转的),我们用鼠标点击她的下一行然后按F4,让程序强制转到跳转下面继续运行,到达jmp后我们必须跳过去,因为接下来就有可能是程序的OEP领空OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP)这里就是易语言/VC程序的OEP然后我们就可以脱壳了,脱壳前我们先把断点清理掉,以免出错【调试→硬件断点→删除】然后右击程序当前位置第一行代码,选择OllyDump脱壳调试进程然后我们在弹出的窗口中选择脱壳,然后输入要另存为的文件名此时,我们已经脱壳结束,检查下程序能否正常运行。

本文到此分享完毕,希望对大家有所帮助。

免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
Top