如何从应用程序内执行调试器命令

2023-12-27

在运行时我试图恢复一个函数的地址未出口但可以通过共享库的符号表获得,因此对调试器可见。

我正在研究需要捕获某些事件并操纵运行时的高级调试程序。其中一项操作需要了解私有函数的地址(仅地址),该地址在其他地方用作密钥。

我当前的解决方案在构建时计算该私有函数相对于已知导出函数的偏移量nm。该解决方案限制了调试功能,因为它依赖于共享库的特定构建。

更好的解决方案应该能够在运行时恢复地址。

我希望从应用程序内与附加的调试器进行通信,但很难找到任何 API。

我有什么选择?


在运行时,我试图恢复未导出但可通过共享库的符号表获得的函数的地址,因此对调试器可见。

调试器不是神奇的独角兽。如果符号表可供调试器使用,那么它也可供您的应用程序使用。

我需要按名称恢复其地址使用调试器 ...

这是完全错误的做法。

不使用调试器,而是读取应用程序中库的符号表,并使用获得的信息来调用目标函数。

阅读 ELF 符号表非常容易。Example https://stackoverflow.com/a/48843218/50617。如果您不在 ELF 平台上,获取同等信息应该不会更困难。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从应用程序内执行调试器命令 的相关文章

  • Windows 10 Mobile (10.0.14393) 地理围栏后台任务 (LocationTrigger)

    自从10 0 14393 周年纪念更新 LocationTrigger似乎不起作用 我有 Windows Phone 8 1 应用程序 也适用于 UWP 应用程序 输出到的便携式库Windows Runtime Component图书馆 w
  • 通过增加索引之和来生成排序组合的有效方法

    对于启发式算法 我需要一个接一个地评估特定集合的组合 直到达到停止标准 由于它们很多 目前我正在使用以下内存高效迭代器块生成它们 受到 python 的启发 itertools combinations http docs python o
  • 如何尝试/捕获所有异常

    我正在完成由其他人启动的 UWP 应用程序 该应用程序经常崩溃 我总是陷入困境应用程序 at if global System Diagnostics Debugger IsAttached global System Diagnostic
  • 选择列表逻辑应位于 ASP.NET MVC、视图、模型或控制器中的什么位置?

    我觉得我的问题与这个问题很接近 但我想对这样的代码应该放在哪里进行更一般的讨论 Asp Net MVC SelectList 重构问题 https stackoverflow com questions 2149855 asp net mv
  • SFINAE 如何使用省略号?

    过去 当使用 SFINAE 选择构造函数重载时 我通常使用以下内容 template
  • 将字符串转换为正确的 URI 格式?

    有没有简单的方法可以将电子邮件地址字符串转换为正确的 URI 格式 Input http mywebsite com validate email 3DE4ED727750215D957F8A1E4B117C38E7250C33 email
  • 将带有 glut 的点击坐标添加到向量链接列表中

    我想创建一个向量链接列表 并在 GLUT 库的帮助下获取点击的位置并将它们附加到链接列表中 这些是我写的结构 typedef struct vector int x int y Vector typedef struct VectorLis
  • 为什么具有相同名称但不同签名的多个继承函数不会被视为重载函数?

    以下代码片段在编译期间产生 对 foo 的调用不明确 错误 我想知道是否有任何方法可以解决此问题而不完全限定对 foo 的调用 include
  • C++11 动态线程池

    最近 我一直在尝试寻找一个用于线程并发任务的库 理想情况下 是一个在线程上调用函数的简单接口 任何时候都有 n 个线程 有些线程比其他线程完成得更快 并且到达的时间不同 首先我尝试了 Rx 它在 C 中非常棒 我还研究了 Blocks 和
  • tabcontrol selectedindex 更改事件未被触发 C#

    嘿伙计们 我有一个很小的问题 请参阅下面的代码 this is main load private void Form1 Load object sender EventArgs e tabAddRemoveOperator Selecte
  • 二叉树中的 BFS

    我正在尝试编写二叉树中广度优先搜索的代码 我已将所有数据存储在队列中 但我不知道如何访问所有节点并消耗它们的所有子节点 这是我的 C 代码 void breadthFirstSearch btree bt queue q if bt NUL
  • 从 R 到 C 处理列表并访问它

    我想使用从 R 获得的 C 列表 我意识到这个问题与此非常相似 使用 call 在 R 和 C 之间传递数据帧 https stackoverflow com questions 6658168 passing a data frame f
  • 0-1背包算法

    以下 0 1 背包问题是否可解 浮动 正值和 浮动 权重 可以是正数或负数 背包的 浮动 容量 gt 0 我平均有 这是一个相对简单的二进制程序 我建议用蛮力进行修剪 如果任何时候你超过了允许的重量 你不需要尝试其他物品的组合 你可以丢弃整
  • 使用 iTextSharp 5.3.3 和 USB 令牌签署 PDF

    我是 iTextSharp 和 StackOverFlow 的新手 我正在尝试使用外部 USB 令牌在 C 中签署 PDF 我尝试使用从互联网上挖掘的以下代码 Org BouncyCastle X509 X509CertificatePar
  • 如何引用解决方案之外的项目?

    我有一个 Visual Studio C 解决方案 其中包含一些项目 其中一个项目需要引用另一个不属于解决方案的项目 一开始我引用了dll
  • 受限 AppDomain 中的代码访问安全异常

    Goal 我需要在权限非常有限的 AppDomain 中运行一些代码 它不应该访问任何花哨或不安全的内容 except对于我在其他地方定义的一些辅助方法 我做了什么 我正在创建一个具有所需基本权限的沙箱 AppDomain 并创建一个运行代
  • OSError: [WinError 193] %1 不是有效的 Win32 应用程序,同时使用 CTypes 在 python 中读取自定义 DLL

    我正在尝试编写用 python 封装 C 库的代码 我计划使用 CTypes 来完成此操作 并使用 Visual Studio 来编译我的 DLL 我从一个简单的函数开始 在 Visual Studio 内的标头中添加了以下内容 然后将其构
  • 在 Xamarin 中获取 OutOfMemoryException

    java lang OutOfMemoryError 考虑增加 JavaMaximumHeapSize Java 执行时内存不足 java exe 我的 Visualstudio Xamarin 项目出现内存不足异常 请帮助我如何解决此问题
  • C#中为线程指定特殊的cpu

    我有 2 个线程 我想告诉其中一个在第一个 cpu 上运行 第二个在第二个 cpu 上运行 例如在具有两个 cpu 的机器中 我怎样才能做到这一点 这是我的代码 UCI UCIMain new UCI Thread UCIThread ne
  • 如何使用 C# 以低分辨率形式提供高分辨率图像

    尝试使用 300dpi tif 图像在网络上显示 目前 当用户上传图像时 我正在动态创建缩略图 如果创建的页面引用宽度为 500x500px 的高分辨率图像 我可以使用相同的功能即时转换为 gif jpg 吗 将创建的 jpg 的即将分辨率

