博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎么学习逆向工程?
阅读量:6714 次
发布时间:2019-06-25

本文共 943 字,大约阅读时间需要 3 分钟。

1、具备基本的编程能力,如c、c++,c、c++作为很基础的语言,不要求精通,但是必须会写,写个小工具完全没有问题,同时要对c++的类、继承、虚表虚函数等很熟悉,很多游戏都用c++开发,而且比较庞大,只有基础掌握好,才能更好的从汇编层来读懂代码,很多时候我们看单条汇编指令时完全没有问题的,但是一旦组合起来就会完全不知所云了,通过必须对高级语言对应的汇编语言实现要掌握,比如函数工作的原理,几种调用约定、参数传递方式以及返回值等都必须掌握,这方面网上很多资料。最好能懂python,python作为一种脚本语言,可以用来开发许多逆向调试工具的插件,可以帮我们节省很多的体力活。

2、对windows系统知识比较了解,因为外挂会设计比较多的windows系统知识,因此要对windows底层要一定的掌握,比如windows api,以及外观常用的注入、钩子技术还有windows系统的异常处理机制等,可以到广海论坛学习外挂常用的较按键精灵、加速齿轮以及注入等同用知识,书籍可以可以参见《windows核心编程》,对底层知识了解越多,分析外挂技术也越容易。

3、对逆向分析工具的熟练使用,我们平时工作中面对的是二进制可执行程序,要做外挂我们首先的分析目标程序,因此对常用的调试工具windbg、ollydbg、静态分析工具ida一定要熟练使用。网上教程也比较多,可以到看雪论坛上利用相关的crackme练手学习。

4、掌握外壳原理和技巧,熟悉常见的加解密算法、反调试技巧,我们分析程序时经常会遇到很多加壳程序,因此我们必须对外壳的原理和基本知识比较熟悉,熟练掌握同用的脱壳技巧,同时对各种反调试技巧也必须要很熟悉,在分析程序时,一般会遇到很多加解密算法,因此必须要对各种加解密算法的特征有一定的快速识别能力,这样能更快得帮助我们分析目标程序的核心功能。这方面可以参看《加密与解密》这本书,讲的非常好与详细。以上就是基本的学习思路,逆向和外挂都涉及比较多的知识,学习的东西会比较多,而且周期会比较长,不过相信一句话天道酬勤,只要努力就会有收获,其他方面如网络方面的知识也需要学习,我们学习逆向外挂技术,目的是更多的去除各种外挂,为我们游戏爱好者更好的服务,而不是利用这些技术来破坏游戏的公平。

转载地址:http://qxhlo.baihongyu.com/

你可能感兴趣的文章
在路由器里插入和删除ACL
查看>>
我的友情链接
查看>>
OpenStack从入门到放弃
查看>>
戴尔和EMC已经成为正式的竞争对手
查看>>
6425C-Lab12 管理DC(1)
查看>>
RocketMQ调研笔记
查看>>
maven 注册 jar
查看>>
高并发写入mysql的设计
查看>>
成长点滴:我不知道该说些什么?
查看>>
linux之使用man查看命令手册
查看>>
IT管理员如何保证你的内网安全?
查看>>
用U盘安装debian系统
查看>>
Mac 下得Jmeter 测试
查看>>
java基础之本地线程
查看>>
sqlserver2005 递归查询
查看>>
30天提升技术人的写作力-第十一天
查看>>
OSPF环境下帧中继的配置
查看>>
Python 17.4 使用Web框架
查看>>
马哥1-3
查看>>
spring容器
查看>>