能力值:
( LV9,RANK:210 )
2 楼
Many thanks:D :D :D
能力值:
( LV9,RANK:3410 )
3 楼
老罗辛苦 :D
能力值:
( LV12,RANK:810 )
4 楼
好东东!
能力值:
( LV9,RANK:210 )
5 楼
laoluo搞一个chm吧,再次感谢
能力值:
( LV13,RANK:370 )
6 楼
最初由 jingulong 发布 laoluo搞一个chm吧,再次感谢
搞CHM太麻烦了
这份手册可能会每个版本都不一样的,因为API函数将来肯定会扩充的,等以后再弄吧,OK?
也请大家帮忙测试一下,0.10版的API我基本上是照搬了OllyScript的,少部分增加了一些我自己想到的,如果有哪些API是比较常用的请提出来,谢谢。
习惯了OllyScript的朋友可能会不喜欢:
push XXXX push YYYY API_Name
这样的调用方式,如果有这个疑问的话请耐心等候,我想想办法在下个版本中看能不能改进。
能力值:
( LV7,RANK:100 )
7 楼
支持老罗的东东.:D
能力值:
( LV9,RANK:690 )
8 楼
造福万民的好东西,支持:D
能力值:
( LV4,RANK:50 )
9 楼
支持老罗
能力值:
( LV2,RANK:10 )
10 楼
能力值:
( LV13,RANK:970 )
11 楼
多谢!
能力值:
( LV9,RANK:1060 )
12 楼
谢
能力值:
( LV4,RANK:50 )
13 楼
好的东西需要大家来共同参与,大家快来测试啊!
有一个疑问:为什么要多出汇编这一个步骤,直接虚拟执行不可以吗?这样做是不是考虑到和你的反病毒引擎相呼应啊
能力值:
( LV2,RANK:10 )
14 楼
支持!
能力值:
( LV12,RANK:770 )
15 楼
支持~:D
能力值:
( LV9,RANK:2130 )
16 楼
:D
Good,谢谢,push的方式,不是很习惯;)
建议像masm那样,用一个伪指令invoke等
能力值:
( LV13,RANK:370 )
17 楼
最初由 采臣・宁 发布 好的东西需要大家来共同参与,大家快来测试啊! 有一个疑问:为什么要多出汇编这一个步骤,直接虚拟执行不可以吗?这样做是不是考虑到和你的反病毒引擎相呼应啊
因为可以只发布字节码啊,比如辛辛苦苦写了一个脚本,不太想公开脚本的源代码了,就可以发布一个编译好的。
能力值:
( LV13,RANK:370 )
18 楼
最初由 loveboom 发布 :D Good,谢谢,push的方式,不是很习惯;)
的确,这样不太方便。我会考虑一下怎么解决;)
能力值:
( LV13,RANK:370 )
19 楼
能力值:
( LV9,RANK:3410 )
20 楼
论坛的一个bug
附件名太长,无法下载
能力值:
( LV4,RANK:50 )
21 楼
最初由 luocong 发布 因为可以只发布字节码啊,比如辛辛苦苦写了一个脚本,不太想公开脚本的源代码了,就可以发布一个编译好的。
这个想法很好啊。虽然可能没有人会这样做。对此,你能给出一个编译好的例子吗?在调用你的API的时候,字节码的定义是怎么样的?
能力值:
( LV13,RANK:370 )
22 楼
最初由 采臣・宁 发布 这个想法很好啊。虽然可能没有人会这样做。对此,你能给出一个编译好的例子吗?在调用你的API的时候,字节码的定义是怎么样的?
好的。举个例子,比如说Hello World的源代码 HelloWorld.oms:
/////////////////////////////////////////////////////////////////////////////// // // FileName : HelloWorld.oms // Author : Luo Cong // Date : 2004-11-15 // Comment : HelloWorld!!! // /////////////////////////////////////////////////////////////////////////////// lds reg01, "Hello World!" push reg01 msg
我们可以在OllyMachine的菜单里面选择“Compile”,于是源代码就会被编译成HelloWorld.omb,内容是字节码(bytecode)的形式:
00000000 4F 4D 4C 43 00 0A 11 00 00 00 0D 00 00 00 16 00 OMLC............ 00000010 00 00 27 00 00 00 1F 01 00 00 00 00 00 00 00 1C ..'............. 00000020 01 01 00 00 00 24 1E 48 65 6C 6C 6F 20 57 6F 72 .....$.Hello Wor 00000030 6C 64 21 00 ld!.
以后就可以直接载入这个HelloWorld.omb来运行了,无需源代码。
这样做有两个好处:
1、编译好之后,以后运行就不需要再次执行编译的步骤,如果源文件比较大的话,可以节省一定的时间。
2、可以不发布源代码,只发布字节码文件,在运行效果上是一样的。其实就是相当于我们用C语言写好了程序并编译成EXE,但是在发布的时候只发布那个EXE文件。
其实每次载入脚本文件的时候都会先执行汇编(assemble)步骤的,把源代码编译成字节码之后才传入虚拟机执行。这套字节码的定义、以及字节码文件的格式,如果大家需要的话我找时间整理出来。
能力值:
(RANK:350 )
23 楼
最初由 luocong 发布 谢谢啊,不过为什么我下载不了呢?是不是浏览器要设置点什么?
附件名最好不要用中文字出现,一般能下载的。
能力值:
( LV2,RANK:10 )
24 楼
最初由 kanxue 发布 附件名最好不要用中文字出现,一般能下载的。
应该是不能加 空格,因为空格变成了?就不能下载了,用%20替代就可以
能力值:
( LV4,RANK:50 )
25 楼
谢谢你的回复!有一个建议,能否把OLLYDBG的异常选项中的功能加入到OM中呢,也就是可以从OM中控制异常的过滤开关。这一点对于脱壳来说是很重要的。因为有时候我们需要用异常来判断壳的运行时。另外建议把这一主题移到插件论坛中去,这样就专业对口了,也可以增强点人气。