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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - Wu.Country@侠缘

与我相关的一些链接 - 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@侠缘      
 (~)@(~)  一辈子,用心做一件事!
--------------------------------
  学而不思则罔,思而不学则怠!  
================================