反汇编代码求助

qq_22219667 2018-11-15 04:23:46

用menmcpy函数做了一个反汇编,目前是x86架构,哪位大佬能帮我解读一下,十分感谢
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ztenv 版主 2018-11-16
  • 打赏
  • 举报
回复
应该能帮你解惑了吧?
ztenv 版主 2018-11-16
  • 打赏
  • 举报
回复 2
285:addl $0x1,-0x18(%rbp) #对应源代码的217行for中的i++
286: cmpl $0x3e7,-0x18(%rbp) #对应源代码的217行的i<1000(用的是i<=999)
287: jle 4 400c9b <main+0xd1> #如果小于等于,则跳转到400c9b(见上面标黄的nop,281行)
288: -0x58(%rpb),%rcx #把dst的地址放到%rcx中
289: -0x60(%rpb),%rax #把src的地址放到%rax中
290: $0x64,%edx #把100这个立即数放到%edx中
291~292:不用解释了吧?传参
293: callq 400870 <memcpy@plt> 调用memcpy函数
294: movl $0x0,-0x18(%rbp) #对应源代码的223行的i=0
295: jmp 400cd5 <main+0x10b> #跳转到400cd5(301行)
qq_22219667 2018-11-15
  • 打赏
  • 举报
回复
为什么回帖后面会有链接
qq_22219667 2018-11-15
  • 打赏
  • 举报
回复
for循环主要是为了加nop,是为了在汇编里面好找一点
qq_22219667 2018-11-15
  • 打赏
  • 举报
回复
主要是285行到295行那部分汇编代码的解析
赵4老师 2018-11-15
  • 打赏
  • 举报
回复
C:\glibc-2.25\string\memcpy.c
C:\glibc-2.25\sysdeps\aarch64\memcpy.S
C:\glibc-2.25\sysdeps\alpha\alphaev6\memcpy.S
C:\glibc-2.25\sysdeps\arm\memcpy.S
C:\glibc-2.25\sysdeps\arm\armv7\multiarch\memcpy.S
C:\glibc-2.25\sysdeps\i386\memcpy.S
C:\glibc-2.25\sysdeps\i386\i586\memcpy.S
C:\glibc-2.25\sysdeps\i386\i686\memcpy.S
C:\glibc-2.25\sysdeps\i386\i686\multiarch\memcpy.S
C:\glibc-2.25\sysdeps\ia64\memcpy.S
C:\glibc-2.25\sysdeps\mips\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc32\405\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc32\a2\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc32\cell\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc32\power4\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc32\power4\multiarch\memcpy.c
C:\glibc-2.25\sysdeps\powerpc\powerpc32\power6\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc32\power7\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc64\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc64\a2\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc64\cell\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc64\multiarch\memcpy.c
C:\glibc-2.25\sysdeps\powerpc\powerpc64\power4\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc64\power6\memcpy.S
C:\glibc-2.25\sysdeps\powerpc\powerpc64\power7\memcpy.S
C:\glibc-2.25\sysdeps\s390\s390-32\memcpy.S
C:\glibc-2.25\sysdeps\s390\s390-32\multiarch\memcpy.c
C:\glibc-2.25\sysdeps\s390\s390-64\memcpy.S
C:\glibc-2.25\sysdeps\s390\s390-64\multiarch\memcpy.c
C:\glibc-2.25\sysdeps\sh\memcpy.S
C:\glibc-2.25\sysdeps\sparc\sparc32\memcpy.S
C:\glibc-2.25\sysdeps\sparc\sparc32\sparcv9\memcpy.S
C:\glibc-2.25\sysdeps\sparc\sparc32\sparcv9\multiarch\memcpy.S
C:\glibc-2.25\sysdeps\sparc\sparc64\memcpy.S
C:\glibc-2.25\sysdeps\sparc\sparc64\multiarch\memcpy.S
C:\glibc-2.25\sysdeps\tile\tilegx\memcpy.c
C:\glibc-2.25\sysdeps\tile\tilepro\memcpy.S
C:\glibc-2.25\sysdeps\x86_64\memcpy.S
C:\glibc-2.25\sysdeps\x86_64\multiarch\memcpy.S
赵4老师 2018-11-15
  • 打赏
  • 举报
回复
《The Intel 64 and IA-32 Architectures Software Developer's Manual》

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