问题标签 [opcode]
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.
security - 组装:什么是语义 NOP?
我想知道汇编中的“语义NOP”是什么?
php - PHP Opcode缓存在硬盘中?
我有用 PHP 开发的网站。我正在使用操作码缓存。
但是因为像 eAccelerator 或 APC 这样的 Opcode 缓存缓存在 RAM 中,我需要太多的 RAM。
因此,我正在寻找将 PHP Opcode 缓存在硬盘中的任何项目或技术。
非常感谢
(我的网站不赚钱,所以我在考虑更便宜的解决方案)
php - 使用 PHP/Apache 进行操作码缓存的最简单方法是什么?
我正在考虑使用操作码缓存来获得性能利润
使用 PHP/Apache 进行操作码缓存的最简单方法是什么?什么是性能改进?
我已经阅读了有关 xDebug 的信息,但我想知道是否还有更多选择?
emulation - 确定 CPU 的操作码循环计数
我想知道从哪里获取各种机器的 CPU 操作码周期计数。我正在谈论的一个例子可以在这个链接中看到:
https://web.archive.org/web/20150217051448/http://www.obelisk.demon.co.uk/6502/reference.html
如果您检查 MAME 源代码,尤其是在 src\emu\cpu 下,您会发现大多数 CPU 模型都以类似的方式跟踪循环计数。我的问题是从哪里获取这些信息,或者如果它不可用则对其进行逆向工程?我从未见过任何“官方”ASM 程序员指南包含循环计数信息。我最初的猜测是,一个小程序被扔进了真实硬件的 bootrom,如果它包含一个等效于 RDTSC 的操作码,就可以这样做:
但是,如果没有这样的支持,你会怎么做?我知道对于较旧的硬件,MAME 团队除了 rom 和零散的文档外无法访问任何东西。
assembly - 英特尔机器代码到汇编代码问题
专家,我想知道 intel x86 machineCode/assemblyCode 转换是单面还是双面?
表示:assemblyCode ---> machineCode 和 machineCode ---> assemblyCode 都可用。
由于 x86 机器代码的大小不同(1-15 字节),操作码也不同(1-3 字节),如何确定一个操作码是 1 字节还是 2 字节或 3 字节?
我从来没有找到x86指令前缀的例子,如果这里是1字节前缀,如何确定它是前缀还是操作码?
当然, assemblyCode ---> machineCode , mnemonics + oprand[w/b] 的标识可以通过映射某个 MappingTable 来确定响应的 machineCode 是什么。
但是,当过程相反时:
{ bbbbbbbb,bbbbbbbb,bbbbbbbb, //指令1 bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,//指令2 bbbbbbbb,bbbbbbbb//指令3 }
----> {bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb}
我不知道哪个是有效位或字节来确定一条指令的长度(多大)。
有人能告诉我如何确定吗?(操作码的大小,前缀示例。)感谢您的帮助。
php - 如何将 PHP 编译成操作码并在生产环境中运行?
注意,这不是facebook最近的hiphop项目,我只是想把它转换成opcode
,不是c/c++
。
有没有解决办法?
演示总是最好的!
php - 为低磁盘 i/o 优化 PHP require_once?
Q1) 我正在设计一个CMS(-谁不是!)但优先考虑缓存。从字面上看,一切都被缓存了。数据库行、数据库 ID 查询、配置数据、已处理数据、已编译模板。目前它有两层缓存。
第一个是操作码缓存或内存缓存,例如 apc、eaccelerator、xcache 或 memcached。如果在那里找不到条目,则在二级慢速缓存中搜索它,即 php 包含。
操作码缓存实际上是否比对其中包含 var_export 数据数组的 php 文件执行 require_once 更快?我的测试没有定论,因为我的开发箱(XAMPP 的 5.3)在安装上述任何程序时不断抛出错误。
Q2) CMS 有许多按需自动加载的辅助类,而不是加载所有文件。大多数情况下,每个都在它之前有一个要求,因此不需要进行自动加载,但这不是问题。因为一个页面脚本可以包含多达 50/60 个帮助文件,所以我有一种感觉,如果站点处于压力之下,它会因为所有的 i/o 而崩溃。暂时忽略有输出缓存可以消除对我将要建议的内容的需求,并且操作码缓存也会使这个问题变得没有意义。我试图做的是将脚本执行所需的所有帮助文件加入一个文件中。这是可以实现的并且运行良好,但是它具有显着增加内存使用量的副作用,即使在技术上使用相同的代码也是如此。
您对此有何想法和看法?
interface - OPC中接口IOPCServer、IOPCDataItem、IOPCGroup的作用是什么(OLE for process control)
我目前是 OPC 的新手(用于过程控制的 OLE)。我想了解 OPC 中的接口 IOPCServer、IOPCDataItem、IOPCGroup 接口。它们的用途是什么?它们在 OPC 客户端和 OPC 服务器方面的作用是什么?这些接口包含哪些方法和属性?您能否为我提供上述问题的答案,或者您能否提供我可以获得上述主题知识的链接?
c# - EXE文件中的方法调用在哪里?
介绍
在观看了来自 LIDNUG 的关于 .NET 代码保护的视频http://secureteam.net/lidnug_recording/Untitled.swf(尤其是从 46:30 到 57:30)之后,我会在我创建的EXE。
我的“TrialApp.exe”中唯一的逻辑是:
在 Release 配置上编译:http ://rapidshare.com/files/392503054/TrialApp.exe.html
我做什么来定位电话
在 WinDBG 中运行应用程序并在消息框出现后中断。
使用以下命令获取 CLR 堆栈!clrstack
:
获取MethodDesc结构体(使用Form1_Load的地址)!ip2md 002701f0
转储此方法的 IL(通过 MethodDesc)!dumpil 001762f8
因此,正如视频中提到的,对 to 的调用Show
是从方法实现开始的 5 个字节。
现在我打开 CFFExplorer(就像在视频中一样)并获取 Form1_Load 方法的 RVA 00002083
:。
在此之后,我转到地址转换器(再次在 CFF Explorer 中)并导航到 offset 00002083
。我们有:
在视频中提到前 12 个字节用于方法头,所以我跳过它们
从实现开始的 5 个字节应该是方法调用的操作码(28)。不幸的是,不存在。
问题:
- 我究竟做错了什么?
- 为什么文件中的那个位置没有方法调用?或者视频可能缺少一些信息......
- 为什么那个视频中的那个人用 9 个零代替了电话?
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'] 堆栈上的意外类型。