
PS题外话:这周事太多。。导致拖到拿芦贺现在。。。。
上次我们说可以用PUSH直接秒杀易语言,但是缺陷很明显,容易中暗桩【比如我在上次的图中那个就是PUSH到暗桩了】
这次我们说说用E-DeBug配合OD撸易语言程序
E-DeBug:方便快速定位易语言事件地址的程序。
0X01工具&课件
OllyDbg
E-DeBug
1.exe【地址在下面的文章中】
【楚】秒杀易语言——PUSH窗体法
http://bbs.ichunqiu.com/forum.ph ... &fromuid=139632
0X02开始
看下这货图标,别下错了!
运行E-DeBug并且运行1.exe
运行后我们点击软件的登录按钮
注意观察那个事件发生
点击后我们记录下那个新出来的事件【建议存在记事本】然后就可以关掉E-DeBug了
然后我们将程序载入OD,按下Ctrl+G,输入记下的地址(事件)
然后我们就会来到这个模块段首
我们往下翻翻,找到段尾
看到上面那个mov前面的那个小箭头消派没哗竖?点下那行
我们发现有很多跳转都跳到这里,我们挨个找到他们并且NOP掉他们
这样就完事了?
没有!
我们还要改一下那些烦人的提示窗口!【用jmp而不是NOP!】
然后我们就可以保存了
我们运行下保存后的文件
对,你没看错,就是没输入任何字符【当然,想输入也可以,随便输都行】
0X03小结
这个方法叫做爆破,破解中常用的一种方法,相比PUSH法用的范围更广,但是E-DeBug只能用在易语言上,其他的程序只能靠字符串分析
1、花指令的插入,这当然是有必要的,有人说加了花指令没有什么用,现在的反编译软件基本上都有去除花指令的功能,但是难度它能去我就不加了,给破解者增加一点麻烦事也是好的嘛!2、加壳,现在的很多壳都有自动脱壳工具,那这个壳是加还是不加呢?和上面第一点的理由一样,加!一定要加,你不想你的程序成为初学破解者用来练手吧。
3、注册方式的选择,就最常用的注册而言,还得是硬件码+注册码的形式,其它的加密狗、网络验证等方式还是没办法普及!
4、加密算法的选择,千万别自己写加密算法,如把硬件码拆开,位移,计算,***,最后得到注册码,可以很明确的告诉你,这样做的话,注册机迟早会出现。
5、选择一些相对成熟的算法,比如说RSA之类的,下一节我们会专门来学习一个RSA的使用。
6、程序中如何验证注册码,千万别来一个判断是否相等就可以了,那样的话,爆破就出现了,用一些相对复杂的方法,这一点在易语言论坛中有一高手“麻辣教师”写的教程里说明得很清楚,强烈建议大家看看。
7、暗桩的使用,验证注册的地方要有很多处,在程序运行的过程中时不时的验证一样,发现是被破解了也不要理它,运行几分钟后自动退出,而且时间还是随机的!
8、前面不是加壳了吗?加了壳之后程序就变小了,那你一开始时就可以先梁孝穗判断程序文件有多大,发现大过了压缩之后的大小,说明被脱壳了,和上面一样,过一会自动退出。
9、更高级的暗桩,建立一个参数,慎段在关键的时候判断是否被破解,如果不是当然没问题了,如果是的话,把要进行的 *** 作的数据改动一下,而且就由这个参数起作用,这样使用破解版最后 *** 作的结果就是一堆垃圾数据了。
10、出现破解了怎么办,这其实很正常,别往心里去,呵呵,升级你的程序,每天或者每两天升级一次,每一次都要把验证注册码的相关代码修改一下,原来是判断的,你改成如果,再改成如果真,原来是注册成功了d橡卜出信息,现在是失败了才d出信息,总之别让人非常容易的进行定位,再把原有暗桩的位置改一下,把一些原来没有暗桩的地方加上暗桩,你改这些并不难,但破解者就很累了,呵呵!
11、再补充一点,如果有必要,把硬件码也加密,如MD5之类的,别让人一看就知道你取的是什么硬件码。
首先看加没加壳,加了就先脱壳,没加就直接用C32asm查找注册错误信息,然后向上找会有一个关键跳,更改关键跳让尘就可以注册成功,这就是爆破。要找注册码的话就用E-debugevents运行要破解的程序,然后找到注册按钮的push,用od给这个push下断点,然后输入错误注册码并单击注册扒伏按钮,会断在那个push上,然后单步走慢坦此禅慢分析算法就行了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)