汇编工具

发布 : 2020-02-13 分类 : 杂类 浏览 :

1 在不同平台下编译c语言的编译器,

Linux下gcc

1
2
3
4
5
6
7
ubuntu:
sudo apt-get install gcc

或者按照全套件 一般不需要
sudo apt-get install build-essential
sudo apt-get install gdb
sudo apt-get install cmake

Linux安装完毕

Windows下的mingw64 gcc

https://sourceforge.net/projects/mingw-w64/files/
需要下载x86_64-posix-sjlj版本

i686纯32位版供32位win系统使用
x86_64是64位系统用的版本
seh结尾是纯64位编译
sjlj结尾是32 64两种编译,需加-m32或-m64参数
posix通常用于跨平台,比win32兼容性好一些

下载完成后解压到一个路径中并将路径添加到path中方便使用

Windows安装完成

2 编写需要编译的C代码

main.c

1
2
3
4
5
6
#include <stdio.h>

int main(){
printf("hallo world");
return 0;
}

3 编译

(1) Linux

gcc -g main.c -o main

(2) 使用Windows中的Linux子系统

wsl gcc -g main.c -o main

(3) Windows mingw64 gcc工具

gcc -m32 main.c -o main

CGG参数(更多参数请输入:gcc –help

选项 说明
-E 只进行预编译,代码送往标准输出
-S 编译生成汇编代码
-c 编译生成目标文件”.o”,不链接成可执行文件
-o out_filename 保存为指定的文件名,不指定默认为a.*文件
-g 在可执行程序中包含标准调试信息,要调试源文件须添加
-On 这里的“n”指的是数字,选择程序要使用的优化级别,分别为-O1,-O2,-O3,一般使用-O2就可以了
-std= 选择C准备,如:C99,C11等(例:-std=c11)
-Wall 打开所有类型语法警告,建议养成使用该选项的习惯(不包括-pedantic选项)
-pedantic 能够帮助程序员发现一些不符合ANSI/ISO C标准的代码(如未定义行为提示)

4 查看可执行文件的汇编代码 ollydbg

下载http://www.ollydbg.net/download/odbg201.zip 解压就可以使用了

这个工具需要Windows 32位的exe可执行文件 进行查看
所有需要使用mingw64 gcc工具编译c代码

打开ollydbg工具后将编译完成的main.exe拖到工具界面就可以进行查看和编辑汇编了

5 ollydbg使用教程

从零开始的程序逆向之路 作者:Crazyman_Army https://www.cnblogs.com/ichunqiu/p/9355253.html

OllyDBG完美教程(超强入门级) https://blog.csdn.net/biyusr/article/details/79046355

本文作者 : zhouinfo
原文链接 : http://blog.zhouinfo.site/2020/02/13/%E6%B1%87%E7%BC%96%E5%B7%A5%E5%85%B7/
版权声明 : 本博客所有文章除特别声明外,均采用 CC Apache License 2.0 许可协议。转载请注明出处!
留下足迹