问题标签 [assembly]

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

javascript - 这个 milw0rm 堆喷射漏洞是如何工作的?

我通常不难阅读 JavaScript 代码,但对于这个我无法弄清楚其中的逻辑。该代码来自于 4 天前发布的漏洞利用。你可以在milw0rm找到它。

这是代码:

这就是我相信它的作用,我希望你能帮助我解决我误解的部分。

该变量shellcode包含打开calc.exe. 我不明白他们是如何找到那个奇怪的字符串的。任何的想法?

第二件事是变量spray。我不明白这个奇怪的循环。

第三件事是memory从未在任何地方使用过的变量。他们为什么要创造它?

最后一件事:XML 标签在页面中的作用是什么?


目前我有很好的答案,但大多是非常笼统的。我想要更多关于代码价值的解释。一个例子是unescape("%u0a0a%u0a0a");。这是什么意思?循环也一样:为什么开发人员写:length < 0xd0000?我想更深入的了解,而不仅仅是这个代码的理论。

0 投票
4 回答
6651 浏览

c# - 构建一个汇编器

我需要为我已经构建的 CPU 架构构建一个汇编器。该架构类似于 MIPS,但这并不重要。

我开始使用 C#,尽管 C++ 会更合适。(C# 对我来说意味着更快的开发时间)。

我唯一的问题是我无法为这个应用程序提供一个好的设计。我正在构建一个 2 遍汇编器。我知道每次通过时我需要做什么。\

我已经实现了第一遍,我意识到如果我必须在同一行上编写汇编代码......不会引发错误。这意味着只有一件事解析技术不佳。

所以万能的程序员,汇编之父们赐教我该怎么做。我只需要支持符号和数据声明。说明有固定大小。

如果您需要更多信息,请告诉我。

0 投票
4 回答
1349 浏览

c++ - 从 vc++ 调用存储在堆中的代码

想象一下我正在做这样的事情:

如何定义一个函数指针来调用 p ,就好像它是一个函数一样?(我正在使用 VC++ 2008 express)。

谢谢

0 投票
2 回答
1810 浏览

c - 在 AT&T IA-32 Linux Assembler (gas) 上拆分字符串

假设我想打破 .asciz 字符串 1101011 并得到它的第一个。我该怎么做?上面的代码不起作用,它打印 49 或其他东西。

0 投票
1 回答
781 浏览

linux - 在 Linux IA-32 汇编器(gas)上创建子字符串

我想从我的原始(字符串)中创建一个包含 3 个 asciz 字符的子字符串(迷你字符串)。这东西在运行时没有打印,所以我不知道我到底在做什么。为什么不打印?我是否正确创建了迷你字符串?

0 投票
3 回答
724 浏览

assembly - ASM 打印所有已打印的值

我有一个显示日期(日、月、年)和时间(小时、分钟、秒)的 ASM 脚本。

这会在 DOS 框上打印当前日期时间。问题是,它是静态的。我想要做的是使其动态化,这意味着我必须将新值写入当前值在屏幕上的确切位置。你如何在 ASM 中做到这一点?

我根本没有任何线索,谷歌也不是我的朋友。

0 投票
5 回答
7354 浏览

assembly - 学习 (N)ASM 的最佳资源是什么?

我想学习汇编已经有一段时间了,虽然我之前尝试过几次,但我还是没能通过“Hello, world”。是否有任何好的组装入门教程(最好使用 NASM,因为我使用 Windows 和 Linux)?

我确实有一点 C 知识,但主要是用 Ruby、Python、C# 和 JavaScript 等高级语言编写代码。

0 投票
14 回答
4518 浏览

pointers - What are the practical advantages of learning Assembly?

Most people suggest that learning assembly is essential, its important to know the underlying workings of the computer, and so forth. But what I'm looking for are some practical suggestions that will make the effort of learning Assembly to be worth it.

What are your suggestions? What am I missing out on by not learning Assembly and pointers/memory management in general?

0 投票
3 回答
6147 浏览

gcc - LLVM vs GCC MIPS 代码生成,有什么基准吗?

我很想知道 MIPS 代码、GCC 或 LLVM 的“最佳”免费/OSS 编译器是什么,或者有什么比这些更好的吗?

我有兴趣了解更多关于快速和内存受限生成的汇编代码而不是代码大小的信息。

换句话说,llvm-opt 是否比 gcc -O3 做得更好?

0 投票
15 回答
5642 浏览

performance - 现代 CPU 到底有多“快”?

当我曾经对嵌入式系统和早期的 8/16 位 PC(6502、68K、8086)进行编程时,我对每条指令执行所需的时间(以纳秒或微秒为单位)有很好的把握。根据系列,一个(或四个)周期相当于一个“内存获取”,并且无需担心缓存,您可以根据所涉及的内存访问次数猜测时间。

但是对于现代CPU,我很困惑。我知道它们要快得多,但我也知道如果不知道每条指令需要多少个时钟周期,标题千兆赫的速度是没有帮助的。

因此,任何人都可以为(假设)2GHz Core 2 Duo 上的两个示例指令提供一些时间。最好和最坏的情况(假设缓存中没有任何内容/缓存中的所有内容)将很有用。

指令#1:将一个 32 位寄存器加到一秒。

指令 #2:将 32 位值从寄存器移动到内存。

编辑:我问这个的原因是尝试开发一个“经验法则”,它可以让我查看简单的代码并粗略地衡量最接近的数量级所花费的时间。

编辑#2:有很多有趣的答案,但没有人(还)写下一个及时测量的数字。我很欣赏这个问题有“复杂性”,但是来吧:如果我们可以估计NYC 的钢琴调音师的数量,我们应该能够估计代码运行时间......

采取以下(愚蠢的)代码:

我们如何估算运行... 1 飞秒需要多长时间?1 千兆年?