当前位置: 首页 > news >正文

怎么删除网站里的死链接幻灯片网站源码

怎么删除网站里的死链接,幻灯片网站源码,《php网站开发实例教程》,网站建设费用多少钱文章目录 1 IDA是什么#xff1f;2 IDA界面3 汇编基础4 IDA查看hello world二进制5 查看带有条件语句和函数调用的二进制6 总结 1 IDA是什么#xff1f; IDA是一款反编译软件#xff0c;可以查看二进制的汇编代码#xff0c;常用于逆向和问题定位。与其他商业软件类似2 IDA界面3 汇编基础4 IDA查看hello world二进制5 查看带有条件语句和函数调用的二进制6 总结 1 IDA是什么 IDA是一款反编译软件可以查看二进制的汇编代码常用于逆向和问题定位。与其他商业软件类似IDA也提供了很多类型的版本基础的用法可以使用IDA Free。本文会简单介绍下IDA的基本用法。 2 IDA界面 最上面是功能菜单和快捷按钮在快捷按钮下方有彩色的条带色块不同的颜色表示不同的段例如浅黄色是数据段黄色是代码段当选中某行代码时就会在该位置显示小的绿色箭头主界面的左侧是函数列表右侧显示汇编代码最下面就是输出窗口例如对文件进行分析是否成功 3 汇编基础 按照汇编指令的风格主要分成两种 Intel汇编x86架构汇编语言中使用的风格被Windows平台采用ATT汇编x64架构汇编语言中使用的风格被Linux平台采用 两种汇编语言一个比较大区别就是操作数的顺序Intel汇编的源操作数在右边目的操作数在左边而ATT则刚好相反。 每条汇编指令包含两个部分操作码和操作数有的指令只有一个操作数有的指令有多个操作数。 常用的操作码(不同的汇编的操作码的名称有小的差别) move将数据从一个位置移动到另一个位置两个位置就是两个操作数load/store将数据加载到寄存器/将数据从寄存器保存到内存cmp比较两个操作数并设置比较结果testjmp/je/jz/jne/jnz/jg跳转可以直接跳转也可以根据前一条的比较结果进行跳转call函数调用ret函数返回push/pop将数据压栈/出栈 操作数的类型 立即数常量值寄存器如rax内存地址使用基址、变址、相对寻址的方式指定内存地址标签用于跳转类指令字符串常量用于表示代码中的字符串常量 4 IDA查看hello world二进制 上述截图是代码段的起始部分_start函数是一个特殊的函数表示代码程序的入口点在_start函数的最后调用了main函数call cs:__libc_start_main_ptrcall指令用于调用函数cs是代码段的基址寄存器其中保存着代码段的基地址__libc_start_main_ptr是一个特殊的符号由libc定义指向一个函数指针该函数会执行一系列的初始化工作然后再调用我们的main函数。 main proc和main endp用于定义main函数。 rbp和rsp结合起来实现对函数的调用其中rbp是Base Pointer寄存器函数调用过程中保存的是帧的基地址。rsp是Stack Pointer寄存器堆栈指针寄存器始终指向当前线程的堆栈顶部。在函数内部的指令执行时rbp不变如果使用了函数级别的变量则rsp会更新。 任何函数调用的开头两行指令通常是 push rbp将当前的rbp保存到栈中当前的rbp保存的是上一个函数的基地址mov rbp, rsp将栈地址保存到帧寄存器 此时rbprsp而rbp1(栈是向低地址增长的)的位置处保存的是上一个函数的基地址。 任何函数调用的结尾两行指令通常是 pop rbp将栈顶的值保存到rbp此处栈顶的值就是上一个函数的基地址retn函数返回与call指令相对应 去掉main函数中与函数调用相关的指令剩下的4条指令为 lea rax, ss是hello world字符串的地址lea质量将字符串的地址放到rax寄存器中mov rdi, rax将刚才得到的字符串的地址放到rdi中该寄存器是函数调用的第一个参数call _puts调用_puts函数输出字符串mov eax, 0将eax寄存器设置为0该寄存器作为函数的返回值此处就是main函数的返回值 如果直接在linux中使用objdump查看二进制看到的汇编代码如下 前面也说过Linux采用的是ATT格式的汇编源操作数在右边而windows上的则相反另一个区别就是寄存器名称ATT的前面带有%而Intel汇编则没有除了这些使用objdump得到的汇编代码和IDA一样。 5 查看带有条件语句和函数调用的二进制 在查看某个函数的调用关系时按下空格键可以切换到图形显示方式。 main函数跟hello world的差别不大唯一就是在调用func1时通过esi和edi传递了两个参数。 func1函数的开始部分就是获取两个参数通过一系列mov操作两个参数放到了帧的顶部和edx/eax中然后调用_printf函数使用cmp指令比较第一个参数和0实用jnz判断比较的结果左边的红色的分支表示jnz判断失败右边绿色的分支表示jnz判断成功因此当第一个参数不为0时就执行右边当参数为0时就执行左边分支执行完成后两个分支都会沿着蓝色的流程继续执行调用func2然后将func2的结果保存到第一个变量然后函数结束。 IDA将整个执行流程以框图的形式展示当其中有分支时通过绿色和红色的分支线表示判断成功和失败的执行流蓝色的线表示顺序的执行流。在了解这种用法后遇到复杂的调用可以直接跳过某些流程直接定位到要查看的代码的附近。 6 总结 IDA是一款可以查看二进制的汇编级别代码的工具并且提供了图形的方式展示程序的执行流程有时候可以用来定位汇编级别的代码崩溃问题。
http://www.zqtcl.cn/news/990168/

相关文章:

  • 电影网站app怎么做的网站关键词是什么
  • 成都做网站建设公司建设网站总结报告
  • 个人网站要备案嘛免费响应式模板网站
  • 淘宝网站内站建设免费个人网站怎么建立
  • 网站运营经验分享ppt沉默是金粤语谐音歌词
  • 建设部网站人员查询wordpress中文 手机版
  • 大港油田建设网站电子商务公司取名字参考大全
  • 贵阳网站建设多点互动wordpress分页出现404
  • wap微信网站模板网站如何做链接
  • 泉州专业网站开发公司怎么免费做公司网页
  • 嵌入式软件开发前景怎么样百度官方优化指南
  • 网站访问速度优化工具网页设计模板图片大全
  • 哪里有手机网站制作公司网页设计与制作心得体会800字
  • 湖南建设厅网站首页简述网站建设的基本思路
  • 蚌埠公司做网站网站开发月薪
  • 怎么更换网站logo推荐几个没封的正能量网站
  • 开网站的宣传图片怎么做php网站建设面试
  • 哪些网站可以下载视频网站建设评价量规
  • 惠州市建设局网站网站模块设计怎么做
  • 群晖可不可以做网站用如何查询商标是否已经被注册
  • 北京欢迎你网站制作公司建设厅和应急管理厅焊工证区别
  • 如何开办网站微信公众平台号申请注册
  • 网站建设找哪个平台浦东区建设工程监督网站
  • 如何创业做网站设计公司工作室
  • 游戏网站建设多少中国煤炭建设协网站
  • 动态图表网站宁津做网站
  • 黑龙江生产建设兵团各连网站成功网站建设案例
  • 一级a做爰精免费网站肇庆网站制作软件
  • wordpress加分页北京优化生育
  • 乐至建设局网站工程项目管理软件哪个好