吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 7162|回复: 113

[原创逆向图文] 小白成长日记之汇编语言参数的传值与读取

  [复制链接]
莣孒嬡沵芣蓜 发表于 2021-1-29 21:11 | 显示全部楼层 |阅读模式

游客,如果您要查看本帖隐藏内容请回复

jge这个判断语句在汇编指令里面是  JGE/JNL 大于或等于转移.
其实就是应对源码里面那个最小数是否大于最大数 如果大于就不跳了往下走
这条 00401079   .  B8 00000000      mov eax,0x0
给eax赋值一个0然后走jmp  
jmp是无条件跳转的意思,jmp是跳转到尾部返回0的
那么我们就明白了 参数1是ebp+8  参数2是 ebp+c
这个是怎么看出来呢!我们在寄存器ebp的位置右击然后堆栈窗口跟随就可以看到我们的参数了
前面让大家看寄存器与堆栈的关系这里应该有点简略的理解了
7.png
点了之后堆栈下面会自动定位过来了,堆栈就在寄存器下面
我们双击栈顶就可以指定位置了。
8.png
我们是ebp堆栈窗口跟随过来所以这里的指针就是ebp+XX的
我们直接对着加+8右击一下选择修改就可以看到数值,分别是100和700 所以说易语言子程序中给定的参数他会加载到堆栈空间里面
9.png
10.png
我们知道参数来源之后就可以用它了继续往下看
00401083   > \51            push ecx
00401084   .  52            push edx
00401085   .  0F31          rdtsc
00401087   .  B9 17000000   mov ecx,0x17
0040108C   .  F7E1          mul ecx
0040108E   .  83C0 07       add eax,0x7


PUSH 把字压入堆栈. 就是把ecx的值压进栈中
下面也是同理 把edx的值压进栈中
RDTSC - 读取时间标签计数器 将处理器的时间标签计数器的当前值加载到 EDX:EAX 寄存器。
这个我看了其他汇编取随机数的源码 应该等价于我们的置随机数种子 因为易语言通过支持库取随机数也是需要置随机数种子
然后mov ecx,17不用说了吧 这个是给exc传输(赋值)17
MUL 无符号乘法.结果回送AHAL(字节运算),DXAX(字运算),  结果返回给eax
add不用说了把,就是加法 操作数就是 eax,加7 最后保存在eax里面

00401091   .  8B4D 0C       mov ecx,dword ptr ss:[ebp+0xC]
00401094   .  2B4D 08       sub ecx,dword ptr ss:[ebp+0x8]
00401097   .  41            inc ecx
00401098   .  33D2          xor edx,edx
这条前面第一条条就不说了把前面讲过了 就是就是读取ebp+c的值传输给ecx
这个sub是减法 操作数是 ecx的值跟ebp+8的值相减 结果保存在ecx里面
inc这个指令是加1的意思 操作数是ecx  功能是ecx本身的值加1
xor这个指令异或运算. 最后的结果保存在edx里面 操作数是edx
后面这几段一次性讲完吧!
0040109A   .  F7F1          div ecx
0040109C   .  0355 08       add edx,dword ptr ss:[ebp+0x8]
0040109F   .  8BC2          mov eax,edx
004010A1   .  5A            pop edx
004010A2   .  59            pop ecx
004010A3   .  C9            leave
004010A4   .  C2 0800       retn 0x8

DIV 无符号除法.结果回送:商回送AL,余数回送AH, (字节运算);或 商回送AX,余数回送DX, (字运算).
add edx,dword ptr ss:[ebp+0x8] edx的值加ebp+8的值 返回给edx
最后把edx的值传送给eax 就是这段 0040109F   .  8BC2          mov eax,edx
然后通过pop指令出栈 我们前面进栈现在要出栈了 (据说是为了堆栈平衡)
释放当前子程序在堆栈中的局部变量,使BP和SP恢复成最近一次的ENTER指令被执行前的值然后返回一个8回去
子程序返回eax的值 信息框读取eax的值显示出来
11.png
本文虽然内容短小,但是收获甚大,我们总结出以下知识点
一个子程序的参数或者变量都是在子程序被调用之后把他们的数据分别压入堆栈中
大家可以看这里 12.png
ebp+8参数1 (变量1)  ebp+c 参数2 (变量2)以此类推下去 你明白了吗。
最后就是返回的解释了 我们看代码结尾是先把edx的值赋值给eax 然后出栈 平衡堆栈然后有一个返回,其实就是子程序把代码执行完毕了,然后把eax的值返回回去,因为我们的子程序是有返回值的
可以用信息框接收子程序的返回内容





评分

参与人数 35威望 +1 HB +49 THX +17 收起 理由
lies + 1
再来壹瓶 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
霜晨小烈 + 1 支持支持!!!
xiaoxixpj + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
longge188 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
花盗睡鼠 + 2 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
创客者V2.0 + 1
459121520 + 1
消逝的过去 + 1
冷亦飞 + 1
后学真 + 1
liugu0hai + 1 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
Wayne + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
小菜虫 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
张一大帅哥 + 1
努力实现自由 + 1
葡萄架下的女巫 + 1
ldljlzw + 1
河图 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
nuc.xxy + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
hetao8003200 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
a1fnv3llnq + 1
大彩笔 + 1 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
让IP飘一会 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
jaunic + 1 + 1 [快捷评语]--2021年,我们爱0爱1
boot + 1
ZSSR2009525 + 1
zwj00544 + 1 + 1
king51999 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
1413939558 + 1 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
GmailONE + 1 + 1 [快捷评语]--积极评分,从我做起。感谢分享!
fyh505099 + 3 + 1 [快捷评语]--评分=感恩!简单却充满爱!感谢您的作品!
Shark恒 + 1 + 20 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
fyh505099 发表于 2021-1-30 11:35 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hellohexiang 发表于 2021-1-30 12:29 | 显示全部楼层

感谢您的作品
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
192939 发表于 2021-1-30 17:10 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
影风 发表于 2021-1-30 18:21 | 显示全部楼层

让 江小白 来看看帖子里藏了啥好东西~~~
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
haier8917 发表于 2021-2-5 00:53 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
a8152070 发表于 2021-3-31 14:38 | 显示全部楼层

学习一下,谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
a83400489 发表于 2021-4-12 16:32 | 显示全部楼层

感谢楼主  学习了 慢慢跟上大佬的脚步
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
xx9620 发表于 2021-4-18 18:44 | 显示全部楼层


感谢大佬的教程
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
234722457 发表于 2021-4-25 23:09 | 显示全部楼层

支持支持,希望能跟上大佬的步伐
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!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

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