逆向工具基础学习(一)

简单脱壳原理-ESP(借鉴学习吧)
在这里,给大家分享一下关于一些基础知识的运用。
有些时候,忍不住在想很多东西,明明是一些很基础的东西,却要藏起来收费学习,在进去之后发现根本没有什么很大的价值。其实就是一些基础,让大家入个门,也不是什么高深的东西,所以,在这里给大家分享一下,虽然借鉴了很多东西,但也有自己的感悟和想法,希望对想入门学习的有所帮助。
下面是一些过程介绍:

1.通过PEID软件查询有没有加壳。
逆向工具基础学习(一)_第1张图片
这里说一下,如果说没有加壳,在工具字段显示的就是具体使用语言,这里是ASPack 2.12加了壳。

2.通过ollydbg去壳以及过程

点击单步执行,观察寄存器变化
在这里插入图片描述
逆向工具基础学习(一)_第2张图片
在这时,寄存器已经发生变化,通过对寄存器的数据跟随,我们可以发现一些信息。
逆向工具基础学习(一)_第3张图片
逆向工具基础学习(一)_第4张图片
寻找内存数值为00的块,在块中插入断点
逆向工具基础学习(一)_第5张图片
逆向工具基础学习(一)_第6张图片
通过调试,加入硬件断点
在这里插入图片描述
逆向工具基础学习(一)_第7张图片
点击运行
在这里插入图片描述
程序进入断点处
逆向工具基础学习(一)_第8张图片
点击单步步过按钮,我们会一步步的进入,在进入到retn处时,我们看到程序出现了乱码
在这里插入图片描述
逆向工具基础学习(一)_第9张图片
这些乱码,基本上就是影响你判断的了,所以我们可以在分析中将它删除
逆向工具基础学习(一)_第10张图片
删除后我们看到来到了一个地址

说道这里,很多疑问可能大家都会有,这是什么 入口地址,这是一个oep地址,但对于很多人在来说,刚开始其实并不需要我们了解太深,但我们需要不断积累感觉,大概知道一些基本的步骤后,通过一点点的去了解才是好的学习方式,但是如果一开始就想要全部了解的话,那会极大加深 你的沮丧感,因为你会发现这个 是真的非常的难,毕竟是汇编语言嘛。不过,我想说不必沮丧,这是我们学习过程中的一个经历,我们 只需要一点点积累,到后来发现其实并没有学习很多东西,但是我们掌握的却越来越多,当然这里并不包括那些学习能力超级强的人。好了,我们继续。
逆向工具基础学习(一)_第11张图片
在进入到程序的入口后,我们就需要将这里的硬件断点删除掉
逆向工具基础学习(一)_第12张图片
删除后我们就可以进行ollydbg去壳了
逆向工具基础学习(一)_第13张图片
点击去壳
逆向工具基础学习(一)_第14张图片
最后就生成了 一个去壳的软件,这里我们也可以清楚的看到使用的语言。c++ 6.0
逆向工具基础学习(一)_第15张图片

sfx脱壳原理

选择sfx脱壳,重新载入程序后会自动跳到可以脱壳的地方。

1.查看有无加壳
逆向工具基础学习(一)_第16张图片
2.显示加壳,打开ollydbg处理
刚开始打开时,没有跟进到处理点
逆向工具基础学习(一)_第17张图片
使用sfx调试,在选项中点击调试选项,设置sfx的相关选择,选择–字节跟踪真正入口处(勾选)
选择异常方式
逆向工具基础学习(一)_第18张图片
逆向工具基础学习(一)_第19张图片
重新打开加壳软件
逆向工具基础学习(一)_第20张图片
这里我们发现已经进入到了程序处理点,但还要等待sfx处理,这个处理真的十分缓慢,但要有耐心,不然提前点击会出错
调试完后,会出现提示,这时就可以进行去壳操作了

逆向工具基础学习(一)_第21张图片
右键点击ollydump去壳
逆向工具基础学习(一)_第22张图片
点击去壳,另存为
再次打开软件,就可看到已经去壳成功了

逆向工具基础学习(一)_第23张图片
到了这里,介绍就完了,希望对一些基础差一点的有所帮助。
另外,介绍这个并不是 给大家教程,只是给想要学习这些的一个基本思路,不至于无从下手,也是对我自己学习的一个巩固吧

你可能感兴趣的:(逆向工具基础学习(一))