Linux下软件逆向工程的介绍(一)

本文档介绍了在Linux环境下进行软件逆向工程的方法和技术。主要内容包括逆向工程的基础知识、Linux程序的编译过程、如何收集程序信息、确定程序行为及功能、熟悉汇编语言等。此外还介绍了如何编写独立的汇编代码、使用ELF程序格式等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章在网上无意中发现的,翻译一下,留作纪念。

文章原网址为:http://www.ouah.org/RevEng/t1.htm

水平有限,凑合着看,有时我也不知道作者想说什么,有时需要法律背景知识。在逆向关键技术部分,这个是重点,我会尽力做好。这个翻译不是逐字的翻译,这里提前说明,英语好的自己看原版更好。

好,下面是翻译。

/*********************************************************************************/

Linux中逆向工程软件简介

修订记录

修订版$修订:1.26 $    

$ 日期:2002/09/18 06:54:57 $

摘要:这个文档的目的为了提供一些在linux下软件逆向工程的说明。由于逆向工程正迅速受到法律的制裁,笔者认为最好的应对措施是使知识的普及。这个想法是,既然讨论具体的逆向工程是非法的,那我们就讨论一般的逆向工程方法,因此不是软件的下载破解或者讲解程序的漏洞(是的,这些行为都是非法的),每个linux极客们有责任去学习逆向工程。此外,封闭源代码让我很失望,你终将会开源,抵抗是徒劳的。(因为有逆向工程<( ̄︶ ̄)>,表达了原作者作为开源的支持者对于封闭源代码的鄙视,这句话是我自己加的)。

目录:

1、概述

    1.1    什么是逆向工程?

    1.2    为什么要逆向工程?

    1.3    法律问题

2、Linux程序的编译过程

    2.1    介绍

    2.2    GCC

    2.3    gcc -E (预处理阶段)

    2.4    gcc -S (解析+翻译阶段)

    2.5    as(汇编阶段)

    2.6    ld/collect2 (链接阶段)

3、收集信息

    3.1    ldd

    3.2    nm

    3.3    /proc

    3.4    netstat

    3.5    lsof

    3.6    fuser

4、确定程序行为

    4.1    strace/truss(Solaris)

    4.2    ltrace

    4.3    LD_PRELOAD

    4.4    gdb

5、确定感兴趣的功能

    5.1    重建功能和控制信息

    5.2    考虑目标

    5.3    查找关键功能

    5.4    绘制程序流程

6、熟悉汇编

    6.1    寄存器

    6.2    堆栈

    6.3    二进制补码

    6.4    阅读汇编

    6.5    了解你的编译器

7、编写独立汇编代码

    7.1    指令和副作用

    7.2    操作码表

    7.3    使用GUN as命令

    7.4    保存寄存器的约定

    7.5    使用库函数

8、使用ELF程序格式

    8.1    ELF的布局

    8.2    编辑ELF

9、了解版权保护

10、代码修改

    10.1    修改代码的原因

    10.2    指令的修改

    10.3    单指令插入

    10.4    单功能插入

    10.5    多功能插入

    10.6    工具版权保护

 

(先翻译到这里,下次有空继续翻译,哈哈哈哈哈哈哈,下次如果没翻译完,你还会看到这句话)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/startstorm/blog/912778

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值