跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言java算法

网络安全技术入门:渗透测试、二进制逆向与安全研发

涵盖网络安全三大核心方向:Web 渗透、二进制安全(含 Android 逆向)及安全研发。内容涉及基础协议、操作系统、编程语言学习路径,以及内网渗透、漏洞挖掘、加固脱壳等进阶技术。强调合法合规操作,提供从入门到企业级实战的学习资源建议。

RefactorPro发布于 2025/2/7更新于 2026/5/3121 浏览
网络安全技术入门:渗透测试、二进制逆向与安全研发

写在最前面:

不要越过法律的红线。

法律只是最后一道底线,不是衡量人格的标准

网络安全可以大概分为下面三个方面:

安全研发
安全研究:二进制方向
安全研究:网络渗透方向

目前从业人数最多的是 Web 渗透安全。这里主要说一下二进制和渗透方向。

一、Web 渗透

目前合法的渗透测试是通过各种手段对目标进行一次渗透(攻击),通过渗透来测试目标的安全防护能力和安全防护意识,也就是实战演练。

那种很长很长的 Web 渗透路线网上已经发烂了,基本大同小异,这里说一些个人思路。(不推荐轻易考虑培训机构)

首先,渗透测试一定不是局限于各种工具使用和简单的漏洞挖掘。渗透测试包括但不限于数据库、网络、操作系统、编程等方面。

没有开发就没有安全,前期的学习一定离不开编程和数据库,至于操作系统和网络,在前期的学习中就会逐渐掌握。(前期入门不必太苛求视频的选择,比较全的视频即可)

基础部分(并不需要全部掌握,随着后面学习逐步加深):

通信协议:TCP、HTTP、HTTPS
操作系统:Linux、Windows
服务架设:Apache、Nginx、LAMP 架构
数据库:MySQL、SQL Server、Oracle(建议 MySQL 入手)
编程语言:前端语言(HTML/CSS/JavaScript)、后端语言(PHP/Java/ASP/Python)
虚拟机操作,建站基本操作。

正式进入 Web 渗透学习:

TOP10 漏洞原理
抓包分析
谷歌语法等技巧
简单代码审计(面试加分项)
各种工具使用
搭建靶场
漏洞复现

内网渗透部分(面试加分项):

利用系统漏洞进行提权(Metasploit)
SRC 平台实战:
漏洞响应平台,实战渗透测试,同时能获得一些经验。
补天漏洞响应平台
漏洞银行
阿里云漏洞响应平台
i 春秋 SRC 部落
腾讯应急响应中心
漏洞平台列表

二、二进制安全

二进制包括软件漏洞挖掘、逆向工程、病毒木马分析等工作,涉及操作系统内核分析、调试与反调试、反病毒等技术。因为大多数时间都在与二进制的数据打交道,所以现在都用二进制安全来统称这个方向。

这里着重说一下 Android 安全和逆向部分。

个人建议:先正向开发几年再搞逆向。不看代码只会脱壳?只会 xposed?远远不够,hook 只是很小一部分技术,xposed 是 hook 功能众多框架中的一个而已。相对于任何程序的开发来说,逆向知识点很少很少了,关键是基础知识,基础就是正向开发经验。

学习 Android 前必备条件(安全岗位都会问的基础问题)

从事 3-5 年真实的 Android 开发工作,熟练使用 C/C++,Java,kotlin,dart 等 Android 开发常用语言;
熟悉 Android NDK 开发和 JNI 技术,熟悉 Log 原理。最好有几年 FrameWork 开发经验;
熟悉 Android 虚拟机机制,打包原理,系统启动流程,App 启动流程;
了解 ARM、Smali 汇编语言,熟悉 IPC 原理,能够熟练搭建 IPC 框架;
熟练使用 Fiddler 和 Charles 抓包工具进行抓包;
最好熟悉 Python 基础语法,并能写简单的脚本和爬虫。

第一阶段:

Android 基础知识回顾:

回顾 Android 开发编程,深入理解 Android 系统原理和层次结构,深入分析 Handler 源码和原理。
回顾 Java,C/C++,Kotlin、dart 在 Android 开发中必用的语言,熟悉一下几种语言混淆后的特性。
回顾 Android IPC 和 JNI 的底层原理和热更新技术回顾 Native 开发要点,使用 C++ 结合 NDK 完成 Android Native 开发。
回顾 Android 开发中常用的 AMS、PMS、WMS 原理和 App 启动中服务加载的流程。
回顾 Android 开发中必用的 Google 的 MVVM 框架:DataBinding+LiveData+ViewModel。
回顾 Android 开发中必用的 Google 的 MVP 框架:Dagger2。
回顾 Android 开发必用的网络架构:Okhttp3+RxJava2+Retrofit2+Rxdownload4+Rxcache+Glide。

