加密与解密(破解总思想与基本手段)

来源:互联网 发布:vip视频盒子app源码 编辑:程序博客网 时间:2024/05/22 00:06
    玩了这么多天的破解,有点上瘾了,虽然玩的都是些基本手段。今天总结一下这段时间学到的一些破解的基本手段。

    软件开发商一般会用的两种限制用户使用的方法,一种是限定软件的使用次数/天数,一种是发布试用版限定软件的一部分功能,当然这两种方法最终目的都是为了让我们掏腰包购买正版/注册码(密匙)。那么,在使用试用版时若我们购买了正版之后,程序所执行的代码将会被改变,解除一些限制,也就是说在代码中一定存在一些进行判断的指令(汇编角度),我们想办法绕过这些判断也好、修改它的数据也好、直接删掉用NOP填充也可以,方法多种,这就是破解的总思想,也包括基本手段。但是一般的软件都会加一层壳(加密壳)来保护程序被非法修改,这是以后学脱壳的内容。

    OD下使用这些基本的破解手段,载入程序(还是拿之前的通讯录软件来做例子):
    1.一开始基本上都是Ctrl+F8跑一遍,掌握程序的大概流程;
    2.如何判断在什么时候要下断点呢?懵懵懂懂的,横冲直撞就碰到了该下断点的地方?下断点之前要明确我们的目的,通过运行整个程序让我们大概掌握程序的流程,之后再找到我们想要破解的代码所在的CALL,一层一层的找下去,直到找到该CALL位置;
    3.找到破解的位置后,有许多种方法可以使用,一般判断都会用cmp指令,再接下来使用条件跳转指令,根据具体情况来修改这些指令,一般都改jmp无条件跳转。还有另外两种方法,一种是直接替换成NOP,不过这种方法不是十分推荐,再者可以修改它用来判断的数据,有时候是存在寄存器里,有时候是存在某个地址中,我们可以按照cmp的判断来做出具体修改。

    未完待续
1 0