问题标签 [runtimemodification]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
9134 浏览

c# - 如何在来自单独应用程序的 C# 方法调用中注入代码

我很好奇是否有人知道监视.Net应用程序运行时信息的方法(调用什么方法等等)

并注入额外的代码以从单独的运行进程在某些方法上运行。

说我有两个应用程序:

为简单起见,app1.exe 可能是

我有第二个应用程序,我希望能够检测应用程序 1 的 Somefunc() 何时运行并注入自己的代码,

所以结果将是应用程序一会显示

我知道它不会这么简单(从长远来看),但我不知道它是否可能以及它是否可以从哪里开始。

有什么建议么 ?

我在 java 中看到过类似的操作,但在 c# 中从未见过。

编辑:澄清一下,它的用途是将插件系统添加到我无法访问其源代码的基于 .Net 的游戏中。

0 投票
9 回答
298 浏览

configuration - 在特定时间更改配置值

我刚收到一封邮件,说我必须在 2009-09-01 更改配置值(新税)。我们通常的方法是在 2009 年 8 月 31 日 23:59 醒来,然后手动更改值。这不是一个大问题,因为这种情况并不经常发生。但这让我想知道其他人如何处理这样的问题。

所以!您如何处理特定日期的配置更改?

(我们在 asp.net 中工作,但我认为这不一定是特定于语言的)


卡尔·伯格奎斯特

0 投票
2 回答
130 浏览

javascript - iframe 修改

我有一个网站,它使用 JavaScript 中的 top 在面板中显示书店。现在我想使用框架将此网站添加到另一个网站中。但是当我在 frame 的 src 中修复 URL 时,它会改变页面或图像的层次结构,并且不会显示书店。

0 投票
0 回答
33 浏览

c - 在运行时将新编译的函数实现注入本机可执行文件?

我正在实现一种类似 Lisp 的语言,其主要设计目标是与 C 完全互操作。这意味着静态类型、对 C 标准定义的所有原语的直接支持、指针算法和低级内存管理。宏由虚拟机扩展,整个程序转换为 C 并编译。这允许我编译整个程序,但如果我希望能够以交互方式修改和编译特定函数怎么办?有什么我可以用来将它们集成回正在运行的可执行文件而无需手动组装黑客的东西吗?

0 投票
5 回答
4295 浏览

java - Java:没有来自外部类的 ArrayList 修改

我在我的 Java 项目的一个类中使用了 ArrayList。该类跟踪列表是否已更改,并提供公共方法来添加和删除自动将变量设置为“已更改”的列表中的元素。

到目前为止,该列表是公开的,因为我希望我的列表在任何地方都可以公开阅读。但我只希望拥有列表的类能够修改它。所以没有来自外部类的修改。那可能吗?如果是这样,怎么做?

通常对于访问控制,您可能会使用 getter 和 setter 方法。但即使使用 getter 方法并将列表设置为私有,另一个类仍然可以这样做getList().remove(element),从而从外部修改列表,而不会注意到列表已更改。

0 投票
1 回答
57 浏览

mysql - MySQL:是否可以列出所有带有修改日期的表?

是否可以列出给定 MySQL 数据库中的所有表,修改日期在右侧?

我正在寻找类似的东西

0 投票
1 回答
55 浏览

java - Java 帮助(等待?)

我想创建一个java函数,就像等到这在几秒钟内过去,然后他们可能会执行动作..这是我所拥有的:

注意:这是两个不同的示例,没有使用/考虑正确的 { } 格式。

我希望在激活顶部代码后有两秒钟的延迟,然后您才能再次按下它。

谢谢!

0 投票
0 回答
64 浏览

java - Java:是否可以使用其现有调用执行方法的修改代码(在运行时更改)

我在 SO 上遇到了许多类似的问题,但仍在试图弄清楚我们是否可以在运行时替换方法体,以及是否可以通过对该方法的现有调用来执行修改后的方法。

在阅读了许多类似问题的答案后,我了解到我们可以在运行时替换任何用户定义的类。然后我们可以加载修改后的类(例如,修改后的类中有修改的方法),创建该类的实例,并调用修改后的方法。这个问题的公认答案对我理解这个概念非常有帮助。

基本上,该答案中使用的示例解释说,如果我们更改Test1.hello(),那将由类中的main方法选择,Test因为它正在创建Test1类的新实例并通过该实例调用 hello。

但是可能存在一些情况,hello()代码库中存在许多现有调用(例如 in Test2.java),我们希望在Test1动态加载类之后,所有现有调用都Test2将执行修改后的方法,而不是旧的.

我想知道这是否可能,或者我是否遗漏了什么。

提前非常感谢。

0 投票
1 回答
821 浏览

hook - cycript/substrate 如何与流程挂钩?

我目前正在研究一些关于挂钩移动应用程序的技术,并遇到了一些框架,如 Xposed (Android)、Frida (Android 和 iOS) 和 Cycript (iOS)。

关于 Xposed 和 Frida 的文档很好地解释了他们是如何做到的。Xposed 状态来操作二进制文件,启动 Zygote 进程并加载一个额外的 JAR 文件,以帮助挂钩方法。Frida 文档解释说,简而言之,如果我理解正确的话,它使用 ptrace(在 Linux 环境中)附加到进程,分配和填充加载线程以启动包含 frida 代理的 .so 文件的引导程序。

我找不到关于 Cycript 所采用的策略的有用文档。我知道它是建立在 Cydia Substrate 之上的,可以进行实际的挂钩。我也找不到关于 Substrate 究竟是如何做到这一点的详细信息。

我进一步了解,在 iOS 上,objective-c 运行时支持运行时操作,因为它是面向运行时的。

有人知道 Cycript / Cydia Substrate 究竟是如何挂钩/注入应用程序的吗?

提前致谢。

0 投票
0 回答
1205 浏览

android - 通过反射/类加载器替换Android中的方法实现

我目前正在研究移动应用程序的运行时操作技术。在 iOS 平台上,我可以通过调用诸如 class_replaceMethod(...) 之类的 Objective-C 运行时库函数轻松地进行方法调配。在Android上是否可以使用等效方式?

如果我使用 JDB,我可以更改局部变量并评估表达式。通过后者,我假设可以更改方法的整个实现主体。您将如何做到这一点,例如使用反射?需要哪些步骤?

提前致谢!