吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 26306|回复: 146

[原创逆向图文] 【S02E02】Shark恒 零基础逆向教程之图文!【走向大牛①】

  [复制链接]
Shark恒 发表于 2014-10-27 16:58 | 显示全部楼层 |阅读模式


通过上一课,我发现很多问题,大部分人的回应普遍都是不知道怎么就跳出了call,那我从今天起,给大家讲讲汇编知识吧。否则越往下看越糊涂了。
同时我希望大家对待任何对你有帮助的帖子都像对待我的帖子一样有热情,这样才能让作者有动力有信心继续下去。如果你得到了收获却没有回馈他,也许你确实收获一个,从此以后却失去了很多……因为他没有动力再更新了。

在开始之前,请大家做好心里准备,汇编知识,既枯燥又乏味。学完了自己也编写不出来什么东西,但却能看懂OD返回的汇编代码。如果你不想让自己PJ技术成为大牛,你可以现在就关掉了。如果你想成为大牛,那就必须看懂这一课。

下面我们开始今天的课程。
汇编命令,我就不在这里全部详细的讲解了,即便是讲了,也许你们也记不住。倒不如给你们一个查询的工具,随时查看相关命令的功能。“汇编金手指”我会打包附件的。
但常用的一些命令,我会讲解的。
请看下图,这是OD右上角窗口的“寄存器窗口”,我们先说说这个。

21.png

通用寄存器有8个,分别是:
EAX ECX EDX EBX ESP EBP ESI EDI
寄存器后面的数字,就是寄存器里储存的数值,请看下图

22.png
寄存器是干什么的?
EAX ECX EDX EBX 是暂时储存计算过程中所用的操作数与结果或其他信息的寄存器。

分别是干什么的?
EAX:累加器,算数运算的主要寄存器。
ECX:计数器,在循环指令和传处理指令中当作计数器。
EDX:数据寄存器,一般在做双字长运算时把 EDX 和 EAX 组合在一起放一个双字长数,EDX用来存放高位数字。
EBX:基址寄存器。
ESP EBP ESI EDI 它们可以像数据寄存器一样在运算过程中存放操作数,但它们只能使用16位。其实他们通常的用途是在段内寻址时提供偏移地址。
分别是干什么的?
ESP:堆栈指针寄存器,表示栈顶的偏移地址。
EBP:基址指针寄存器,可作为堆栈区中的基值地址以便访问堆栈中的其他信息。
ESI:变址寄存器,原地址指针寄存器,一般与 EDS配合使用,有自动增减量的功能。
EDI:变址寄存器,目的地址指针寄存器,一般与 EDS 配合使用,有自动增减量的功能。

说完了8个通用寄存器,咱们再说说6个段寄存器:
ES CS SS DS FS GS
请看下图

23.png

6个段寄存器,分别是干什么的?
CS:代码段(存放代码段的段地址)
DS:数据段(存放数据段的段地址)
ES:附加数据段
SS:堆栈段(存放堆栈段的段地址)
FS:附加段
GS:附加段


下图的EIP里面的值,是指向CPU当前执行的代码位置。

24.png
还有标志寄存器没有介绍,就是下图这个东西。
我们通常看他们的值来控制跳转成功与否。

25.png


那他们8个又是干什么的?
他们受到比较与运算的影响来变换数值,从而让跳转成功或失败。
各种跳转成功或失败是参考那个值来判断的,请参考第一季第六集的附件,里面有超详细的解释。

他们分别是记录什么的?
C:进位标志,记录运算结果的符号,结果为负数时则1,否则 0
P:奇偶标志,用来为机器中传送信息时可能产生的代码出错情况听歌检验条件。当结果操作数中 1 的个数为偶数时置 1,否则置 0
A:FZ进位标志位
Z:零标志,运算结果为 0 时 ZF 位置 1,否则置 0
S:符号标志,记录运算结果的符号,结果为负时置 1,否则置 0
T:中断允许标志位,由  CLI,STI 两条指令来控制
D:向量标志位,由  CLD,STD  两条指令来控制
O:溢出标志,在操作数超出了计算能表示的范围称为溢出



然后我们说说“寻址”的那些事
立即寻址,这种寻址方式下,操作数以常量的形式出现在指令中
比如下图,JMP Shark恒.00513426
意思是无条件跳转到内存00513426处,其中00513426是立即数。这叫做立即寻址。

