
汇编
linuxheik
这个作者很懒,什么都没留下…
展开
-
test eax,eax
mov eax,[ecx+000002F0] ;将ds:[ecx+000002F0]内的32位值存入eaxtest eax,eax ;测试eax是否为负数jnge 0050235A ;为负数则跳转到 0050235A 处(你没贴出地址不知是那行)转载 2013-04-24 15:52:17 · 2881 阅读 · 0 评论 -
GNU Binutils
参见:BinutilsGNU Binutilsgnu binutils安装指导参见: 安装 Binutils-2.14 在 第 6 章.官方下载地址Binutils (2.14): ftp://ftp.gnu.org/gnu/binutils/Binutils的内容Binutils 是一组开发工具,包括连接器,汇编器和其他用于目标文件和档案的工具转载 2013-07-23 16:43:31 · 1281 阅读 · 0 评论 -
BFD库
BFD库 2011-01-16 11:16:22分类: LINUX什么是 BFD? Binary format descriptor, 即二进制文件格式描述符,它是连接工具(ld)和二进制文件操作工具(bin-util)实现对于目标文件操作的标准接口,ld和bin-util通过调用实现BFD接口的库libbfd 来实现它们的目标文件操作功能。转载 2013-07-23 17:05:16 · 2603 阅读 · 2 评论 -
gdb调试汇编
gdb调试汇编2008-12-28 12:46:03分类: C/C++首先看一个最基本的nasm语法汇编程序hello.asm:section.textglobal mainmain:mov eax,4;4号调用mov ebx,1;ebx送1表示stdoutmov ecx,msg;字符串的首地址送入ecxmov转载 2013-07-24 12:56:01 · 1448 阅读 · 0 评论 -
libtool的作用及应用
gcclibrarymakefilearchivecommandobject注意:本文为转载,原文也是转载,但是为了尊重他人得劳动成果,我将将转载网址贴出来libtool常见于autoconf/automake,单独用的例子很少,所以我想仔细研究一下,为将来兄弟们看起来方便。一。libtool的作用offer a standard procedure for creatin转载 2013-07-24 20:22:03 · 981 阅读 · 0 评论 -
gcc命令之 objdump
gcc命令之 objdump落鹤生 发布于 2012-12-17 13:46 点击:242次来自:优快云博客objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具,以下3条命令足够那些喜欢探索目标文件与源代码之间的丝丝的关系的朋友。TAG: gcc objdump -------------转载 2013-07-24 20:00:23 · 972 阅读 · 0 评论 -
VS2008下反汇编观察switch语句
VS2008下反汇编观察switch语句 观察--猜测--实证 /******************** Author:xichenData:2011-03-27********************/引言:Switch ,if else语句是在程转载 2013-08-07 11:19:55 · 660 阅读 · 0 评论 -
typeid详解
typeid详解Posted on 2010-05-14 10:58 乱78糟 阅读(11201) 评论(3) 编辑 收藏 引用 所属分类: C语言派系 在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作转载 2013-08-16 17:21:54 · 671 阅读 · 0 评论 -
汇编二进制显示
g++ -I. -I../common -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DVERSION=\"1.0.0.1\" -g -pipe -W -Wall -fPIC libopcode.cpp -lbfd -lopcodes -liberty -ldl -lpthread转载 2013-07-24 20:25:15 · 1160 阅读 · 0 评论 -
Linux的Core文件调设置方法
49Linux的Core文件设置与调试分类: C/C++, Linux/Ubuntu | 作者: ju | 访问:863 views | | 查看评论 发表评论标签: core,dump,gdb,linux,ulimit一、运行时错误任何人写程序都会出错,正如《C++编程规范》所说,真正可怕的错误不是编译时的错误,而是运行转载 2013-09-20 15:05:29 · 1685 阅读 · 0 评论 -
gdb 的反汇编对应列出源码
gdb 的反汇编命令原来可以列出源码对应的行数和二进制字节了啊之前都是用info line 来看函数汇编对应的源码行数,偶尔还用二进制编辑工具看字节码(gdb也有 x命令)原来不知道上面时候有了这两个选项都不知道啊! 看看下面的初始化局部字符串数组原来是这样做的阿^_^(gdb) help disassemble Disassemble a specified secti转载 2014-01-17 18:12:42 · 6914 阅读 · 0 评论 -
Linux汇编与C互相调用
一. 概述 汇编通过call指令调用C函数,call指令主要有两个功能:1.将下一条指令的地址保存在栈顶;2.设置eip指向被调用程序代码的开始处。汇编使用ret指令返回,ret的功能是把返回地址从桟里弹出,并转到该地址去执行。 汇编程序调用C函数时,函数的入口参数使用堆栈来传送。 C函数调用时,输入参数采用堆栈方式传递,参数的转载 2014-01-17 18:46:24 · 726 阅读 · 0 评论 -
目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
目标文件格式分析工具: ar,nm,objdump,objcopy,readelf如果普通编程不需要了解这些东西,如果想精确控制你的目标文件的格式或者你想查看一下文件里的内容以便作出某种判断,那么你可以看一下下面的工具:ar,nm,objdump,objcopy。具体用法请参考man在线手册。ar基本用法ar命令可以用来创建、修改库,也可以从库中提出转载 2013-07-23 17:07:21 · 817 阅读 · 0 评论 -
汇编指令: JO、JNO、JB、JNB、JE、JNE、JBE、JA、JS、JNS、JP、JNP、JL、JNL、JNG、JG、JCXZ、JECXZ、JMP、JMPE
汇编指令: JO、JNO、JB、JNB、JE、JNE、JBE、JA、JS、JNS、JP、JNP、JL、JNL、JNG、JG、JCXZ、JECXZ、JMP、JMPE分类: win32汇编2010-01-19 23:07 7841人阅读 评论(1) 收藏 举报汇编扩展c汇编指令: JO、JNO、JB、JNB、JE、JNE、JBE、JA、JS、JNS、JP、JNP、J转载 2013-07-30 19:11:20 · 2255 阅读 · 0 评论 -
汇编JMP语句 IP值和偏移量的问题。问题如下,我想知道IP值是怎么变化的。还有8086一条指令占个几字节啊
汇编JMP语句 IP值和偏移量的问题。问题如下,我想知道IP值是怎么变化的。还有8086一条指令占个几字节啊2011-10-16 22:26干物虫子 | 分类:汇编语言 | 浏览404次1:在0624单元内忧一条二字节JMP SHORT OBJ指令,如果其中偏移量是27H,则转向地址OBJ的值是多少?2:有指令JMP NEAR PTR qus,一直指令在内存的偏移地址为100H,qu转载 2013-07-30 18:41:36 · 3999 阅读 · 0 评论 -
汇编中的test和cmp指令[Z] 汇编中的test和cmp指令[Z]
汇编中的test和cmp指令[Z]汇编中的test和cmp指令[Z]首先看看:状态寄存器(即标志寄存器)PSW(Program Flag)程序状态字(即标志)寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成, 如下所示:15 14 13 12 11 10 9 8 7 6 5 4转载 2013-04-25 12:33:31 · 1112 阅读 · 0 评论 -
xorl %eax, %eax
这是GNU的汇编xorl %eax, %eax(这句起什么作用)按位异或,相同的位置为0,不同的位置为1,eax和eax的每一位都相同,所以相当于清零。 movl 8(%ebp), %ecx testl %ecx, %ecx(这句起什么作用) jle .L38(%ebp)是第一个参数,检验它的值,若小于等于0则转转载 2013-04-25 11:31:48 · 18507 阅读 · 0 评论 -
Linux动态连接原理 GOT PLT表详解
Linux动态连接原理 GOT PLT表详解分类: LINUX系统开发2010-11-23 20:21 2621人阅读 评论(2) 收藏 举报linux编译器funnulltableemail注意:以下所用的连接器是指,ld,而加载器是指ld-linux.so;1, GOT表;GOT(Global Offset Table)表中每一项都是本运行模块要引用的一个转载 2013-04-25 15:59:46 · 844 阅读 · 0 评论 -
x86汇编指令详解
x86汇编指令详解分类: 安全视野2007-08-30 18:26 14504人阅读 评论(0) 收藏 举报汇编x86存储扩展测试dos 80x86指令系统 80x86指令系统,指令按功能可分为以下七个部分。 (1) 数据传送指令。 (2) 算术运算指令。 (3) 逻辑运算指令。 (4) 串操作指令。 (5) 控制转移指令翻译 2013-04-17 10:39:57 · 656 阅读 · 0 评论 -
Linux动态链接之GOT与PLT
Linux动态链接之GOT与PLT4. 汇编实现 ]==============================================本文就是建立在第2种方法之上的!本着先易后难的原则,今天我们先来说说它的第1种操作思路. 我们拿API函数ExitWindowsEx来说明,下面是我在OD里拦下的ExitWindowsEx原转载 2013-04-17 11:20:39 · 667 阅读 · 0 评论 -
Windows系统调用架构分析—也谈KiFastCallEntry函数地址的获取
Windows系统调用架构分析—也谈KiFastCallEntry函数地址的获取windowsapi汇编hook存储system目录(?)[+]为什么要写这篇文章1. 因为最近在学习《软件调试》这本书,看到书中的某个调试历程中讲了Windows的系统调用的实现机制,其中讲到了从Ring3跳转到Ring0之后直接进入了KiFastCa转载 2013-04-18 12:54:09 · 603 阅读 · 0 评论 -
继续谈下调用约定
继续谈下调用约定 今天写了个DLL是用extern "C"导出的,以前一直用.def文件,结果出现了以下错误无法解析的外部符号 "__declspec(dllimport) int __cdecl SetStatus(int)" (__imp_?SetStatus@@YAHH@Z),该符号在函数 "public: void __thiscall CtestAntiRemot转载 2013-04-18 13:01:47 · 557 阅读 · 0 评论 -
上例中便是调用GetSystemMenu函数的
有如下问题请教各位:1. 为什么程序在调用window api或者dll中的输出函数时用的形式是:00401375 FF1514324000 Call dword ptr [00403214]上例中便是调用GetSystemMenu函数的.我感到疑惑的是难道这个函数的入口地址每次在window启动时都放在内存00403214处吗?且我反编译后没有40转载 2013-04-18 13:57:07 · 733 阅读 · 0 评论 -
call
目录视图摘要视图订阅【免费】全新海外营销策论分享 优快云社区4月技术大分享活动火爆开始 专访黄钊吉:SQL Server现已经向云过渡 公告:优快云新版首页上线 欢迎关注优快云产品客服微博 优快云论坛 第4期专家问答——基于openstac的可扩展云平台开发 call dword ptr转载 2013-04-18 14:03:18 · 759 阅读 · 0 评论 -
as汇编命令(来自 深入理解Linux内核)
as汇编命令(来自 深入理解Linux内核)as汇编命令汇编命令是指示汇编器操作方式的伪指令。汇编命令用于要求汇编器为变量分配空间、确定程序开始地址、指定当前汇编的区、修改位置计数器值等。所有汇编命令的名称都以"."开始,其余是字符,并且大小写无关。但是通常都使用小写字符。下面我们给出一些常用汇编命令的说明。1..align abs-expr1, abs-expr2,转载 2013-05-23 16:24:59 · 1574 阅读 · 0 评论 -
建立交叉编译工具链
建立交叉编译工具链2008年07月22日 07:59 来源:ChinaUnix博客 作者:新华网 编辑:周荣茂 分步构建交叉编译链 分步构建,顾名思义就是一步一步地建立交叉编译链,不同于2.2.2节中讲述的Crosstool脚本工具一次编译生成的方法,该方法适合那些希望深入学习了解构建交叉编译工具链的读者。该方法相对来说难度较大,通常情况下困难重重,犹如唐僧转载 2013-07-23 17:05:13 · 1121 阅读 · 0 评论 -
C程序的存储空间布局(二)
2012年12月28日C程序的存储空间布局(二) 在我上一篇随笔中,我讨论了一个由于数组越界导致程序陷入死循环的情况及其原因。不过,其中还是有些疑问:如果变量跟数组处于同一数据段时(或是栈,或是非初始化数据段等等),它们在内存中是怎样安排的?于是,我重新又小实验了一下。对于代码:void foo(){ int a[4]; int i;转载 2014-01-20 11:41:04 · 702 阅读 · 0 评论