xqtd6f4h4mrpm_个人页

个人头像照片 xqtd6f4h4mrpm
个人头像照片 个人头像照片
7
88
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2021年11月

  • 发表了文章 2022-10-17

    冬季实战训练营-第一期-学习报告

  • 发表了文章 2022-06-28

    常识普及-C++常见的三种内存破坏场景

  • 发表了文章 2022-06-28

    冬季实战营第三期:MySQL数据库进阶实战

  • 发表了文章 2022-06-28

    常识普及-C语言和指针的本质

  • 发表了文章 2022-03-31

    ECS测评使用问题记录

  • 发表了文章 2022-03-16

    云效-Appstack测评

  • 发表了文章 2022-01-29

    第二期学习报告

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2022-04-18

    【藏经阁一起读(9)】读《阿里云 JindoFS+OSS 数据上云实战》,你有哪些心得?

    拜读了读《阿里云 JindoFS+OSS 数据上云实战》这本书,让我学习到了如何进行数据迁移,包括迁移HDFS海量文件迁移到OSS、 如何将Hive数据按分区归档到OSS等。如何使用JindoFS缓存加速,用Fluid+JindoFS对OSS、HDFS上的数据以及海量小文件的训练加速, 以及JindoTable计算加速。这本书非常的有实践参考意义,JindoFS是基于阿里云对象存储OSS,为开源大数据生态构建的Hadoop兼容文件系统 。JindoFS提供兼容对象存储的纯客户端模式(SDK)和缓存模式(Cache),以支持与优化Hadoop和Spark生态大数据计算对OSS的访问; 提供块存储模式(Block),以充分利用OSS的海量存储能力和优化文件系统元数据的操作。这一些特性非常的针对典型的数据湖场景, 推荐使用SDK或者Cache模式以支持大数据分析和AI训练加速。这里面的很多实践我们之间就可以拿来使用,是非常好的方法论。 感谢专家们提供的《阿里云 JindoFS+OSS 数据上云实战》这本书。
    踩0 评论0
  • 回答了问题 2022-03-27

    面向端应用的APM能力,支持哪些报警体系?

    1
    踩0 评论0
  • 回答了问题 2022-03-27

    为什么说DevOps可以为Multiexperience的生产实践带来更优异的用户体验?

    1
    踩0 评论0
  • 回答了问题 2022-03-23

    都说程序员是碗青春饭,你认为程序员35岁以后的职业出路是什么?【每周畅聊】

    1
    踩0 评论0
  • 回答了问题 2022-03-22

    ARMS Agent和其他APM产品Agent(例如Pinpoint)是否兼容?

    1
    踩0 评论0
  • 回答了问题 2022-03-22

    如何有效验证全球用户的真实访问网站时遇到的CDN问题?

    1
    踩0 评论0
  • 回答了问题 2022-03-22

    从用户体验的角度来看,什么是影响App应用可用性的最大问题?

    1
    踩0 评论0
  • 回答了问题 2022-03-21

    藏经阁一起读(7)读《云服务器运维之Windows篇》,你有哪些心得?

    读完这本共 11 章的电子书,大致上分为三篇,第一篇为基础篇,主要介绍在阿里云上使用 Windows服务器的运维操作和最佳实践,包括使用云助手批量运维服务器、使用 Windows 服务器自助诊断功能,以及使用 Windows 镜像及迁移上云的最佳实践。读到第三篇的时候,主要介绍非常有用的调试工具和调试方法,包括用性能调试工具WPA 分析CPU、内存等系统性能瓶颈问题,内核调试工具WinDbg 的安装使用,以及通过内核调试工具排查服务器蓝屏、异常死机等问题。想到了有一次的的排错经验,非常值得纪念。 我记得修复了一个Bug,我们都知道脱壳,首先修改被加壳程序的入口点到程序原来的OEP,然后修改PE程序导入表目录地址为原来导入表地址,或者新建一个节,将这个新节作为导入表节,并将原导入表内容写入新节导入表。 这个过程很简单,OD跟踪,让壳运行到原程序OEP(不一定非得OEP,程序领空导入表一般都是处于还原状态,OEP要知道),这时候可以用PE DUMP脱壳插件或者用LordPe等工具脱壳,程序当前的内存映像被dump出来,里面IAT结构完整很容易被发现。 dump后程序不能正常运行很可能是导入表位置错误(也可能是程序有自校验),因为dump出来的只是内存中的映像快照,导入表目录还是指向壳的导入表,这时,需要用导入表修复软件查找dump出的PE文件原导入表首地址,然后修正导入表目录中导入表的位置,或重建导入表。Import Fix导入表修复软件会新建一个节来保存原导入表数据,并将导入表目录指向新节导入表位置。在搜索导入表时可能导入表被破坏,Import Fix会识别出一些无效的IAT项,可以将其剔除掉。 第一次脱壳的时候就不知道这点,以为直接就可以用了。哈哈。首先得说一下程序调用DLL导出函数的原理,PE调用DLL里的函数,一般是先加载这个DLL模块到它的进程地址空间, 然后在加载后的地址范围内找到每个调用函数的地址,在程序中你可以使用LoadLibrary()这个系统API去动态去加载某个DLL,再通过GetProcAddress()系统API来找到DLL导出的某个函数地址,得到函数地址了你才能使用这个函数。用户DLL被加载后的基址可发生变化,导入的函数地址不是固定的,你不能使用固定的地址。系统DLL虽然基址固定,函数地址固定,但是一般不会直接使用函数硬地址,还是要GetProcAddress()这个API来得到地址,因为XP、win7等每个系统的这些地址是不一样的,会导致兼容性问题。所以,脱壳后修复IAT并关闭ASLR。下面举个简单的案例。 寻找OEP 这个非常简单,就不细说了。 2.加壳程序的IAT 脱壳后如遇到程序无法正常运行(XP环境),可能是因为导入表破坏,需要手动修复。 通过PC文件格式的学习,可以知道导入表的RVA在可选头的DataDirectory数组中存放 图为加壳程序DESCRIPTOR的偏移 18008,大小64 根据节区头的信息定位IAT在第6个节区 .aspack 中 通过节区已知的虚拟偏移与物理偏移可以计算出DESCRIPTOR在文件中的位置。 offset = A008 找到导出表的位置,可以知道导入了两个DLL文件,可以分别计算出Name和IAT的偏移 NAME(1) = 9FC8 NAME(2) = A044 IAT(1) = 9FB8 IAT(2) = A04F 如果对PC头不了解,可以借助PE View进行查看。 就清晰的看到加壳后的程序在启动时导入的函数 3.运行时压缩的原理 在这里插入图片描述 可能存在疑问,为什么脱壳后需要手动修复IAT。 IAT主要用于DLL文件的重定位,IAT的引入相较于 16位dos程序 不再需要包含库文件,而是通过表的形式进行映射。如果IAT不准确,则程序无法执行相关库的函数。 压缩壳对节区进行了压缩,把IAT修改为壳自身的IAT,在解压缩的最后一步会还原IAT使程序可以正常运行,所以脱壳后需要进行IAT的修复。 通过OD查看运行后程序的IAT。 相较于加壳程序的IAT,运行加壳程序后真正的IAT要多的多,如果我们只进行脱壳,而不进行IAT的修复(如下图所示) 程序的IAT是被损坏的 4 IAT修复 使用ImportREC工具,加载处于OEP的程序进程 填写正确的IAT信息 获取到内存中的IAT信息,然后删除无效函数后转存到脱壳后程序中,程序即可正常运行。 PS:windows vista / win7 系统就开始使用ASLR技术防止溢出攻击。使得每次加载程序都加载到一个随机虚拟地址。ASLR依赖于重定位表进行定位,对于EXE程序来说,重定位是可选的,通过关闭ASLR即可解决。
    踩0 评论0
  • 回答了问题 2022-03-08

    钉钉企业消息接口有次数限制吗?

    6666.
    踩0 评论0
  • 提交了问题 2021-11-07

    Java性能调优,如何对java JVM性能参数-XX:-CheckEndorsedAndExtD

  • 提交了问题 2021-11-07

    Java性能调优,对java集合TreeSet对象中的数据按指定符合条件的数据合并,有没有性能更好的

  • 提交了问题 2021-11-12

    Java性能调优,如何对java JVM性能参数-XX:-DisableAttachMechanis

  • 提交了问题 2021-11-07

    Java性能调优,在java集合TreeSet对象中执行减法计算操作,有没有性能更好的做法?

  • 提交了问题 2021-11-07

    Java性能调优,使用java读取excel文件指定内容性能最快的做法是什么?

  • 提交了问题 2021-11-07

    Java性能调优,如何将配置文件内容转换为字节数组,有没有性能更快的做法?

  • 提交了问题 2021-11-12

    Java性能调优,如何对java JVM性能参数-XX:+UseG1GC参数值调优?

  • 提交了问题 2021-11-07

    Java性能调优,如何对java JVM性能参数-XX:+UseConcMarkSweepGC参数值

  • 提交了问题 2021-11-07

    Java性能调优,如何将java HashSet集合对象转换为HashMap,有没有性能更快的做法?

  • 提交了问题 2021-11-07

    Java性能调优,如何判断java HashSet集合是否包含某个数字,有没有性能更快的做法?

  • 提交了问题 2021-11-07

    Java性能调优,使用java合并XML属性性能最优的做法是什么?

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息