|
有很多朋友在学习破J程序都非常迷茫,这里我给大家一些破J必须的知识与技巧,希望大牛不要喷我.
有很多新手在学习破J的时候不知道该怎么下手,假如即使是一个无壳的程序,那么什么是壳的概念我就不详讲了,我大概的描述一下吧.
什么是壳?打个比方,路边停了一辆汽车,你会开车但是你没有钥匙,你进不了车里面,现在的问题就是你怎么才能开走这辆车,对吧?那么我们就要像办法,办法如下:
1.找钥匙先打开车门,然后发动汽车,开走.
2.用锤子给车门砸了,然后在给锁砸了,发动汽车,开走.
那么我们的程序也要想办法脱壳,怎么脱方法就很多了,就像你要开车门一样,你会想出很多的办法,但是前提你要知道如何才能打开?这就需要有一点壳的知识了,比如没有钥匙就不能弄走这辆车了?不是.我们可以用别的车给拖走嘛...那么我们的程序有时候实在没有办法也可以不脱壳就破J.关键是思路.
壳我就不详细解释了,我水平有限,那么我们要破J需要什么知识呢?
1.你必须要懂WINDOWS编程环境下基本的API函数知识.
2.你必须要懂基本的汇编指令.
3.你必须要懂常见的编程语言环境,这里指的是基本语法与用法等.不是让你精通!!!
1.为什么要懂得API函数知识?如果你不知道API函数的实现功能,那么就不要谈破J程序了,假如一个程序在注册的时候弹出一个对话框,"注册码错误"如果你不知道这是什么实现的,将是一件很困难的事情,假如你懂的话我们知道这种对话框是用MessageBox函数实现的,当然要区分语言.下面会讲到, 所以懂得API函数对于破J来说是多么重要的. Love代码 www.lvcode.com
2.为什么要懂得基础的汇编指令?如果你连je,jne,jge,jmp等跳转指令都不知道?如果你连mov,lea,push等指令都不知道何谈破J,因为这是必须要懂的基础指令.
3.为什么要懂常见的编程环境,我们知道在c++中弹窗对话框常见的是用MessageBox函数,那么你就可以下断点,MessageBoxA.如果是易语言的信息框,你也可以下断点MessageBoxA,因为易语言的信息框函数是调用了MessageBoxA的API函数,假如是VB程序你会发现拦截不到.为什么呢?因为VB用的是Msgbox函数,它是VB自己的库函数.我们就需要下断点rtcMsgbox,假如是delphi的程序,你也可以下MessageBoxA,通常vc的MFC下还有afxmessagebox,你就要知道到底是要下哪个函数了,通过上面的简单介绍我相信你应该能理解为什么要懂得多种函数的意思了吧?
当你掌握了上面的基础后,恭喜你,你不但在编程上小有成就,而且破J技术也会大大提升.至于有壳没壳都不在重要了.即使不能脱壳我们可以自己编写破J补丁啊?
以上是给新手的一点学习意见 |
|