26.png
存储器寻址分为直接寻址与间接寻址。
直接寻址是带方括号的常量或是变量。DS是操作数默认的段寄存器。
如下图所示,BA520073处的内容与ah寄存器相加后,结果给BA520073

27.png
寄存器间接寻址
下图内容是DS为数据段段地址,edi寄存器的内容为偏移地址,与al做比较。

28.png
寄存器相对寻址
什么是相对寻址? 就是在间接寻址的基础上和立即数做一个加法运算。请看下图

29.png
基址变址寻址
也很容易理解,就是基址+变址在方括号里,如下图
什么是基址,什么是变址,我们在刚才讲过了,可以向上看。

30.png
相对基址变址寻址
这名字真长啊,不过也很好理解。
还记得刚才的寄存器相对寻址吗?方括号内有个立即数与寄存器做加法,就叫寄存器相对寻址。如果没有立即数做加法,那就叫寄存器间接寻址。
然后结合我们刚才的基址变址寻址,我们在与一个立即数做加法,请看下图。

31.png
前面2个寄存器相加,我们学过了,叫基址变址寻址,然后又加上一个立即数,我们管他叫“相对”,那3个在一起,就是“相对基址变址寻址”。


这一课先讲到这里,虽然枯燥但很有用,如果你学懂了这一课,你打开OD的时候,也许就不是那么朦朦胧胧了,好像近视眼戴上了眼镜一样。
还是那句话,如果想成为大牛,那请认真学习这一课!考验你的时候到了!!!

我写汇编课程是因为我站在了新手的角度思考问题制作教程。如果不讲汇编,如果你们又没看过汇编课程。后面的东西看起来会很吃力,甚至完全看不懂了。
重要的汇编知识我正在教你,学不学就是你的事了。能不能成为大牛,就看现在谁能坚持下来了!





评分

参与人数 111HB +109 THX +70 收起 理由
weekmio + 1
lies + 1
学编程的闹钟 + 1
xiaoxixpj + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
丝滑诗画 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
29590 + 1
站浪漫 + 1
非同一般 + 1
xudou110 + 1
shsww + 1 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
24567 + 1
纯纯小白 + 1
槐树 + 1
Jawon + 1
一路走来不容易 + 1
一个人的你好 + 1
WolfKing + 2 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
sjtkxy + 1
雪山肥狐 + 2
冷亦飞 + 1
帅特 + 1
银河星光 + 1
后学真 + 1
消逝的过去 + 1
l278785481 + 1
火线 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
霁幽 + 1
车太震 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
筱虎哟 + 2 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
侠客行 + 1
桃白白 + 1 + 1
louhaihua + 2 + 1
贝吉塔 + 1
诡漱渊 + 1
wuping357 + 1
小菜虫 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
撒旦飞洒 + 1
psun + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
weiran324 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
可曾伤了汇编 + 1 + 1
蛋蛋蛋 + 1
我是好人 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
PDWORD + 1
天龙人 + 1 + 1
3708272 + 2 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
莫大 + 1 + 1 前期混个眼熟^_^
a363954337 + 1
刻骨铭心 + 2 + 1
langzill + 1
hetao8003200 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
地球人类 发表于 2014-11-18 22:48 | 显示全部楼层

的确非常的枯燥,没有视频教程看的入神,不过真的很有用
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
sjw799206595 发表于 2014-11-18 23:43 | 显示全部楼层




初学者的福音  谢谢 顶
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
guowei0422 发表于 2014-11-27 15:49 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
weiiewweiw 发表于 2014-12-26 16:31 | 显示全部楼层

后排学习中!~
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
luojianeng 发表于 2014-12-26 23:13 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
防盗锁 发表于 2014-12-31 11:48 | 显示全部楼层

艾。。完全看不懂啊。头晕晕的。

(转)能不能成为大牛,就看现在谁能坚持下来了!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
tyfjmll 发表于 2015-1-4 22:55 | 显示全部楼层

认真学习中
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
rango 发表于 2015-1-22 22:39 | 显示全部楼层

感谢楼主,继续学习中
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hrf5692 发表于 2015-1-26 21:21 | 显示全部楼层

看不懂再学习
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表