一直在看OllyScript的代码,感觉有不少改进的地方不少.
从本能的理智角度来看,更加喜欢老罗的OM,老罗的OM是VM方式执行,如果脚本编译成了字节方式执行速度相当快,
OllyScript是一个比较成熟脚本语言,解释执行。
单从我们使用脚本上来说,ODS和OM没有区别,但从扩展角度来说,OM强大的多,而ODS很难做大规模扩展
ODS为广大的爱好者所使用,而OM由于老罗个人追求技术至上,没有加入变量,而是给出了80多个寄存器,这样让广大的
爱好者难以接受,因为很多人习惯了使用变量.解释执行这一工作方式决定了它的运行速度不可能达到很快,因为语法
和词法分析是很耗费时间的,所以为什么高手喜欢到最后修复IAT和fix code的时候,喜欢潜下OD直接写汇编来计算
的真正原因.这样也让很多入门者不知道作者是干什么.
可现在作为计算机的速度很快了,不是我们玩286,386的年代了,上几个G频率的CPU对于脚本的执行速度来说不算什么了
所以,老罗的OM这样好可没有普及开的真正原因...
从使用者的角度来说,ODS还有一个很大的不足是运算指令的不足,让很多工作没法直接在ODS上完成,必须借助于
汇编来完成,知道了算法,由于指令的不足造成的无法在ODS完成所有工作是很遗憾的.
或许我想要是作者7月1号不发布新版,我扩展一下它的算术指令和逻辑运算指令,要是作者发布了新版,就当我给PEDIY
写的一个扩展集吧,反正作者开源了...
预备扩展的指令:
MUL (mltiple) 乘法
DIV (divide) 除法 (要做除0检查?还是就算了?简简单单就好)
位运算指令:(C上面没有想明白怎么弄,只能内嵌ASM来实现
大家有什么好办法?请教一下了)
NOT
TEST
SAL
SAR
ROL
ROR
符号位运算:
NOT
NRG
我想有了这些,算法应该可以完整的在OD上实现了,不用再下潜到OD了吧,暂时先这些..
我看了一下,工作量不小,不是算法的问题,由于它是解释语法判断语句的东西要加的东西太多,勉为其难了吧,看看大家是否有兴趣???
[课程]Linux pwn 探索篇!