-
-
[旧帖]
[原创]VM学习笔记(申请邀请码)
0.00雪花
-
发表于:
2010-9-29 11:58
2135
-
[旧帖] [原创]VM学习笔记(申请邀请码)
0.00雪花
正文:申请邀请码
over
以下是ps
ps:
Part 甲
此VM非彼VM
现在是个VM满天飞的时代。最耳熟的当属VMare,调试版的虚拟机栏目,就有不少人发帖问VMare的配置问题。此外,还有JAVA的VM,AV的VM,连神一样存在的云计算,也有VM
那么软件保护的VM,跟这些VM,有什么不同呢?
云计算那种高端的东西,咱就不说了,主要是不懂:)我理解的VM,主要有两类:一类是尽可能模仿X86(OK,自然还有别的平台,只是在x86+win的环境下呆久了,是难免会井底之蛙的);一类是尽可能脱离x86
为什么分这两类呢?主要还是从VM的使用目的来看。第一类VM,是尽可能地跑起X86的程序,譬如VMare,以及AV的VM。它们总是想尽可能多地兼容x86的指令——因为一旦不兼容,遇到一个unknown的指令,它们是没法百度google的,只好就崩溃了。VMare崩溃还好,顶多是LZ被跟帖骂发的资源垃圾,AV的VM崩溃就麻烦了。AV的VM有点像钓鱼执法,不断引诱里面跑的程序犯罪,一旦程序经不起考验真的做出些违法乱纪的事,那就不好意思了,马上咔嚓。所以现在的病毒——恩,我们要反三俗,所以专业一点,叫恶意软件——也不傻,可以通过一些特征来检测VM,也可以通过执行一些濒危灭绝的指令,最好是连Intel里面的大胡子也要查手册才能想起来的指令,来验一下执行的环境是不是真货,如果AV的VM不小心露出了马脚,那轻则就看不到病毒接下来的限制级表演,重则可能就得自觉洗干净小菊花了
那么第二类,就完全不同了,其代表就是Java。现在Sun是和甲骨文同居了,听说Java的老爸很反对这件事,现在闹得离家出走 —— 不过,那些都是娱乐版的事,等咱转正了可以到放飞心情继续侃。知道Java的人,一定都会听过一种叫“字节码”的道具。这种道具非常NB,比什么+1马-1马都要NB,它其实是Jvm的script——恩,这里说了句英语,主要是掩饰我整个大学都过不了CET6的悲剧——剧本。Jvm的整个运行调度,都得依着这个字节码。很重要吧,但这只是NB的其中一点,最NB的是,这个剧本是用天书写的,就算你x86汇编学得再NB,甚至能直接看懂机器码,也看不懂这字节码到底写的是什么东西
好,以上这么一大段话,就是为了引出最后一句。事实上,java的字节码不是真的不可懂,只要你有心,在网上down(卖弄英语)一本java虚拟机的规范,一边悠闲地吃着奥利奥(植入广告)一边看,最好还放杯高乐高(还是植入广告),那一定就能弄懂。可是,如果甲骨文腹黑一点,把规范都塞进保险柜,恐怕你要弄懂字节码,就要费很大功夫了
虚拟机保护理论,就是根据这条作为基石
——吃饭了,to be continue——
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)