我在c中编写了这个简单的库:

library.h:

int sum(int a, int b);

LIBRARY.C:

#include "library.h"

int sum(int a, int b) {

return a+b;

}

我用cl.exe(visual studio 2012)使用以下命令编译它:

cl /c /EHsc library.cpp

lib library.obj

它将其编译为静态链接.lib库文件.现在我想看看编译器如何生成汇编代码,用于学习/学术目的.请注意,我不想反编译它,我只想读取生成的程序集.我试图用w32dasm打开.lib,但我得到了很多奇怪的符号,看起来工具无法读取文件.我已经用动态链接库(从同一个源生成)完成了类似的任务,并且它有效;因为我能够使用w32dasm查看汇编代码.所以,我的问题是:可以像动态链接库那样查看静态链接库的汇编代码吗?如果是这样,那么使用什么是正确的工具,因为w32dasm似乎不是正确的工具.

linux 反汇编 静态库,如何反汇编.lib静态库?相关推荐

  1. lib静态库逆向分析

    当我们要分析一个lib库里的代码时,首先需要判断这是一个静态库还是一个导入库. 库类型判断 lib文件其实是一个压缩文件. 我们可以直接使用7z打开lib文件,以查看里面的内容. 如果里面的内容是ob ...

  2. Linux下的静态库、动态库和动态加载库

    from: http://www.techug.com/linux-static-lib-dynamic-lib 库的存在极大的提高了C/C++程序的复用性,但是库对于初学者来说有些难以驾驭,本文从L ...

  3. linux系统下的“静态库和动态库”专题之二:库的创建和使用

    接上文[linux系统下的"静态库和动态库"专题之一:库的概念和规则]所述,我们通常把一些公用函数制作成函数库,供其它程序使用.函数库分为静态库和动态库两种. – 静态库在程序编译 ...

  4. linux下的C语言开发(静态库)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在我们编写软件的过程当中,少不了需要使用别人的库函数.因为大家知道,软件是一个协作的工程.作为 ...

  5. 动态链接库(.dll) 动态导入库(.lib) 静态链接库(.lib)

    这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自 ...

  6. [OS-Linux]详解Linux的文件系统、inode和动静态库

    本文详解了Linux中的文件系统,包括inode.软连接,硬链接.动静态库. 目录 一.理解文件系统 二.inode 三.硬链接和软连接 1.硬链接 2.软连接 四.动态库和静态库 1. 静态库与动态 ...

  7. linux系统应用学习(三)--- 动态库静态库

    动态库静态库 库文件:一般指第三方提供的可调用的库函数文件,库文件封存的是函数体,即.c文件里面的内容. 动态库      静态库 Windows下:        xx.dll            ...

  8. linux c语言静态库,linux下的C语言开发(静态库/动态库)

    今天我们讨论的问题是静态库.为了显示windows和Linux创建静态库之间的差别,我们首先在windows上面利用Visual C++6.0创建一个静态库.源文件的代码很简单, #include & ...

  9. 【Linux篇】第十一篇——动静态库(动静态库的介绍+动静态库的打包与使用)

    动静态库的基本原理 认识动静态库 动静态库的概念 静态库的打包与使用 静态库的打包 静态库的使用 动态库的打包与使用 动态库的打包 动态库的使用 动静态库的基本原理 动静态库的本质就是可执行程序的&q ...

  10. 【Linux】动态库与静态库,如何打包库,如何使用第三方库

    文章目录 回顾基础 学会打包自己的库并使用 静态库 打包库 第三方库的使用 动态库 打包库 第三方库的使用 动态库加载以及周边问题 回顾基础 这篇文章主要对动静态库进行进一步的学习,关于动静态库的一些 ...

最新文章

  1. Vmware下设置Ubuntu桥接上网
  2. golang中的TestMain
  3. LSMW批处理使用方法(02)_步骤1
  4. JVM参数-XX:+HeapDumpOnOutOfMemoryError
  5. 1131:基因相关性
  6. kafka的key为null时如何存储
  7. python人脸对比相似度_python人脸对比
  8. 使用Log4J监控系统日志邮件警报
  9. IOS启程06—iOS设置圆角图片
  10. 页面滚动到某一位置吸顶_vue监听滚动事件某元素吸顶或固定位置显示详解
  11. ES6学习(九)—Generator 函数的语法
  12. 【facenet人脸识别】利用LFW数据集进行人脸比对测试
  13. 照片一寸改成二寸,并压缩体积KB的工具
  14. Ant Design Pro初探
  15. C#实现PDF转PNG图片
  16. python 管理 交换机_用python 脚本控制telnet登录交换机
  17. Python 轻松解决从 K 个字符串数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合。(对比用库和不用库的方法)
  18. 【Android App】实战项目之虚拟现实(VR)的全景相册(附源码和演示视频 可用于学习和大作业)
  19. Google 工程师二三事
  20. SaaS模式、技术与案例详解——第18章 如何做得更好

热门文章

  1. 在Sqlite中通过Replace来实现插入和更新
  2. 简单了解一下如何使用Spring框架里JDBC和事务
  3. spring扩展点四:SmartInitializingSingleton 补充
  4. List集合之Vector
  5. 控制层SpringMVC和Struts2的区别
  6. Intel BIGDL 探索
  7. testNg官方文档
  8. java ascii加密_Java 字符加密
  9. 使用python可以实现科学计算吗_使用Python进行科学计算:NumPy入门
  10. Luogu3825[NOI2017] 游戏