Must-Read Books and Other References

Books on C/C++:

  • The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie. Prentice Hall, 1988. The author’s description of C as defined by American National Standard Institute (ANSI), also called the “Old Testament.” It is old-fashioned but remains a must-read. This book also has
    a home page: http://cm.bell-labs.com/cm/cs/cbook/index.html.
  • 1001 Visual C++ Programming Tips, first
    edition, by Kris Jamsa. Muska & Lipman, 2001. Not the “Old Testament”, but
    very good.
  • “С++
    Annotations” by Frank B. Brokken (http://www.icce.rug.nl/documents/
    cpp.shtml
    ). This annotated manual on the C++
    programming language is
    a must-read for every self-respecting hacker.
  • “comp.lang.c Frequently Asked
    Questions” by Steve Summit (http://www.eskimo.com/~scs/C-faq/top.html) is the best.

On Assembly:

  • The Art of Assembly Language, first
    edition, by Randall Hyde. No Starch Press, 2003. One of the most highly
    recommended resources on Assembly.
  • Write Great Code: Understanding the Machine, first edition, by Randall Hyde. No Starch Press, 2004. In addition to the
    excellent language description, the book provides information concerning basic
    computer data representation, binary arithmetic and bit operations, memory
    organization and access, Boolean logic, and CPU design.
  • Manuals from Intel and AMD,
    which, by the way, are available not only for free downloading but also for
    ordering by mail (also for free).

On the operating system:

  • SDKs/DDKs from Microsoft,
    containing toolsets and accompanying documentation. You need these software
    products, so go and download them.
  • Advanced Windows, third edition, by
    Jeffrey Richter. Microsoft Press, 1997. This is a Bible of the application
    programmer.
  • Inside the Windows NT File System by
    Helen Custer. Microsoft Press, 1994. An excellent description of the Windows NT
    file system, and a must have.
  • Inside Windows NT by Helen Custer.
    Microsoft Press, 1992. A
    detailed in-depth investigation of the Windows NT 4.0 architecture and
    associated
    coding implications.
  • Microsoft Windows Internals, fourth
    edition, by David Solomon and Mark Russinovich. Microsoft Press, 2004. Written
    by two gurus of the hacker’s community, this classic book is an in-depth guide
    to the Windows kernel. The new edition covers all newest Windows versions,
    including Windows 2000, Windows XP, and Windows .NET Server 2003.
  • Undocumented Windows 2000 Secrets by
    Sven Schreiber. Addison-Wesley Professional, 2001. This book, written by a
    noted investigator of the Windows kernel internals, covers the Windows 2000
    debugging interfaces, symbol files, system memory, and kernel objects; the
    kernel’s native API; Microsoft PDB file format; and other topics.

On disassembling:

  • The Art of Disassembly from the
    Reversing-Engineering Network
    (http://www.reverse-engineering.net/). The bible of the disassembly.
  • Hacker Disassembling Uncovered by Kris
    Kaspersky. A-List Publishing, 2003.
    A hacker’s advice related to how to analyze programs
    without its source code using a debugger and a disassembler.

On hacking:

  • Phrack (http://www.phrack.org). The best e-zine available containing lots of articles, including
    the ones focusing on stack overflow.

On the buffer overflow:

  • UNIX Assembly Codes Development for Vulnerabilities Illustration Purposes (http://opensores.thebunker.net/pub/mirrors/blackhat/presentations/bh-usa-01/LSD/bh-usa-01-lsd.pdf). An excellent
    manual on the buffer overflow technique and gaining control over remote
    computers.
  • Win32 Assembly Components (http://www.lsd-pl.net/documents/winasm-1.0.1.pdf). Ready-to-use components and exploits.
  • Understanding Windows Shellcode (http://www.hick.org/code/skape/papers/win32-shellcode.pdf). Manual on shellcode development.

《黑客反汇编揭秘》(2e)推荐书单的更多相关文章

  1. 学校的统一订书80%该烧掉——IT推荐书单

    学校的统一订书80%该烧掉——IT推荐书单 作者: 夏浅音.py 中文图书个人黑名单:清华大学出版社的国产作者,例如一段错n次的谭浩强.一页错n次的严蔚敏... 中文图书个人白名单:机械工业出版社.电 ...

  2. Android 应用开发推荐书单

    本文由 伯乐在线 - zerob13 翻译自 fromdev.欢迎加入Android小组.转载请参见文章末尾处的要求. Android 已经成为了世界上最受欢迎的操作系统之一.成千上万的智能手机和平板 ...

  3. (转载)Stackoverflow评选的C++推荐书单

    C++必读书籍推荐 (原链接:http://bestcbooks.com/recommended-cpp-books 2013-10-07) 本文内容来自国外著名编程问答网站Stackoverflow ...

  4. 书评第001篇:《C++黑客编程揭秘与防范》

    本书基本信息 作者:冀云(编著) 出版社:人民邮电出版社 出版时间:2012-6-1 ISBN:9787115280640 版次:1 页数:265 字数:406000 印刷时间:2012-6-1 开本 ...

  5. 推荐书单(转自GITHUB)

    Skip to content PersonalOpen sourceBusinessExplore Sign upSign in PricingBlogSupport   This reposito ...

  6. Web前端--黑客技术揭秘(菜鸟知识)

    一,Web安全的关键点 1.同源策略是众多安全策略的一个,是Web层面上的策略.很重要. 2.同源策略规定:不同域的client脚本在没明白授权的情况下.不能读写对方的资源. 3.同域要求两个网站同协 ...

  7. C语言之反汇编揭秘

    title: 'C语言之反汇编揭秘' tags: 汇编与反汇编 categories: 汇编与反汇编 copyright: true abbrlink: 'b1c9' date: 2019-09-07 ...

  8. 推荐书单(网课)-人生/编程/Python/机器学习-130本

    目录 总计(130本) 一.在读 二.将读 三.已读 非专业书单(77本) 四.已读 专业书单(53本) 五.已看网课(8个) 六.在看网课 一个人如果抱着义务的意识去读书,便不了解读书的艺术.--林 ...

  9. [在读]web前端黑客技术揭秘

随机推荐

  1. JavaScript Array数组方法详解

    Array类型是ECMAScript中最常用的引用类型.ECMAScript中的数据与其它大多数语言中的数组有着相当大的区别.虽然ECMAScript中的数据与其它语言中的数组一样都是数据的有序列表, ...

  2. Android Weekly Notes Issue #223

    Android Weekly Issue #223 September 18th, 2016 Android Weekly Issue #223 本期内容包括: Offline时间戳处理; Acces ...

  3. visual studio自动导入 using 的快捷键

    快捷键是  shift + alt + f10 ,从 vs 2012开始 还增加了 ctrl+.  功能名称叫: 视图.显示智能标记

  4. text-overflow

    text-overflow:clip | ellipsis 默认值:clip 适用于:所有元素 clip: 当对象内文本溢出时不显示省略标记(...),而是将溢出的部分裁切掉. ellipsis: 当 ...

  5. Oracle用法、函数备忘记录

    Listagg select * from emp select LISTAGG(ename,'-') within group (order by deptno desc) from emp; 可以 ...

  6. javaweb项目jsp跳转servlet Error instantiating servlet class 问题

    问题: HTTP Status 500 - Error instantiating servlet class RecommenderServlet type Exception report mes ...

  7. mysql比较时间大小unix_timestamp

    使用unix_timestamp方法进行比较,将字符型的时间,转成unix时间戳 select * from t1 where unix_timestamp(time1) > unix_time ...

  8. Python学习笔记3-字符串

    格式化字符串/复合字段名 >>> import humansize >>> si_suffixes = humansize.SUFFIXES[1000] >& ...

  9. $(window).height(),在火狐下面获取的高度并不是可视区域的高度

    很简单,我发现是没有写<!DOCTYPE html>造成的,加上去就可以了

  10. 记录 git 常用的操作命令总结

    记录 git 常用的操作命令总结 2016-12-15 16:44:04 作为一名开发者,熟悉使用 git 代码管理工具是一项必备的基本技能.git 相较 SVN 而言,其优点不言而喻.git 的功能 ...