怎么学习逆向工程?

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

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

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值