草庐IT

IDA汇编

全部标签

windows - 关于汇编远程调用和天堂之门,触发异常的段调用是否会在抛出异常之前推送 cs 和 eip?

目前我正在玩被称为“天堂之门”的windows/WOW64技巧,正如你们中的一些人可能知道的那样,即使在x86程序中,它也允许我们进入x64模式(我很惊讶当我测试了它,它成功了!)但我知道并非所有Windows版本都支持它,所以我的代码(因为有代码)使用seh,它看起来像这样:start:use32;;setupseh...call$33:.64bits_code;specify0x33segment,it'sthateasy;;successinx64mode,quitseh...jmp.exit.64bits_code:use64;;...use32retf.seh_handler

windows - 对 Win32 API 调用在汇编中的工作方式感到困惑

我不知道如何更好地提出这个问题,但为什么会这样:callExitProcess做同样的事情吗?moveax,ExitProcessmoveax,[eax]calleax我认为这些是等价的:callExitProcessmoveax,ExitProcesscalleax 最佳答案 从DLL导入代码时,符号ExitProcess实际上不是退出进程的代码地址(它是地址的地址)。因此,在那种情况下,您必须取消引用它才能获得实际的代码地址。这意味着您必须使用:call[ExitProcess]调用它。例如,thislocation处有一些代码

windows - IDA Pro 反汇编显示 ?而不是 .data 中的十六进制或纯 ascii?

我正在使用IDAPro反汇编WindowsDLL文件。有一次我有一行代码说movesi,dword_xxxxxxxx我需要知道dword是什么,但双击它会将我带到.data页面,一切都是问号。我如何获得应该存在的纯文本? 最佳答案 如果您在IDA中看到问号,这意味着文件(在您的磁盘驱动器上)的这个位置没有物理数据。PE文件中的节有一个物理大小(由节头的SizeOfRawData字段给出)。此物理大小(在磁盘上)可能与Windows加载程序将其映射到进程内存后的部分大小不同(此大小由部分标题的VirtualSize字段给出)。因此,如

3.1 IDA Pro编写IDC脚本入门

IDAPro内置的IDC脚本语言是一种灵活的、C语言风格的脚本语言,旨在帮助逆向工程师更轻松地进行反汇编和静态分析。IDC脚本语言支持变量、表达式、循环、分支、函数等C语言中的常见语法结构,并且还提供了许多特定于反汇编和静态分析的函数和操作符。由于其灵活性和可扩展性,许多逆向工程师都喜欢使用IDC脚本语言来自动化反汇编和静态分析过程,以提高效率和准确性。在IDA中如果读者按下Shift+F2则可调出脚本编辑器,如下图所示,其中左侧代表当前脚本的名称列表,右侧则代表脚本的具体实现细节,底部存在三个菜单,第一个按钮是运行脚本,第二个按钮是覆盖导入脚本,第三个则是追加导入,他们之间的功能个有不同,读

c - 如何将反汇编的C代码划分为函数?

我有一个创建win32进程的.text段转储的应用程序。然后它在基本block上划分代码。基本block是一组总是一个接一个地执行的指令(跳转总是这些基本block的最后一条指令)。这是一个例子:Basicblock1movecx,dwordptr[ecx]testecx,ecxje00401013hBasicblock2moveax,dwordptr[ecx]calldwordptr[eax+08h]Basicblock3testeax,eaxje0040100AhBasicblock4movedx,dwordptr[eax]push00000001hmovecx,eaxcalldw

windows - 想学汇编,不知从何下手

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。只是为了它,我对学习汇编产生了兴趣。问题是我找不到一个好的起点...似乎有很多可用的汇编器(FASM、NASM、YASM、MASM),但每个都有自己独立的语法、命令和功能。FASM似乎是最方便的,因为它可以在没有链接器的情况下编译可执行文件,但我还没有找到任何教程来开始我的工作。我见过的所有“HelloWorld”示例都是16位或32位的,但我在64位W

【ARM64 常见汇编指令学习 15 -- ARM 标志位的学习】

文章目录ARM标志位介绍ZeroConditionflag(零标志位)零标志位判断实例上篇文章:ARM64常见汇编指令学习14–ARM汇编.balign,.balignw,.balign伪指令学习下篇文章:ARM64常见汇编指令学习16–ARM64SMC指令ARM标志位介绍在ARM架构中,处理器的状态寄存器(例如CPSR)有一些标志位,用于表示特定的状态或结果。以下是这些标志位的含义:N(Negative):负标志位。如果操作的结果是负数,那么N位将被设置为1。Z(Zero):零标志位。如果操作的结果是零,那么Z位将被设置为1。C(Carry):进位标志位。如果操作导致了进位或借位,那么C位将

app安全之安卓native层安全分析(三):ida使用+unidbg补环境

前言继续跟着龙哥的unidbg学习:SO入门实战教程三:V2-Sign_unidbgcontext_白龙~的博客-CSDN博客还是那句,我会借鉴龙哥的文章,以一个初学者的角度,加上自己的理解,把内容丰富一下,尽量做到不在龙哥的基础上画蛇添足,哈哈。感谢观看的朋友分析打开app,抓包,发现有个sign这个sign就是今天的重点了,jadx打开apk,可以,没有加壳,一搜,发现很快就搜到这些了,而且也不多问题不大,用objcetion把这几个都hook了,看看是走的哪里,没搞多久,就看到这里,入参和返回值,感觉就是这里了因为这个返回值的格式,根抓包看到的格式基本一致还有一个,我们看看请求的加密和解

分享一个项目:`learning_go_plan9_assembly`, 学习 golang plan9 汇编

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯近期在学习golangplan9汇编,总算基本做到了手写汇编,并整理了很多笔记。plan9汇编的资料少,难学,难用。可能也有想学习汇编的人会遇到与我一样的问题。于是把笔记进行了整理,分享到了github:https://github.com/ahfuzhang/learning_go_plan9_assembly笔记的地址在:https://github.com/ahfuzhang/learning_go_plan9_assembly/blob/main/note

【iOS逆向与安全】越狱检测与过检测附ida伪代码

首先在网上查找一些检测代码放入项目运行,用ida打开后F5得到下面的__int64__usercallsub_10001B3F0@(__int64a1,__int64a2,__int64a3,__int64a4,__int64a5,__int64a6,__int64a7,__int64a8,__int64a9,__int64a10,__int64a11,__int64a12,...){__int64v12;//x0__int64v13;//x21intv14;//w20__int64v15;//x0__int64v16;//x21intv17;//w22BOOLv18;//w23BOOLv19