草庐IT

汇编指令

全部标签

c - Visual-C++ 内联汇编程序编译不正确

最近我向社区询问了两个偏移量的差异Visual-C++inlineassemblerdifferenceoftwooffsets并很快得到回复,非常感谢。现在我遇到了另一个问题,这个问题更糟。我有这样的指令..naked...__asm{...moveax,dwordptr[ebx+offsetdata1]...}真正的问题是它被编译为moveax,[offsetdata1]此行没有编译器警告(/WAll模式),但代码已更改且更改很多-想象一下,它完全被抛出ebx+部分!默默。它是编译器错误还是功能?也许我必须指定一些额外的标志?问题仅在于偏移量,因为moveax,dwordptr[e

c++ - 使用 IDebugControl::Disassemble 查看子程序的指令

所以我正在尝试使用WindowsAPI(DbgEng.h/.lib)“反汇编”函数来查看模块中某个函数(我知道它已导出)的指令。但是....它返回了一个意外错误。IDebugClient*clt;IDebugControl*ctrl;voidInitializeInterfaces(void){HRESULTstatus;if((status=DebugCreate(__uuidof(IDebugClient),(void**)&clt))!=S_OK){Utils::add_log("IDebugClientDebugCreatefailed:0x%X\n",status);}clt

c++ - 如何使用 visual studio express 调试到汇编级别?

我很好奇某些功能是如何在幕后实现的,例如:pEvent->WaitForCompletion(INFINITE,&evCode);我试图进入它但失败了。有办法吗? 最佳答案 您没有说是哪个实际版本的VisualStudio,但我相信所有版本都包含设置反汇编您没有源代码的native代码的能力。但是,默认的调试器选项通常设置为禁用这种显示。检查工具->选项中的调试选项并启用“如果源不可用则显示反汇编”,禁用“仅我的代码”和其他类似选项。一个警告:WaitForCompletion的核心实现很可能是在内核模式代码中(特别是如果pEven

windows - Subsystem for Unix Application on Windows 如何在汇编中实现系统调用?

比如这个linux系统调用int$0x80。SUA是否实现了类似的东西?如果是这样,命令是什么?这个特定的代码是我想更改以在SUA上使用的代码#cpuid.sSampleprogramtoextracttheprocessorVendorID.section.dataoutput:.ascii"TheprocessorVendorIDis'xxxxxxxxxxxxx'\n".section.text.globl_start_start:movl$0,%eaxcpuidmovl$output,%edimovl%ebx,28(%edi)movl%edx,32(%edi)movl%ecx,3

windows - 如何从 PE 文件的 .text 段中的数据中消除指令歧义?

我有一个PE文件,我尝试反汇编它以获取它的说明。但是我注意到.text段不仅包含指令,还包含一些数据(我使用IDA注意到这一点)。这是示例:.text:004037E4jmpds:__CxxFrameHandler3.text:004037EA;[00000006BYTES:COLLAPSEDFUNCTION_CxxThrowException.PRESSKEYPAD"+"TOEXPAND].text:004037F0;.text:004037F0movecx,[ebp-10h].text:004037F3jmpds:??1exception@std@@UAE@XZ;std::exce

windows - 如何并行运行批处理文件中的指令/命令?

如何并行运行批处理文件中的指令/命令?批处理文件内容:每行调用一个进程例如StartMyDay.Batcalldevenv.execallchrome.execallcommunicator.execallVirtualBox.exe 最佳答案 使用start命令,但如果需要,添加文件的路径。start""devenv.exestart""chrome.exestart""communicator.exestart""VirtualBox.exe 关于windows-如何并行运行批处理文

windows - 如何在 64 位 Windows 计算机上链接 32 位 Nasm 汇编目标代码

我从http://www.dreamincode.net/forums/topic/328714-my-program-keeps-crashing/中找到了以下代码.globalstart;~msvcrt.dllextern_printf%defineprintf_printf;~kernel32.dllexternExitProcess,GetCommandLineW,LocalFree%defineGetCommandLineGetCommandLineW;~shell32.dllexternCommandLineToArgvW%defineCommandLineToArgvCo

windows - 计算机编程艺术 MIX MUL 指令

我正在学习计算机编程艺术(Knuth的)MIX指令。我试图理解MUL1000指令如下:|+|1|1|1|1|1|[rAbefore]|+|1|1|1|1|1|[Cell1000]|+|0|1|2|3|4|[rAafter]|+|5|4|3|2|1|[rXAfter]有没有办法知道为什么rA和rX有那个值?请帮忙!Imageoftheparticularpageinthebook 最佳答案 MIX的乘法指令定义为,seehere:MULADDR,i(0:5)-->(rA,rX):=rA*memory[ADDR+rIi];这意味着累加器

windows - 是否可以在不链接到 c 库且不使用 ExitProcess() 的情况下从汇编代码创建 Windows exe?

这个问题在这里已经有了答案:Makeaprogramusingonlysystem-callsnotwindowsdll's[duplicate](1个回答)关闭4年前。出于教育目的,我正在尝试使用不依赖于标准C库或WindowsDLL的汇编代码在Windows上创建一个(32位)exe。我可以创建一个开始运行的程序(并且我可以使用gdb进行调试)但是我不确定如何干净地退出该程序。所有教程要么链接到标准C库并定义main函数,要么使用在DLL中定义的ExitProcessWinAPI调用。在32位Linux上,我会将int0x80指令与exit系统调用一起使用。显然,Windows没有

windows - 如何在汇编程序中更改屏幕背景

这是作业:如何在汇编程序(Windows上的NASM)中清除屏幕并更改前景色和背景色编辑:原来答案是这样的movbh,71hint10h 最佳答案 查看FillConsoleOutputCharacter和SetConsoleTextAttribute. 关于windows-如何在汇编程序中更改屏幕背景,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5465284/