跳转至

二进制/Binary 书单

基础

  • C/C++
  • 你需要掌握至少一门编程语言,强烈建议从C/C++入手,好处不多作解释。
  • 入门建议去网上的一些博客学习,可以配合《算法竞赛入门经典 第2版》( 刘汝佳)练习一些简单的数据结构与算法。
  • 精通可以看《C++ Primer》、《C++ Primer Plus》。
  • 汇编语言
  • 汇编语言比较经典的还是王爽的《汇编语言》,也可以看一看工作室的前辈写的汇编教程
  • 入门的话,书籍可以先看个大概,对汇编有一个粗略的了解,然后实际遇到不会的指令再去进行针对性的学习。
  • Python
  • 学一门脚本语言让你的工作效率指数型增长。
  • 比较著名的学习资料还是廖雪峰前辈的博客,初期能够学会编写简单的脚本即可。
  • 如果已经有一定基础可以看一下《深入理解计算机系统》,它能帮助理解很多底层的东西。

逆向

  • 《逆向工程核心原理》,该书通俗易懂,内容充实,非常适合入门。
  • 《加密与解密》
  • 《ida pro权威指南 第二版》比较经典的书
  • 《Android软件安全与逆向分析 》(丰生强)
  • 《C++反汇编与逆向分析技术揭秘》......用作进阶修炼
  • 搜索引擎
  • Google,梯子是必备的东西,逆向工程相关的资料国内外界内已经有了很深的积累,遇到问题擅于利用搜索引擎。

逆向工程一定要建立在拥有正向基础的条件下,在后续的学习生活中,正向编程能力与逆向工程能力是互补的关系。

在有了基本功之后,逆向工程更多需要的是耐心,无论是平常的破解软件、分析算法还是比赛做题,都需要有足够的耐心,当你卡在某一个关键节点时,一定不要放弃,即便失败占大多数情况,但每一次自主成功的攻克都会为你累积经验,你的逆向水平在很大程度上取决于你的逆向经验。

当你实在无法取得任何进展的时候,与学长打好关系,让他手把手教你!

常用工具 ida/Ollydbg/x64Dbg/Jeb/gdb

工具包:爱盘

可以泡的论坛:

看雪论坛 国内业界最早最权威的论坛

吾爱破解论坛 资源丰富,气氛活跃

Pwn

什么是 Pwn?

Pwn (/ˈpoʊn/, /ˈpuːn/, /pəˈʔoʊn/, /ˈpɔːn/, /piˈoʊn/, /pwəˈʔn̩/, /ˈoʊn/),是一个骇客语法的俚语词,自"own"这个字引申出来的,这个词的含意在于,玩家在整个游戏对战中处在胜利的优势,或是说明竞争对手处在完全惨败的情形下,这个词习惯上在网络游戏文化主要用于嘲笑竞争对手在整个游戏对战中已经完全被击败(例如:"You just got pwned!")。过去式的拼写可以拼成**pwnd**,pwn3dpwnt(读成 t 这个音)或是**powned**(读成 d 这个音)。

From Wikipedia

如何学习
  • 《有趣的二进制》
  • 其实 Pwn 还是推荐去看各个大师傅的博客,像安全客这些网站上也有一系列的教程和writeup了,Pwn 注重的还是积累和基础,虽然说 Pwn 是脑洞题,但是是很考验基础功的。
  • 最近日渐完善的 CTF-Wiki Pwn版块 很值得参考。
  • Pwn 有没有人指导完全是两种学习速度,与学长 py 将成为你的必备技能。

常用工具 pwntools ida gdb

招新

  • 招新赛会有独立的二进制赛题版块(**R**everse **E**ngineering),与 Pwn 版块,直接做题获取分数即可,我们根据你最终的做题情况来进行评判(ak该版块可能可以直接获得绿卡)。
  • 如果是有特殊相关经历的dalao,欢迎直接联系我们。

CNSS