上一页 全文阅读 下一页

第52章 巨人代码(3)

用地址:xxxxxxxx

出栈xxxxxxx,xxxxxxxx

缓存xxxxxxx,234223这不是供人阅读的,要去掉里面的花指令,由几个低级语言固定组合后,才会才能变为我能看得懂的高级语言指令。

判断一个壳强不强,在于能否找到它加花指令的规律,只要找到了,制成脱壳机,就能在几秒钟内把壳子脱掉,还你一个白白胖胖的肉团子。

要是找不到嘛

那就继续找规律

脱掉之后,才会变成像下面这样能让人类熟悉的命令:

声明调用参数:能量大小,传送地址参数1:想要获取的能量大小,参数2:传送到指定地址以供调用。

调用函数:获取能量(能量大小,传送地址)

所谓的花指令,就是加壳者加入了一些让程序空转的,能引起破解人员迷惑的指令。

就像是,先定义了一个变量,并给这个变量赋值了,假如说是3,但后面不远的地方,这个变量在没有使用的情况下,主程序给他再次赋值为4,并参与了调用或运算过程。

这时,前面的那个赋值为3的指令就是花指令,删掉它完全不影响程序效果,反而会加快程序运行速度。

当然,这只是举例,实际的加壳要比这个复杂得多,比如:隐藏程序入口,将原本简单的赋值语句复杂化形成带有检测功能的函数,让你在破解时就会让这些函数把进程搞崩溃。

好在,我的经验不少,这个壳很强,是用手工加上去的,所以也只能用手工一句一句的排查。

这个过程中,浩克可不好受,时不时的会当机崩溃。

不过我备份了另一分程序用于紧急时的恢复,加上后来为他设置了一种容错机制,发生意外时,他只会觉得他打了下盹儿。

不用担心脑容量的问题。

其实主程序占用的内存空间极少,还不如你记忆几部动作片的内存量大,这跟现实里的电脑是差不多的,当然,它们的运行机制完全不一样。

至于如何在还没破解之前就实现班纳视界中的那个进度条,那是在处理器还有缓存中实现的。

无论程序如何加秘,它总要能过处理指令的单元来实现运行,我只要在这个地方守着,找出班纳受影响的地址,注入一小段简易的程序来控制那几个受影响的地址便可以了。

破解是一个长期过程,不过好

上一页 全文阅读 下一页
  • 今日热门
  • 本周排行
  • 阅排行
  • 年度排行
  • 最新更新
  • 新增小说