永发信息网

懂汇编的来下,有个问题?

答案:2  悬赏:50  手机版
解决时间 2021-05-06 14:34
pushad mov ecx,11111111(大小)mov ebx,00401000(code段起始位置)add dword ptr [ebx],4444xor dword ptr [ebx],4444add ebx,4loop (xor的内存地址)popad
这句代码的 ADD EBX,4 是不是  加密后 ebx 再加4 ??还有 add dword ptr [ebx],4444xor dword ptr [ebx],4444  这两句加密代码是什么意思?
最佳答案

pushad   ;所有寄存器进堆栈
mov ecx,11111111(大小)  ;定义循环次数,跟下面的loop相配合的
mov ebx,00401000(code段起始位置) ;如果你在win32下汇编的话,这个是一个线地址,会根据操作系统的分页机制变成物理地址;如果是DOS下,这个是实际地址,DOS不支持,保护模式中的分页
add dword ptr [ebx],4444 ;第一次ebx指向00401000,所以操作[00401000~00401003],4个字节 它们加4444,下次ebx寄存器就指向00401004首地址了,所以操作00401004~00401007,分清ebx只是内存地址指针,而不是操作对象
xor dword ptr [ebx],4444 ;执行异或指令
add ebx,4  ;ebx加4,准备下次操作的4字节地址
loop (xor的内存地址)  ;循环
popad ;所有寄存器出堆栈


你第一个问题,ebx 只是存放内存首地址的寄存器(相当于指针),那个add ebx,4是 内存指针往下走4个字节,准备操作下一个内存地址,add dword ptr [ebx],4444  xor dword ptr [ebx],4444这2句操作的只是内存,而不是ebx的地址指针


你第2个问题,如果这段是更内存加密有关,那么这2句就是算法,内存+4444后,在跟4444异或

全部回答
[ebx]相当于[00401000]这里面存储的数据
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ飞车怎么把坐宝座的人打下来
我想要几个QQ号,谁有给我几个,要7月30号之
好词好句 摘抄 哲理红楼梦诗句
黑道学生3电子书下载
求运动会来稿!要短的,几句就可以了
长清区济南昂立少儿教育在哪里啊,我有事要去
炫舞高手这个G怎么去掉病毒还能玩?
股票涨跌取决于什么
为什么努力了却得不到回报?
DOTA的BAN人选人有什么讲究啊?
怎么把任务栏变成如图二
为什么她经常说一些话我会生气
在私人住宅公寓、居民楼里开的公司是不是歪的
解梦。。梦很奇怪
什么叫朋友 我要最准的!
推荐资讯
桥边街地址有知道的么?有点事想过去
家园提升有什么好处?
告诉我你还爱我吗歌词,如果没有他你还会爱我
真正的困难是打败自己,别人眼中的错了就要回
卡了怎么办???救救我
对某种事情失望的古诗词
从菏泽到淄博的汽车票多少钱
为什么我的QQ音乐换页的时候要出现脚本错误?
农家香菜馆在什么地方啊,我要过去处理事情
请问哈尔滨平房区84中学在哪里?
请问我晕车吐的很利害,这样会影响胎儿吗?我
出其不意的下一句是,出其不意的上一句是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?