草庐IT

反汇编

全部标签

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 - 如何在 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 - 是否可以在不链接到 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/

windows - 与时间相关的中断在 Windows 中的汇编程序中不起作用?

我想用汇编语言创建一个延迟几秒钟的小程序。我使用的是WindowsXPSP3,打开DOS窗口,然后运行​​debug.exe我在那里输入了这个简短的汇编程序:MOVCX,3DMOVDX,0900MOVAH,86INT15中断15h中的功能86h,执行延迟,延迟的持续时间以CX、DX为单位,以微秒为单位。所以如果我想延迟4秒,那么它是4,000,000microseconds=3D0900h,这就是我在CX,DX中输入的内容。运行这个短程序,不幸的是没有执行任何延迟,它立即退出。然后我尝试了另一个中断函数:函数号0,在中断1Ah中,将PC的时钟计数返回到CX,DX。每个刻度为1/18.2

windows - 如何在 CMD Windows XP 中执行汇编语言代码?

我学习了汇编语言编码。现在我想通过在WindowsXP命令提示符下运行来检查它。我已经输入调试命令并成功编​​写了汇编语言代码。我遇到的问题是如何执行我在上面写的命令?任何key、语句或其他?在这种情况下请帮助我。我星期天有考试。问候。 最佳答案 我想展示如何重定向一些汇编助记符和调试命令,以便在批处理文件和一些管道(>必须将以下示例复制并粘贴到新的文本文件中。文本文件必须重命名为“bat”文件扩展名:示例:“Hello.bat”@echooffechoacs:100>tmp.debechomovdx,108>>tmp.debech

windows - 我怎样才能在 win32 汇编程序(特别是 nasm)中获得脉冲?

我打算制作一个时钟。一个实际的时钟,不适用于Windows。但是,我希望现在能够编写大部分代码。我将使用PIC16F628A来驱动时钟,它有一个我可以访问的定时器(实际上,除了它内置的时钟之外,它还有3个)。然而,Windows似乎没有这个功能。这使得制作时钟有点困难,因为我需要知道它已经过了多长时间才能更新当前时间。所以我需要知道如何在Windows中获得脉冲(1Hz、1KHz,只要我知道它有多快就无所谓了)。 最佳答案 Windows中有许多可用的计时器对象。可能最容易用于您的目的的是多媒体计时器,但它已被弃用。它仍然可以工作,

windows - Windows CE 的汇编语言

如何用汇编语言为WindowsCE(x86)编写程序?现在我正在使用VS2008winthWindowsCE5.0SDK,我的C++程序运行良好。我尝试用我的代码创建一个asm文件并将其包含到项目中:#include"stdafx.h"#include"windows.h"extern"C"voidclear();int_tmain(intargc,_TCHAR*argv[]){clear();return0;}清除.asm:.586;Targetprocessor.UseinstructionsforPentiumclassmachines.MODELFLAT,C;Usethefla

windows - 为什么 NASM 和 dumpbin.exe 对同一个可执行文件的反汇编输出不同?

这是我遵循的步骤。1)我从KipIrvine的《x86处理器的汇编语言》一书中获取了三个不同小程序的汇编语言代码。2)我组装、链接以生成有效的可执行文件,在每种情况下都没有错误。3)对于每个可执行文件,我使用NASM生成反汇编ndisasm-u-pinteladd3.exe>add3_ndisasm.txt4)在每种情况下,我都使用dumpbin.exe获得了反汇编输出dumpbin/disasmadd3.exe>add3_dumpbin_disasm.txt令人惊讶的是,我在第4步得到的反汇编与第3步完全不同。这是我使用的汇编代码(在3种情况之一中)。;Thisprogramadds

c++ - 了解 C/C++ 中 Windows/MSVC 的一些反调试内联汇编

我正在尝试了解https://github.com/nemesisqp/al-khaser/blob/0f74c40dde8ba060807e031271f81457a187fa08/DebuggerDetection.cpp#L603中的一些反调试器功能会__asm{moveax,fs:[30h]moval,[eax+2h]movIsDbg,al}功能相同__asmmovIsDbg,[fs:[0x30]+0x2]如果不是,为什么不呢?此外,如何将其转换为纯C/C++?如何获取线程信息(特别是fs:[30h])?会BOOLInt2DCheck(){//TheInt2DCheckfunc