惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
博客园 - 【当耐特】
Engineering at Meta
Engineering at Meta
IT之家
IT之家
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
美团技术团队
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
Martin Fowler
Martin Fowler
Recorded Future
Recorded Future
H
Help Net Security
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
博客园_首页
A
About on SuperTechFans
MongoDB | Blog
MongoDB | Blog
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
B
Blog
The Register - Security
The Register - Security
I
InfoQ
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
Last Week in AI
Last Week in AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
有赞技术团队
有赞技术团队
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News - Newest:
Hacker News - Newest: "LLM"
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
W
WeLiveSecurity
Latest news
Latest news
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 叶小钗
L
Lohrmann on Cybersecurity
博客园 - Franky
Recent Commits to openclaw:main
Recent Commits to openclaw:main
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

博客园 - Wu.Country@侠缘

用户中心 - 博客园 [Linux]OpenSuse12图形和文字界面转换 haneWIN NFS Server An Introduction to the Linux-based Assignments Booting Linux with U-Boot on QEMU ARM Using The mkimage Tool To Create U-Boot Images SUSE安全大揭秘之“十诫” [Copy]如何使用qemu执行交叉环境下的内核镜像文件 CT-NG编译错误以及解决办法 无法忍受在SUSE10上安装开发环境了 Windows的路由命令 【CLFS】记录: Linux内核代码学习笔记(2.6.21.7 ARM) -- 内核启动函数start_kernel [读书笔记]Binary Hancks(2) livepatch在X86下的实践 ARM Stack Unwinding Physical Address Extension - PAE Memory and Windows 如何制作grub启动光盘 [译]Kernel Memory Layout on ARM Linux [转]ucLinux下sqlite数据库移植全攻略
[读书笔记]Binary Hancks(1)
Wu.Country@侠缘 · 2010-02-20 · via 博客园 - Wu.Country@侠缘

本书真的很不错,虽然它的名字叫做“黑客”,但它所讲述的内容却是一个程序员,特别是一个Linux程序员,或者说是C程序员必备的知识!

第一讲:二进制Hack的技巧分为6大类:

1、各种工具、库

2、二进制格式

3、系统调用

4、OS功能

5、处理器功能

6、编译器功能

从这几大类上就可以看出来,它并不是所谓的黑客工具或者攻略之类的东西,而是深入理解二进制程序的相关知识。相信很多程序写过很多程序,但都没有深入理解二进制文件的格式以及编译、链接、静态分析等之类的东西!从这里开始,你将了解这些东西!

第二计:Binary Hacks的用语基础知识

应用二进制接口ABI(Application Binary Interface),EABI

应用程序接口API(Application Programming Interface)

初始符号段BBS Segment(Block Started Bymbol Segment)

动态共享对象DSO(Dynamic Shared Object)

任意记录格式高度DWARF(Debug With Arbitrary Record Format)

可执行可链接格式ELF(Executable and Linking Format)

GCC(GNU Complier Collection)

glibc(Gnu C Library)

GNU(GNU's Not Unix)

GNU/Linux

全局偏移表GOT(Global Offset Table)

LLP64 long long和指针都占64位,int和long都占32位的数据模型

LP64 long和指针占64位,int占32位的数据模型

位置无关代码PIC(Position Idependent Code)

位置无关的可执行程序PIE(Position Idependent Executable)

程序链接表PLT(Procedure Linkage Table)

POSIX(Protable Operating System Interface for Unix)

SUS(Single Unix Specification)

线程本地存储TLS(Thread Local Storage)

预链接(prelink)

静态链接(Staitc Link)

工具链(toolschain)

数据段(Data segment)

代码段(Text segment)

调试器(Debuger)

调试信息(Debug infomation)

符号重组(demangle)

动态链接(Dynamic link)

动态链接库(Dynamic link library)

名称改编(name mangline)

Binarian 精通Binary Hack方面技术的工程师

栈跟踪,栈回塑(backstrace)

堆(heap)

断点(break point)

程序计数器(program conter)

进程(process)

Profile 程序性能解析

函数调用约定(Calling Convention)

运行时(runtime)

链接(link)

反射(reflection)

装载,加载(load)

有多少人知道上面所有的名词?本书会慢慢的带你了解这些基础知识!

================================
  /\_/\                        
 (=^o^=)  Wu.Country@侠缘      
 (~)@(~)  一辈子,用心做一件事!
--------------------------------
  学而不思则罔,思而不学则怠!  
================================