Android 逆向基础知识:

熟悉 Android 逆向工具的使用,如 apktool,IDA,dex2jar,JEB,AndroidKiller,Androguard 等;
深入分析 APK 中包含的各文件格式,分析 Android 系统源码中解析 APK 的相关代码;学习和熟悉 smali 语言(重点);
仿微信写一个 APP,并利用工具逆向出 apk 内的代码,并对比源码分析。

入门知识总结和实战(逆向入门):

知识梳理,常用工具安装,adb 命令与 Linux 常用命令,常见登录逻辑分析。
分析 ELF 可执行程序,调式 ELF 可执行程序;ARM 汇编与寄存器,ARM 反汇编速成,ARM 指令机器码,常用 ARM 指令集。
反编译 ELF 文件与 ObjDump,ELF 文件解析与 readelf,ELF 文件解析与 010Editor,深入分析 ELF 文件结构;IDA 静态分析,IDA 动态调式。
简易计算器实现及分析(练习)。
字符串加密与解密,冒泡排序算法分析。
关键 android_server 文件检测,IDA 调试端口检测。
ELF 可执行程序加载 so 库,DEX 解析与 dexDump,DEX 解析与 010Editor。
实现自己的 Dex 解析工具与 GDA(练习)。
Androidkiller 动态调试 smali 代码插件,AS+smalidea 调式 smali 代码。
Log 注入实现免注册,如何定位关键代码,去除 java 层签名验证,去除广告和弹窗(实战)。
推荐阅读《Android 安全相关书籍》,随便找本系统源码讲解的书看看吧。

Android 基础算法和安全协议:

密码学,对称加密算法,非对称加密算法,散列函数;
数字签名,数字证书,SSL 证书检测,协议与安全协议;
了解服务器端与客户端通信协议分析;
使用 Charles 抓登录封包和验证码,协议构造与 Java 层 MD5 算法,动态调式 smali 代码与 sign 字段;
协议构造类与 SO 层 DESCBC 算法,协议关键字段 SIGN 与 SO 层 MD5 算法,动态调试协议字段,动态调式协议关键字段 SIGN;
协议关键字段 pwad 和 sign,动态调式协议字段拼接与 MD5 加密,分析 so 层 OpenSSLSHA1 算法;
封包加密与反编译失败,使用方法跟踪分析加密;java 层逆向分析,分析 so 层 TEA 算法;
练习:抓取验证码和登录封包,分析协议关键字段与 RSA 算法,证书与 RSA 原理及源码分析;
对称加密 AES、PBE 与 CRC 算法,数字签名 RSA、DSA 算法;

第二阶段:
Android 逆向进阶学习:

Android 系统结构深入分析,自定义 ClassLoader,自定义注解和元注解原理分析;
了解 AndroidNDK,静态注册,动态注册,SO 加载分析,
App 保护策略去除 APK 签名验证,一键去除签名验证,静态代理,动态代理 Hook Activity 启动函数,
Hook 签名验证函数介绍 xposed 框架:Xposed 框架:
绕过验证码注册 Xposed 框架:
登陆劫持 Xposed 框架:
篡改 IMEI 信息介绍 CydiaSubstrate 框架:
Java 层 Hook:
篡改系统文字颜色 Java 层 Hook:
修改方法返回值绕过登录 Java 层 Hook:
篡改游戏金币 Java 层 Hook:
篡改主机名和端口号
Native 层 Hook:
ADBI 框架:ELFARMHOOK 框架内存抠取 Dex 文件过反调试技巧 C++ 游戏
逆向练习:动态调试 2048 纯算法游戏,Zygote+Hook 使 2048 游戏秒过关;

Android NDK 与 JNI 全面剖析:

so 动态库的介绍
JNI 动态注册和静态注册
NDK Build 工具介绍
Cmake 工具介绍
JNI.h 介绍
Android 源码工具和技巧
ijkplayer 源码分析及原理讲解
AndFix 源码分析及原理讲解
Java 调用 so 库的动态流程解析
NDK 实现增量更新
案例:NDK 实现换脸等工业级图像识别
案例:NDK 文件实现拆分和加密处理

Android 加固防护和脱壳简介:

DEX 文件、ODEX 文件与 OAT 文件;
XML 文件与 ARSC 文件;
分析 App 加固的产生及背景,最初加固方式,加固技术的发展;
HOOK 制作脱壳机,定制自己的脱壳系统;
DexClassLoader 动态加载分析,DEX 自解析重构技术;
三代梆梆加固原理分析;爱加密加固原理分析;
360 加固与脱壳机,360 加固 VM 与置换表;
辅助脱壳机,IDA 动态调式脱爱加密壳;
IDA 动态调式脱 360 壳,IDA 动态调式脱 SO 壳;
脱 360 壳-dex2oat,脱 360 壳-drizzleDumper;
百度加固 DD 大法,百度加固 VM 与置换表;
阿里加固与脱壳机,腾讯乐固;
ARSC 资源保护与注解;
脱壳神器 ZjDroid:
捕鱼达 3 加固技术总结;

