AssemblyCode汇编代码Intel格式简单指令总结
下面都为Intel格式的汇编,在objdump下可以用Mintel,在gdb下可以setdisassemblyflavorintel来指定
movdst,src将src的值填到dst里adddst,src将src加到dst里subdst,src将dst减去srcanddst,src将src于dst做逻辑与,并将结果放到dstpushxxx将xxx压栈,64位就压8个字节,32位就压4个字节popxxx将栈顶数据塞到xxx,64位就弹8个字节,32位就弹4个字节,同时进行相关stack的shrink。比如poprax,就是把栈顶的8个字节给了rax,同时栈进行shrink8个字节jmpxxx跳转到地址xxx,他通过把targetaddress填入到rip(eip)寄存器达成callxxxcall对应的函数地址xxx,在执行这句之前,把下一个指令rip(eip)的内容压栈以便在call函数之后进行returncmpdst,src比较src和dst,实现方式是从dst减去src,同时更新对应的flags来给接下来的指令进行判断(jle等)jlexxx如果之前的cmp操作的结果src是lessthan或者equaldst,那么就进行跳转jgexxx同上,只要之前cmp操作的src大于等于dst就跳转jnzxxx当zeroflag不为true的时候进行跳转,否则执行下一句jzxxx当zeroflag为true的时候进行跳转,否则执行下一句leadst,src进行地址加载,把src的address加载进dst,比如leardi,〔rbx0x10〕,但是请注意,这里的〔rbx0x10〕并不是解引用的意思,只是把rbx的本身的值0x10而已,而不是对其解引用通过上面我们可以看到,我们在运行之后输出了rdi的值0x555555556005,这也正好是我们在一开始对rip进行0xe23的内容,这里的rip需要特别注意,你在断点的时候,这个rip表示的当前行号,因为此时还没运行,当你真的运行到他的时候,rip的值已经是下一行也就是这里的0x5555555551e2,而不是0x5555555551db,这再一次证明了这里的leaxxx,〔yyy〕的时候这里的〔yyy〕并不是对yyy所指向内存的内容的解引用,而只是简单的对yyy的值进行计算。同时我们还可以看到后面的注释,他已经直接帮我们把0x555555556005这个值给打印出来了,这个打印的值就是执行完当前语句之后的rip0xe230x5555555551e20xe230x555555556005intvalue生成软中断value,一般用来进行systemcalls
同时注意在进行反汇编的时候往往在rsp,rbp开栈有下面这些句子
这三行其实是额外的代码用来进行16字节对齐的,这样可以加快效率
再来追加几个指令:leave在每个函数最后进行执行,会把ebp直接赋值给esp以此来摧毁整个stackframe。同时会额外进行一把pop操作,这样就把ebp出栈了,整个stackframe当前的栈顶值就是returnaddress(之前调用函数的eiprip)ret这个就很明显在,在当前栈顶之后returnaddress的情况之下,把returnaddress进行pop,同时把eiprip的值设置为这个address,这样下一句就会直接调用这个地址deference〔〕如果你看到了bracket,这表示解引用,类似于C下的ptr。比如这里的movrax,rdx实际上是把rdx里的内容address塞到rax里,但是如果你是movrax,〔rdx〕实际上就是把rdx的指向的memoryaddress所在的内容赋值给rax,类似于autovalp以及autovalp的区别。当然你甚至可以反过来mov〔rax〕,rdx这里的意思就表示把rdx存的memoryaddress塞到rax所指内存的本身的值上去,类似pval,此时rax的值不变,因为他所持有的memoryaddress仍然不变xorrdx,rax对rdx以及rax进行异或,同时把结果存入rdx,如果rdx和rax是相同的值或者你直接xorrdx,rdx,这个就相当于清空了rdx,把rdx全部设置为0
总投资692亿元!宁夏宝丰集团新建项目审查近日,由北京石油化工工程有限公司设计的宁夏银川宝丰集团200GWh锂离子储能全产业链项目电解液配制装置顺利完成60模型审查。会上对整体布置工艺流程检修维护配管合理性等多方面进行了认
一顶绿帽引发的血案太残暴文黑蛋儿前581年形势图01hr公元前581年,齐国掌门人齐顷公死了,他的儿子环当上了一把手,史称齐灵公。这时候的齐国已经有些走下坡路,不再是霸主。西边的晋国风头正劲,齐灵公眼皮子
改革开放分田到户1978年12月,中国共产党十一届三中会召开,我国全面实行改革开放。忽如一夜春风来,千树万树梨花开。偏远山村的农民也从一夜间的梦中醒来,这年冬天,安徽凤阳小岗村的18位农民以敢为天
一家三代守墓75年,无名烈士墓身份终于揭开魂归故里落叶归根这样的观念早已融入中国人血液,即使离家万里弥留之际的人终归想回到故土,但在当时战火纷飞的年代,无数英雄战死沙场,最终落得尸骨无存。如今和平年代到来,让烈士遗骨归家成
男子梦到自己娶小姨子,醒来后很厌恶自己,几年后,这个梦成真了有个官员和妻子非常恩爱,把妻子的妹妹当作自己的妹妹。没想到有一天,他做梦竟然娶了自己的小姨家,醒来后他很厌恶自己做了这个梦,几年后,这个梦想成真了!隋朝时期有个官员叫唐秀,和妻子李
民间故事男子躲豹子发现山中秘密救穷女子儿子入宫成状元清朝康熙年间,太白山下的一个小村有个名叫李云的人,自幼父母双亡,无依无靠,只能砍柴卖柴为生,年过30了还是孑身一人。一天,李云正在山上砍柴,突然听到身后哗哗地响,回头一看,一只花豹
古代女囚发配千里,为何官差不怕累不怕路途艰辛,争抢押送差事?流放三千里发配充军发配宁古塔为奴,这些都是我们经常在古装剧历史典籍中能够看到的表述。古代的刑罚完全不同于现代,除了砍头车裂等严重惩罚之外,还有一种稍微轻量一点的判刑发配。发配方式地
辽阔的西伯利亚从乌拉尔山向东,延伸着辽阔的西伯利亚。西伯利亚地区占据着俄罗斯领土面积的34以上。和俄罗斯的欧洲部分比较起来,西伯利亚是个开发最晚,居民最为稀少的地区,直到16世纪末期,莫斯科公国
中国通史2中华民族的形成历史(一)民族和种族民族和种族不同。种族论肤色,论骨骼。看外表其同异一望可知。比如中日韩都是黄种人,外观上虽有差别,但区别不大。民族则论语言,论信仰,论风俗。无形可见,但内在力量巨大,
双11购机别光看苹果!国产旗舰价格直降,OPPOFindN跻身真香榜双11大战正式打响,为了吸引更多消费者,各大电商平台也使出了浑身解数,力度比往年要猛得多!就拿iPhone14系列来说,根据博主爆料某猫平台领券后购买,iPhone14低至5199
中国即将破译文明密码,未来五年可能引爆科技大爆炸回顾人类文明的发展历程,不难发现一个显著的规律,每次出现革命性变化的时候,都伴随着动力能源和通信方式的巨大变革。第一次工业革命是蒸汽机煤炭和电报。第二次工业革命是电动机内燃机石油和