-
-
[旧帖]
[原创]关于个人理解CALL的另类调用加密
0.00雪花
-
发表于:
2012-12-16 18:19
1543
-
[旧帖] [原创]关于个人理解CALL的另类调用加密
0.00雪花
为了更好的学习,我想成为看雪的正式会员,不多说
说说我的思路吧,
大牛的路过吧,希望对菜鸟朋友有点帮助吧
大家都知道CALL是调用的意思,就是跳到目标地址去执行一段或多段代码
这直接可能是函数,也可能是其他,RETN是配合他返回,
我们是不是可以利用他的调用,去改下他的目标地址,比如我们要加密一段程序
我们可以跳到我们的加密代码,前提必须要保护加密之前的寄存器的平衡,用PUSHAD或者其他的保护起来吧,然后还要注意的是加密只能是CALL代码之后的,比如CALL地址是00400000
他的一句是00400005,CALL调用的时候就把这句压栈了,所以加密只能是00400000之后的,
不然程序会出错,不行你试试哦,
然后执行完我们的加密代码后,再CALL程序正在要去的地方,
我认为这样做可以有效保护我们的加密代码被别人窥探,虽然知道更高层有更好的方法,但希望对一些新手朋友打开一个思路吧,
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课