随机推荐

  • 使用水豚复制粘贴?

    我想做这样的事情 div find some div copy to clipboard div input find my input paste from clipboard input 我不想用这个来模拟send keys并使用 Ct
  • RStudio 闪亮错误 mysqlNewConnection 最多 16 个连接

    我有一个正在运行的闪亮服务器 它连接到 MySQL 数据库 到目前为止工作正常的页面现在给我这个错误 Error in mysqlNewConnection drv RS DBI driver cannot allocate a new c
  • 如何检查android webview中的所有元素

    When i inspect an website with Chrome i can to see some iframe data like this Example Chrome inspect https i stack imgur
  • ASP.NET MVC 中的 DropdownList - 值未发布

    我在 ASP MVC Razor 中有一个表单 在这个表单中我有一个文本框 和一个
  • ASP.Net Core 2.1 中的身份< - 自定义 AccountController

    我已经安装了ASP NET Core 2 1但即使我创建了一个新的ASP NET Core Web Application using ASP NET Core 2 1 with Individual User Accounts Store
  • 无法在 .NET Core 项目中使用 T4 模板

    我有一个 NET Core 类库项目 我想使用设计时 T4 模板 模板编译正确 但是当我尝试使用反射时 它会引发错误 Running transformation System IO FileNotFoundException Could
  • 什么时候不应该重构?

    我们都知道重构很好 我和下一个人一样喜欢它 但是你有真实的案例吗 not重构 像时间关键的东西或同步之类的东西 技术或人为原因同样受欢迎 真实案例场景和经验优先 Edit 从迄今为止的答案来看 不重构的唯一原因似乎是金钱 我的问题主要与这样
  • MS SQL Server 与 Rails 4

    我想在 Rails 4 上创建一个使用现有 MS SQL 数据库的应用程序 该应用程序可以从使用 Rails 4 及其所有新功能中受益匪浅 但似乎每个人都推荐使用 gem activerecord sqlserver adapter 不支持
  • AJAX 和自签名证书

    我正在尝试将 AJAX 请求发送到使用自签名证书的 REST API 网站 问题是 当我第一次访问该网站时 它抱怨此证书问题 当我执行 AJAX 请求 没有先接受此证书 时 它会默默失败 问题是这种情况下该怎么办 我应该要求用户访问该网站并
  • 在 cbind 或 rbind 之后丢失表的暗名称

    After cbind or rbind ing 一个表对象 例如 添加总和的余量或类似的东西 暗名称的名称会丢失 请参阅y 我找到了这个 解决方法 但想知道是否有一个现成的解决方案 看起来不那么老套 也许可以即时完成一些事情 我想保留班级
  • 404 Not Found:Angular 2 无法与 Spring Rest API 对话

    我按照 Angular 2 的 Tour of Hero 教程使用内存数据库进行操作 然后我创建了一个 Spring 后端来提供数据 并希望将 Angular2 与 Spring 的 Rest API 集成 在英雄之旅中我只改变了hero
  • 概念评估是否可以取决于评估地点?

    温度概念 5 http eel is c draft temp concept 5 sentence 1 says 概念未实例化 temp spec 注 表示概念专门化的 id 表达式被计算为表达式 expr prim id 这是否意味着这
  • 爆炸和 in_Array 搜索不起作用

    好的 这里是代码键盘http codepad org ZQz0Kn3R http codepad org ZQz0Kn3R function processContent content min count 2 exclude list a
  • moment.js 获取当前时间(以毫秒为单位)?

    var timeArr moment format HH mm ss split var timeInMilliseconds timeArr 0 3600000 timeArr 1 60000 这个解决方案有效 测试一下 但我宁愿只使用
  • 内容菜单和打开选项卡的问题 - Chrome 扩展

    我遇到以下问题 在网页上检测到选择后 以下代码未显示 目前 当我选择文本时 上下文菜单没有显示 Code function getword info tab if info menuItemId google console log Goo
  • 在 Woocommerce 3+ 中保存并显示订单自定义元数据

    不久前 我的合作伙伴帮助我在结帐页面添加了自定义字段 我们想问人们 您是如何听说我们的 当他们预订我们的活动时 我们把它放在一起 但不久之后我们就无法正确看到结果了 在发送给管理员的 新订单 电子邮件中 出现 您是如何听说我们的 标签 但没
  • 在序言中将某些字符从列表复制到另一个列表

    所以我有这段代码 它将所有内容从列表复制到另一个列表 我应该如何修改它才能复制 比如说前两个字符 copy L R copy2 L R copy2 X X copy2 H T1 H T2 copy2 T1 T2 我想要的示例 copy a
  • 在 C# 中使用“类型”对象进行类型转换

    到目前为止 这对我来说有点棘手 我想知道是否可以使用 System Type 对象对对象进行类型转换 我在下面说明了我的意思 public interface IDataAdapter object Transform object inp
  • 如何在 GitLab CI 中的其他内容之前在 PATH 中设置 docker-credential-ecr-login

    我正在使用 AWS ECR 托管私有 Dockerfile 映像 并且我想在 GitLab CI 中使用它 根据文档 我需要设置 docker credential ecr login 来获取私有映像 但我不知道如何在其他事情之前做到这一点
  • 如何从应用程序内执行调试器命令

    在运行时我试图恢复一个函数的地址未出口但可以通过共享库的符号表获得 因此对调试器可见 我正在研究需要捕获某些事件并操纵运行时的高级调试程序 其中一项操作需要了解私有函数的地址 仅地址 该地址在其他地方用作密钥 我当前的解决方案在构建时计算该