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

网站专题页面文案设计做网络销售如何找客户

网站专题页面文案设计,做网络销售如何找客户,沈阳网站网页,做网站推广怎么说广告词公开视频 - 链接点击跳转公开课程博客首页 - ​​​链接点击跳转博客主页 目录 1. 堆栈结构基础 堆栈的主要操作#xff1a; 2. 代码功能解析 2.1 加载 ntdll.dll 2.2 获取 NtQueryInformationThread 函数指针 2.3 调用 NtQueryInformationThread 获取线程信息…公开视频 - 链接点击跳转公开课程博客首页 - ​​​链接点击跳转博客主页 目录 1. 堆栈结构基础 堆栈的主要操作 2. 代码功能解析 2.1 加载 ntdll.dll 2.2 获取 NtQueryInformationThread 函数指针 2.3 调用 NtQueryInformationThread 获取线程信息 2.4 获取线程环境块TEB 2.5 输出堆栈信息 3. 涉及的知识点拓展 3.1 线程环境块TEB 3.2 堆栈溢出与保护 3.3 Windows API 与逆向工程 3.4 调试与堆栈分析 1. 堆栈结构基础 堆栈Stack是一种后进先出LIFO, Last In First Out的数据结构常用于函数调用、局部变量存储等场景。在程序运行中堆栈用于管理函数调用、保存返回地址、存储局部变量以及维护程序执行的上下文。 堆栈的主要操作 函数调用调用函数时当前函数的执行状态如返回地址会被压入堆栈。栈底保存栈底通常是固定的用于标记堆栈的起始位置。提升栈顶函数调用时栈顶会向上移动用于分配新的空间。保存数据局部变量、返回地址等数据会被存储在堆栈中。缓冲填充堆栈有时会被填充特定的字节数据用于对齐内存或防止溢出。业务实现实际的函数逻辑在堆栈分配的内存区域中操作。恢复数据函数返回时堆栈中的数据会被恢复。恢复栈顶函数返回后栈顶指针会返回到调用前的位置。恢复栈底栈底通常不变标志堆栈的起点。函数返回从堆栈中弹出返回地址恢复调用点继续执行。堆栈平衡确保函数调用前后堆栈的状态一致避免内存泄漏或崩溃。堆栈信息通过调试或程序手段可以获取堆栈的基本信息如栈底、栈顶、大小等。 2. 代码功能解析 上述代码展示了如何通过 Windows API 获取线程的堆栈信息以下是分步骤解析 2.1 加载 ntdll.dll HMODULE hNtdll LoadLibrary(Lntdll.dll); ntdll.dll 是 Windows 操作系统的一个核心动态链接库提供底层的系统服务函数。加载该库后可以使用其导出的函数。 2.2 获取 NtQueryInformationThread 函数指针 PNtQueryInformationThread pFun (PNtQueryInformationThread)GetProcAddress(hNtdll, NtQueryInformationThread); 通过 GetProcAddress 获取 NtQueryInformationThread 函数的地址该函数用于查询线程的详细信息。 2.3 调用 NtQueryInformationThread 获取线程信息 NTSTATUS status pFun(GetCurrentThread(), (THREADINFOCLASS)0, tbi, sizeof(THREAD_BASIC_INFORMATION), NULL); 调用 NtQueryInformationThread 获取当前线程的基本信息存储在 THREAD_BASIC_INFORMATION tbi 结构中。 2.4 获取线程环境块TEB PNT_TIB pTib (PNT_TIB)tbi.TebBaseAddress; 通过 THREAD_BASIC_INFORMATION 中的 TebBaseAddress 字段获取线程的环境块Thread Environment Block, TEB。TEB 是一个结构体包含线程的堆栈信息、异常处理信息等。 2.5 输出堆栈信息 std::cout pTib-StackBase std::endl; std::cout pTib-StackLimit std::endl; 通过 TEB 的 StackBase 和 StackLimit 字段获取堆栈的起始地址和结束地址。 3. 涉及的知识点拓展 3.1 线程环境块TEB TEB 是 Windows 线程的核心数据结构每个线程都有一个对应的 TEB存储在线程的用户模式内存空间中。主要字段包括 StackBase堆栈的起始地址。StackLimit堆栈的结束地址。Self指向自身的指针。ExceptionList异常处理链表。EnvironmentPointer指向环境变量的指针。 3.2 堆栈溢出与保护 堆栈溢出是指程序在堆栈中写入超出其容量的数据可能导致程序崩溃或被攻击者利用。为防止堆栈溢出现代操作系统和编译器引入了以下机制 栈保护Stack Guard在栈帧中插入一个保护值Canary函数返回时验证保护值是否被篡改。DEPData Execution Prevention禁止堆栈中的数据被执行。ASLRAddress Space Layout Randomization随机化堆栈地址增加攻击难度。 3.3 Windows API 与逆向工程 在逆向工程中了解 Windows API 的使用和底层实现是关键。NtQueryInformationThread 是一个常用的 API用于获取线程的详细信息逆向工程时通常用于分析线程堆栈、异常处理等。 3.4 调试与堆栈分析 调试工具如 WinDbg、x64dbg可以用来分析程序的堆栈信息帮助理解程序的执行流程和查找问题。例如 查看当前栈帧和调用链。分析堆栈中存储的变量和返回地址。检查堆栈溢出或未平衡的调用。
http://www.hkea.cn/news/14372765/

相关文章:

  • 怎么用源代码做网站张家港网站建设培训学校
  • 佛山网站建设公司3lue国外以紫色为背景的网站
  • 网站备案怎样提交管局做修车行业需要在哪个网站做推广
  • 网站制作报价单模板达尔罕茂明安网站建设
  • 平台网站建设方案模板下载怎么建立外贸网站
  • 织梦网站会员中心模板微信网站开发教程视频
  • 企业门户网站建设报价手机网站html5模板
  • flash网站整站源码免费下载旅游电子商务网站建设
  • 网站加速cdn自己做wordpress文章添加目录
  • 在线网站搭建系统wordpress好看的底部
  • 针织厂家东莞网站建设zac博客seo
  • 已有域名怎么建设网站昆明网站建设首选
  • 做qq阅读网站介绍百度seo咋做
  • 有做酒席酒水网站吗备案 网站备注
  • 做网赌需要在哪些网站投广告江苏元鼎建设工程有限公司网站
  • 珠海市官网网站建设品牌南宁市住房和城乡建设部网站
  • 建设银行打印回单网站经典广告案例
  • 网站开发在线培训怎么把电脑字体导入wordpress
  • 温州网站制作要多少钱wordpress 加备案号
  • 做网站代理怎么样做公众号好还是网站好
  • 长沙企业网站建设收费住房和城乡建设局网站
  • 鞍山信息港二手房出租宁波seo外包方案
  • 两学一做山西答题网站网站托管如何收费
  • 高密做网站的价格专门做调查问卷的网站
  • 毕设代做的网站跨境电商网站建设
  • 空间商网站ip被攻击后换ip微信域名防封跳转系统
  • 南宁百度seo软件北京核心词优化市场
  • 如何让客户主动找你做网站网站开发报价
  • 在国外建设网站怎么做网站链接支付
  • 好的免费网站建站平台重庆建设集团官方网站