如果是这样,编译资源的命令行工具的名称是什么?
或者使用的一个例子......
我可以访问专业套件(Linux和Windows环境,但我主要感兴趣的是Windows),提前感谢.
在Book Rootkits中:颠覆Windows内核第5章:运行时修补第120-125页(Greg Hoglund,James Butler,2006)
他说
JMP FAR 0x08:0xAAAAAAAA会跳到0xAAAAAAAA
但是,维基说
0x08:0xAAAAAAAA = (0x08 * 0x10) + 0xAAAAAAAA
什么是真的.
发布时mov ax, 5,数据实际上在哪里?它会进入CPU自己的内存/缓存还是RAM?或者它是否填满CPU只要它没有满,其余的将进入RAM?在这种情况下,每个应用程序是否在CPU的内存/缓存中接收自己的片或它是如何工作的?
我意识到这可能与CPU非常相关.我主要对像Core系列这样的Windows + Intel现代CPU感兴趣.
程序 集中strlen的问题是关于程序集中的 strlen,但这似乎是用AT&T语法编写的,遗憾的是我的汇编程序不支持.
我只是好奇你如何将语法[eax + ebx]翻译成intel的语法?
所以
4(%eax) # offset 4
Run Code Online (Sandbox Code Playgroud)
相当于
[eax + 4]
Run Code Online (Sandbox Code Playgroud)
假设偏移值存储在%ebx中.什么是等价的
[eax + ebx]
Run Code Online (Sandbox Code Playgroud)
?
%ebx(%eax) # doesn't work!
Run Code Online (Sandbox Code Playgroud)
谢谢,
在我看来,为asm操作命令操作数的逻辑方法是src,dest,因为英语通常从这里到那里规定而不是相反.这是AT&T语法,并且很少使用(或者至少,我从来没有机会用它编程).相反的是Intel语法,并且被广泛使用.这些名称对应于名义上起源于它们的公司.[1]
任何人都可以提供一个理由来解释为什么英特尔语法被接受为标准,以及为什么这个排序首先被开发和使用?假设AT&T语法更自然,我错了吗?
当我创建一个应用程序时,启动窗口是intel html5,徽标也显示为intel html5.我只是想在设备中执行我的应用程序时删除intel xdk html 5启动画面.我正在使用Android设备.是否有任何java脚本文件或任何其他功能来删除或自定义我的应用程序的启动窗口.这是我目前的代码:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function insert(){
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
var msg;
db.transaction(function (tx) {
var nam = document.getElementById("Tname").value;
var id = document.getElementById("Tid").value;
var name2 = "velocity";
tx.executeSql('CREATE TABLE IF NOT EXISTS APP (id unique, log)');
tx.executeSql('INSERT INTO APP (id, log) VALUES (?,?)',[id,nam]);
//tx.executeSql('INSERT INTO LOGS (id, log) VALUES (61,'+name2+')');
msg = '<p>Log message created and row inserted.</p>';
document.querySelector('#status').innerHTML = msg;
});
}
function …Run Code Online (Sandbox Code Playgroud) 我一直在寻找第3代和第4代处理器之间的区别.任何人都能告诉我第四代处理器的优点是什么.
1.6GHz的第四代处理器是否优于第三代2.4GHz?
谢谢
我正在研究一个我很着迷的主题,逆向工程.但是我遇到了一点速度碰撞.我知道按位运算符xor以及它对这些位的作用,但是当我在反汇编程序中查看它时,它似乎无法正常工作.我正在处理的一小段代码是:
MOV EAX, 0040305D
XOR DWORD PTR [EAX], 1234567
Run Code Online (Sandbox Code Playgroud)
之前的XOR已经发生,驻留在该位置的数目0040305D是1234或31323334十六进制(它被表示为ASCII,因为它是从用户输入取和它牢固地驻留如31323334在存储器中).当我在互联网上查找xor计算器以检查以确保我在纸上完成所有操作时,我得到xor计算的结果为30117653十六进制.但是当我在反汇编程序中运行该操作时,它用56771035替换了EAX中保存的内存位置.
刚刚发生了什么?我在这里错过了什么吗?我检查了许多计算器的xor计算,我无法得到56771035的答案.有人可以帮我一把,告诉我我做错了什么吗?
-担
Haswell现在有2个分支单位 - 如下所示:http://arstechnica.com/gadgets/2013/05/a-look-at-haswell/2/
这是否意味着Haswell是双路径执行CPU?
在:http://ditec.um.es/~jlaragon/papers/aragon_ICS02.pdf
这是否意味着Haswell只能在整数ALU和Shift(端口6)上执行第二个分支,而不能在其他端口上的任何其他ALU上执行?
我正在研究x86汇编语言,遵循Kip Irvine的书"用于x86处理器的第7版Edi的汇编语言".
在第4章中,作者谈到了机器指令
我的问题是,为什么机器指令中没有al(或表示al)A0 00010400?如果al没有,机器怎么知道我们想要将地址的值移动00010400到al?
============ 编辑1 ===============
我试过mov bl var1并生成了一个机器代码bl
.386
.MODEL FLAT, STDCALL
.STACK 4096
ExitProcess PROTO, dwExitCode: DWORD
.DATA
var1 BYTE 10h
.CODE
main PROC
MOV BL, var1
invoke ExitProcess, 0
main ENDP
END main
Run Code Online (Sandbox Code Playgroud)