《从零打造网络验证防破解》2-让调试器看不见任何明码
https://www.52hb.com/static/image/hrline/3.gif现在很多人因为软件被逆向而烦恼,又不会写防逆向。非常无奈。
所以我特地出一期防逆向教程,教程很简单,大牛飘过.......
本系列教程全程拿易游验证讲,当然有些方法是通用的!要学会举一反三
教程有不对的地方欢迎评论区指正,感谢观看。
https://www.52hb.com/static/image/hrline/3.gif
本课主要内容:
1.不使用明码,让逆向人员无法看到关键信息!
2.代码全部加VM,使逆向者看代码头晕眼花!
3.加密模块,且模块的关键命令也加VM,由于是基于易游,这样做可以有效防止被POST补码爆破哦!
4.不论登录成功还是失败,都不要进行提示,逆向者会根据你的信息,找到你的关键爆破点!
5.不使用自带的关闭软件,因为如果你用了结束,那么,只要ret掉退出暗装,那么你的所有检测,都白给!
觉得有用可以给弟弟个支持,给个评分啥的!感激不尽
大家好,我是吾爱汇编论坛的aa2486717795,这次讲下
**** Hidden Message *****
首先我们要明确需要的一个SDK,VM加密SDK。
置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 }) ' VMP保护开始标志
置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 }) ' VMP保护结束标志
首先我们对模块关键的命令进行一个VM过程,没吊用的我们就无视了,因为加了也没多大用。
把这些都加入到模块里,第一个是为了方便,让源码看起来整洁,第二个我们也都VM一下。
因为我是用单码的,所以用不上的我也懒得VM了,你们自己需要自己加吧。
好了,因为是模块,我们吧所有命令都公开,不然调用到源码里啥也没有。
模块就VM好了,刚才我用自己常用的方式写了个纯登录,其他啥也没,嗯...
程序内也要VM一下,我先换成我自己的对接码(因为刚才写的删了,所以又重写一遍,就挺尴尬的)
这一行,一定要删,这是防POST关键的一点,虽然VM了,但我个人还是喜欢再加一个加密,我就用个简单的字节集加密吧
当然这个也是简单的加密下,也可以搞动态加密,emmm,步入正题。
不做任何提示,登录失败的话我们直接关闭自身,不要用结束。
用置入代码 ({ 0 })汇编结束自身,还可以防断点!
这个信息框是我做例子用的,
和上面的4.不论登录成功还是失败,都不要进行提示,逆向者会根据你的信息,找到你的关键爆破点!不是病句哦,你们做的时候别加就是了,
我们编译一下,虽然我们加了VM,但是如果不加VMP壳,也没有什么用,我们现在用OD看看
emm,好像也有一滴滴的VM效果吧,
00401026 BA FFFEFE7E mov edx,0x7EFEFEFF
0040102B 03D0 add edx,eax
0040102D 83F0 FF xor eax,-0x1
00401030 33C2 xor eax,edx
00401032 83C1 04 add ecx,0x4
00401035 A9 00010181 test eax,0x81010100
VM看多了,应该是有吧!
不管了,然后我们加壳,额,我也不知道啥意思,可能是我VM工具的问题。
哦,好像是兼容性问题,反正就是这样吧,这节课很简单,你们自己百度下VM工具吧,那个兼容就用那个!
自古沙发归楼主 你将受到所有人的崇拜! 感谢楼主分享 学习学习,谢谢分享 好东西{:5_116:} 来看看怎么进行加密 射射楼主 我觉得楼主很棒{:5_188:} 《从零打造网络验证防逆向》2-让调试器看不见任何明码