Android 脱壳与反脱壳分析:

Android 脱壳中的思路,技巧 elf 结构详解:
动态运行库 so 文件的文件组成结构 elf 结构详解:
加载 so 文件的流程 elf 文件变形与保护,elf 文件修复分析,so 加壳文件修复常用调试检测方法与过检测方法
Android 源码定制添加反反调试机制 Android dvm 脱壳,Dalvik dex 处理分析 IDA 脱壳脚本编写,Odex 修复方法,
IDAOdex 修复脚本编写

进阶知识总结和企业级实战(逆向进阶):

病毒分析与脱壳学习,用 Ransomware 类和木马类进行学习;
手动脱壳《王者 X 耀》练习;
从 0 开始打造自己的破解代码库;

第三阶段:
Android 漏洞分析和挖掘:

学习常见的漏洞类型和原理。例如堆溢出,栈溢出,UAF 等,可以参考漏洞分析相关书籍;
关注 Android Security Bulletin,根据提供的 diff 分析漏洞成因;
学习并调试以前的经典漏洞;
学习漏洞挖掘 fuzzing 思路,参考书籍推荐《Android 安全相关书籍》;
病毒分析与病毒脱壳实战;

Android 虚拟机技术、系统源码分析、刷机机制介绍、制作 ROM 刷机包:

ASP 代码注入式写法;
Android 免 root 进行 hook;
Android 虚拟机原理,Android 多开原理讲解;
在 apk 内部写一个虚拟机,在 apk 内安装 apk;
虚拟机适配 Android 10 和 64 位系统;
从 0 开始开发自己的虚拟机库;
最完善的刷机工具:魔趣 ROM;
最完善的刷机工具:Devices - TWRP;

大型企业级项目练手(五个项目):

  1. Web 漏洞扫描器开发:基于 Python 或 Go 构建自动化扫描工具,集成常见漏洞检测模块。
  2. WAF 规则引擎设计:设计并实现 Web 应用防火墙的核心规则匹配逻辑。
  3. 移动端安全审计工具:开发用于静态分析 APK 权限、敏感数据泄露的工具。
  4. 网络流量分析系统:实现基于 NTA 的网络异常流量检测与告警功能。
  5. 漏洞利用框架扩展:针对特定 CVE 编写 PoC 或利用代码,完善 Metasploit 模块。

三.安全研发

研发岗位相比其他两个方向更偏向编程技术一些,主要做防御方面的安全产品和攻击方面的安全工具。

这里列举一部分产品

防火墙、IDS、IPS
WAF(Web 网站应用防火墙)
数据库网关
NTA(网络流量分析)
SIEM(安全事件分析中心、态势感知)
大数据安全分析
EDR(终端设备上的安全软件)
DLP(数据泄漏防护)
杀毒软件
安全检测沙箱

开发这些产品主要以 C/C++、Java、Python 三大语言为主,也有少部分的 GoLang、Rust。

目录

  1. 一、Web 渗透
  2. 二、二进制安全
  3. 三.安全研发
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 人工智能应用工程师(高级)课程体系与技术路径解析
  • Java Web 蛋糕商城系统设计与实现
  • STM32H743 与 STM32F407 串口通信配置与优化实践
  • OpenClaw 本地 AI 助手部署与飞书对接指南
  • MIT 电机模式控制详解:参数配置与调试实战
  • Python 连接 MySQL 的 5 种主流方案
  • RPA 机器人流程自动化技术解析与应用
  • 数据结构:带头双向循环链表详解与实现
  • 开源 RemoteID 方案:无人机身份识别与合规部署指南
  • ACM 模式输入输出处理与数据结构构建模板
  • 大语言模型(LLM)基础概念、类型与应用场景详解
  • AG-UI:构建 AI 前端交互的统一协议
  • 基于高云 FPGA 与 STM32 的 FMC 通信协议实现
  • 医疗 AI 可信系统全栈实现(二):向量索引与贝叶斯网络
  • 大模型落地首选:企业为何优先构建知识库
  • GitHub 开源贡献实战指南:从注册到提交 PR
  • 前端代码生成横向测评:GLM 4.7 与 MiniMax 挑战 Claude Opus
  • 前端关系图谱组件 relation-graph 实战指南
  • Go 项目中使用 Casbin 实现 RBAC 权限管理
  • AI Agent 记忆系统技术综述:核心挑战与主流方案

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online