问题标签 [opcodes]

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 投票
2 回答
1297 浏览

android - 我如何执行 Dalvik 操作码

我想从我在 Android 上的应用程序中直接针对正在运行的 Dalvik VM 实例执行操作码。我正在寻找类似于 C asm 函数的东西。我有一个 dalvik 的操作码列表,但我不熟悉如何直接执行它们,或者将它们写到 .class 文件中,然后从正在运行的应用程序中针对某种 VM CLI 命令(如 dalvikvm)执行它们。

0 投票
3 回答
234 浏览

opcodes - 将操作码打印到文件

只是好奇,如果打开一个十六进制编辑器并手动输入操作码并保存它。比如将 1 移到寄存器 1 将 2 移到寄存器 2 然后调用 add,这会给我工作程序吗?或者一些如何自动化这给了我蹩脚的编译器?

编辑:忘记了操作系统,我可以使用 Mac OS X 和 Linux,x86 作为 CPU。

0 投票
1 回答
833 浏览

.net - IL 操作码修改

语言:VB.NET 3.5

IL操作码:

对应:

至少我相信确实如此。为了反映这一点,我必须对 IL 进行哪些更改:

0 投票
1 回答
915 浏览

c# - 在同一类型的 ILGenerator 上调用动态生成的方法

通常,当我想在另一个正在编写相同类型的方法的 ILGenerator 对象中调用动态方法时,我会执行以下操作:

但是,我遇到了以下问题:我无法引用我要调用的方法的方法构建器,因为它是由另一个框架生成的(我只获得了对当前 TypeBuilder 的引用)。此方法在当前动态类型的基类中被定义为受保护的虚拟(并且在我无法获得引用的方法构建器上被覆盖),我可以通过这样做来获得对它的引用:

问题是这调用了基类型的方法,而不是覆盖的方法。

有什么方法可以让我引用一个只有对定义它的类型构建器的引用的方法构建器?或者有没有一种方法可以使用 ILGenerator 调用方法而无需将“MethodInfo”对象传递给它?

0 投票
2 回答
513 浏览

.net - IL 前缀操作码有什么作用?

我一直在玩 IL,我注意到像Prefix1这样的 OpCodes ,文档基本上告诉我不要担心。自然,这让我很好奇这些不同的前缀操作码实际上做了什么。一个快速的谷歌搜索没有出现任何东西,所以我想我会在这里问专家。有人知道这些是什么意思吗?

0 投票
1 回答
429 浏览

reflection.emit - System.AccessViolationException 使用 reflectio.emit 存储变量

我在业余时间用reflection.emit 构建一个编译器,我遇到了一个我不理解的问题。

一点上下文,我有一个包含几种类型的运行时,其中之一是 Float2,一个更简单的向量结构,具有两个浮点值(X 和 Y)。我已经制作了几个属性,可以让我调整值(a la hlsl)。例如,如果我有一个新的 Float2(1.0f, 2.0f),如果我制作类似 (new Float2(1.0f, 2.0f)).YX 我将得到一个 Float2(2.0f, 1.0f) 我'在我的语言中使用这种类型,目前正在测试这种情况(省略了语言的次要细节):

我正在新调用中转换 float2(1.0, 2.0) 并在 .yx 中访问我的 Float2 类型的属性 YX。

问题是我收到“System.AccessViolationException:试图读取或写入受保护的内存。这通常表明其他内存已损坏。”。我不明白为什么,因为如果我做这样的事情:

一切顺利。

我正在生成的 IL 代码如下(我认为问题出现在“L_0014:stloc.0”中,但我不知道为什么会发生):

peverify 的结果:

[IL]:错误:[offset 0x0000000F] [found value 'Bifrost.Psl.Compiler.Runtime.Float2'][expected address of value 'Bifrost.Psl.Compiler.Runtime.Float2'] 堆栈上的意外类型。

0 投票
2 回答
729 浏览

c#-4.0 - DynamicMethod 代码在 .Net 4.0 中无法验证(找到 ref 'this' 指针...预期 ref '<>f__AnonymousType1`)

正在使用此解决方案使用反射.emit 将匿名类型转换为字典。在我从 3.5 更改为 .Net 4.0 之前工作正常。

现在,我收到“System.Security.VerificationException:操作可能会破坏运行时”。错误。

将匿名加载的动态方法转换为托管在动态程序集中的方法,保存它,然后在其上运行 peverify.exe 以找出问题所在。

得到:[IL]:错误:[DynamicAssemblyExample.dll:MyDynamicType::MyMethod][offs et 0x0000000D][found ref ('this' ptr)'MyDynamicType'][expected ref'<>f__AnonymousType1`3[System.String, System.Int32,System.Byte]'] 堆栈上的意外类型。[IL]:错误:[DynamicAssemblyExample.dll:MyDynamicType::MyMethod][offs et 0x0000000D] 方法不可见。2 验证 DynamicAssemblyExample.dll 的错误

编码:

有没有办法取消指向实际属性的指针?还是我必须以某种方式投射它?任何指针?

问候!

0 投票
3 回答
5731 浏览

android - 安卓小问题

我目前正在对 smali/"code obfuscator" 进行一些研究,目前正在尝试熟悉反编译的源代码。为此,我创建了一个简单的应用程序并通过 smali 对其进行反编译。

我现在正在尝试理解反编译的源代码,以便在以后使用代码混淆器后改进和比较安全性(针对反编译)。虽然大多数 smali 源代码并不难,但有时我仍然会遇到数字格式转换的问题。

您能否向我解释一下,例如以下行。我猜它的值应该是五,但我不确定这是哪种二进制格式。如何计算它 0x4014 = 5 ???

附上此测试功能的完整 java 和 smali 代码源:

Java源码:

小源:

0 投票
2 回答
2086 浏览

assembly - 是否存在 Lua 5.1 汇编程序?

出于无聊,我研究 Lua 5.1 VM 操作码已有一段时间了。

我想尝试编码一些东西!

那么有没有现有的方法可以将 Lua 程序集组装成字节码?

0 投票
3 回答
6000 浏览

c - GameBoy 颜色模拟器操作码自动化

我正在用 C 编写一个 GameBoy 颜色模拟器,只是为了向这个世界介绍自己,它被解释了,没有动态或静态重新编译:P

现在我正忙于用 C 代码实现所有 CPU 操作码的繁琐任务,我必须编写所有这些: http: //www.pastraiser.com/cpu/gameboy/gameboy_opcodes.html我不想从另一个模拟器中获取它们。

问题是,有什么方法可以自动编写操作码吗?也许这是一个愚蠢的问题,它会有一个愚蠢的答案,但我想尽可能少地工作。:)