`
djz978dn
  • 浏览: 15342 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

基础要打好: 如何正确地进入基于x86-64Bit Windows系统的商业软件破解领域

阅读更多

基础要打好: 如何正确地进入基于x86-64Bit Windows系统的商业软件破解领域
2010年10月24日
  如何正确地进入基于x86-64Bit Windows系统的商业软件破解领域  [作者]
  猪头三
  个人网站:http://www.x86asm.com/
  [序言] 
  从事Windows系统下的软件研发,已走过差不多9年的时光,在这段时间里认识不少朋友。在每认识一个新的朋友的时候,我都会被问到:如何学习破解,如何逆向,这类相关的问题。那么这篇文章我将会详细的介绍正确的方式。 
  [本内容适用领域] 
  1> 基于x86-64Bit Windows系统下的商业软件软件破解
  2> 商业注册码破解 
  3> 商业软件脱壳 
  4> Windows版本的游戏破解
  [内容贡献者] 
  fly [Unpack.cn社区]
  songyi [Unpack.cn社区]
  kings0527 [Unpack.cn社区]
  [本内容讨论社区] 
  [Unpack.cn社区]http://www.unpack.cn/thread-47658-1-1.html 
  [学习破解/逆向之前的前提基本语言和开发工具] 
  1> 熟悉 x86-64 CPU体系的汇编语言 [参考书籍: 王爽汇编语言程序设计]
  2> 熟悉 C/C++ 语言 [参考书籍: C Primer Plus, C++ Primer Plus] 
  3> 熟悉 VC DELPHI 等 可利用WIN32 API的开发的工具 
  [学习破解/逆向之前的自身Windows系统理论] 
  1> Windows核心编程 [参考书籍: Windows核心编程] 
  2> Windows系统原理和概念 [参考书籍: 深入解析Windows操作系统]
  3> Windows套接字网络编程 [参考书籍: Windows网络编程[绝版]] 
  4> Windows系统的PE文件格式
  5> Windows SDK开发入门 [参考书籍: Windows程序设计(第5版)]
  [学习破解/逆向之前的必须经验] 
  1> 至少有编写程序的经验 
  2> 至少有用过 DELPHI 或 VC 开发软件的实战经验 
  ......等 
  [进入破解/逆向之后常用工具] 
  1> PE文件观察软件 [比如: PEid]
  2> 动态调试软件 [比如: Windbg,OllyDbg]
  3> 静态反编译软件 [比如: IDA]
  4> 16进制查看工具 [比如: WinHEX] 
  5> 自动脱壳工具/脚本 
  ......等
  [进入破解/逆向之后建议添加调试理论] 
  1> Windows环境下的调试理论 [参考书籍: 软件调试,Windows高级调试,Windows 用户态程序高效排错] 
  [进入破解/逆向之后建议添加驱动理论] 
  1> Windows环境下驱动开发 [参考书籍: Windows驱动开发技术详解,寒江独钓:Windows内核安全编程] 
  [网友FAQ]
  1> 进入破解领域时需要掌握什么语言?
  答: 熟悉x86asm C/C++ 即可应付大部分的商业软件
  2> 破解和逆向一个软件时看到的都是汇编源码,是不是只用学习汇编就可以了?
  答: 要破解和逆向一个软件,只会汇编,是远远不够的。因为现代软件的编写大多数不是基于汇编来编写了,而是基于 C/C++ C# JAVA DELPHI 等高级语言来编码。作为一个破解/逆向人员来说,必须掌握2~3种高级语言,并有实际的开发经验。你才能明白一个软件的程序执行流程和原理,只要明白这些,你才能在茫茫的汇编代码中,找到对应的程序逻辑。这样才能方便你去有目的地去破解/逆向一个商业软件的功能。
  3> 要进入破解/逆向领域需要多长时间?
  答: 这个要看个人资质,有天赋的话,可以在1年时间基本明白破解/逆向 的思路。 资质不高,又不够努力,那么最好放弃这个领域的研究。破解/逆向是一个深奥的领域,需要一个人的 毅力+勤奋 才能找到这个领域的乐趣。
  4> 现在要进入游戏外挂开发,是否还需要具备什么其他特殊技术吗? 
  答: 基于现在游戏的保护强度加大,要能开发一个合格的游戏外挂,我们必须还要会一些 Windows驱动开发 Windows套接字编程。当然游戏外挂开发是一个很庞大的工程,需要多工种配合。目前来说,以1个人完成一个商业游戏外挂,是非常困难的,但是不排除国内的卧虎藏龙的现象。因为,一个游戏外挂的开发需要涉及几个工种:
  1> 游戏程序脱壳 
  2> 游戏网络通信协议加解密 
  3> 游戏认证码处理 
  4> 游戏内存数据搜索修改查询 
  5> 游戏数据导出封装
  6> 游戏程序自我保护机制绕过[NP,HS,XTRAP,TP,APEX等]
  ......等
  所以要认清事实,开一个游戏外挂,必须要面对以上这些繁琐的技术。
  [修改补充] 
  如果你有什么建议和补充的话,请留言跟帖,好让我更加完善这篇文章,以造福更多的初学者。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics