GCC 如何优化循环内递增的未使用变量?
我写了这个简单的C程序: int main() { int i; int count = 0; for(i = 0; i < 2000000000; i++){ count = count + 1; } } 我想看看gcc编译器如何优化…
使用内联 asm 挂钩 usercall
我用 IDA pro 反汇编了一个可执行文件。我的目标是挂钩 __usercall 函数。我知道我需要在我的 C++ 代码中用 inine asm 包装 __usercall ,因为我无法 …
Linux Mach-O 反汇编器
是否有任何 Linux 程序可以像 objdump 一样反汇编 OSX 通用 x86/x86_64 fat Mach-O 二进制文件? GNU binutils 的 objdump 支持 ELF 和 Windows PE 文…
有没有面向对象的灵活 Java x86 反汇编器库?
我正在寻找一个 Java x86 反汇编器库,它应该具有以下功能: 反汇编 X86 代码 用 Java 类和对象描述 X86 命令 命令类应该接受具有通用返回值的访…
我们是否在反汇编器或逆向工程 CIL 中查看原始代码?
以ILSPy为例。当我查看程序集时,我看到的是原始 C# 吗?或者,此代码是使用某种类型的逆向工程过程从 CIL 重建的吗? 我的理解是发布程序集不包含任…
C++、ASM 和 cout
我正在使用 VC++ 反汇编我编写的一个非常简单的程序: #include using namespace std; int main() { for(int i = 0; i < 11; i++) { cout << i << end…
Arm Assembly - 调用具有 4 个以上参数的函数
我知道当调用程序集中的函数时,r0 包含第一个参数,直到 r3 是第四个参数。我知道当它超过四个时,将使用堆栈指针,但我不太确定具体细节。 r0-r3 是…
如何在 Xcode 控制台中打印反汇编寄存器
我正在查看一些反汇编代码,并看到类似 0x01c8f09b 的内容mov 0x8(%edx),%edi 我想知道 %edx 或 %edi 的值是什么。 有没有办法打印 %edx 或其他汇编变…
来自汇编程序的 Win32 Kernel32.CreateThread
Hi to all.... //////////////////////////////////////////// PUSH 214D84DD // thread id address out PUSH 0 PUSH 0 PUSH 214D84CD // my function…
为什么有些函数位置密集,而另一些函数则用 int 3 指令对齐和填充?
我使用 Visual C++ 10 编译以下程序: include int _tmain(int /*argc*/, _TCHAR* /*argv*/[]) { Sleep( 0 ); return 0; } 并研究反汇编。程序映像中…
iPhone反汇编中的objc_msgsend
我试图弄清楚在下面的反汇编中调用了什么方法,但我不知道发生了什么。据我所知,对于 objc_msgsend,第一个参数是对象指针,第二个参数是选择器(所…
使用 otool 反汇编默认 iOS 应用程序
当我尝试使用 otool 反汇编现有的 iOS 应用程序(不是应用程序商店的应用程序)时,它不会分成不同的方法。这只是一大块。这是我正在使用的命令: oto…
为什么 Windbg 不反汇编我的一半函数?
背景:我正在使用 Windbg 来诊断来自 Microsoft 的 WinQual 服务的小型转储的原因。我花时间在与构建时相同的路径位置中正确设置 PDB 和二进制文件,…