首页
社区
课程
招聘
Ollyscript插件几个待加强的小地方
发表于: 2016-10-21 21:06 5649

Ollyscript插件几个待加强的小地方

2016-10-21 21:06
5649
Ollyscript是本人认为非常强大的类汇编插件, 基本能满足我的需求, 功能及其强大. 但是在编写某些小脚本时, 仍感觉有些力不从心, 以下是本人长期使用过程中, 认为Ollyscript开发者可以加强或改善的几个地方.

1. 希望能实现浮点数的转换
例如本人希望能添加命令ATOF和FTOA
通过ALLOC申请内存并移入少量汇编码二进制代码, 然后进行更改EIP运行的方式可以实现FTOA, 即浮点数转ASCII, 但毕竟不是Ollyscript原生的, 还要使用到BP, EXEC/ENDE组合运行, 效率明显下降.
如果Ollyscript原生带有FTOA函数, 效率肯定会提高很多. 
打个比方, 知道00401000h处浮点存储64位二进制DATA是
00401000:    F4 D6 43 54 FB 21 09 40
参照ITOA的语法
ITOA int, [base=16.]  // 整数转换为 ASCII 字串
应该可以添加一个类似的FTOA命令
FTOA float,[base=64.]
这样, 想要实现00401000h处浮点数转ASCII, 可以编写以下命令
FTOA [00401000],64.
运行命令后的结果结果放在 $RESULT 中,  $RESULT = 3.14159265358 , 那多方便, 可惜Ollyscript没有FTOA这原生命令.

同样的, 要实现ATOF, 即ASCII转浮点数, 想用纯Ollyscript编写, 几乎难以实现, 比FTOA要复杂得多得多, 例如要转换ASCII数3.14159265358(或者ASCII数-1.23456e-7)为浮点进行存储, 难!
没一点的汇编能力几乎无从下手.
要是能有原生的ATOF命令, 设计形如:
ATOF str, dest, [base=32.]  // ASCII 字串转换为单精度浮点型
ATOF str, dest, [base=64.]  // ASCII 字串转换为双精度浮点型
ATOF str, dest, [base=80.]  // ASCII 字串转换为长双精度浮点型
那岂不是爽哉!
例如往00401000写入单/双浮点数-1.23456e-7
ATOF "-1.23456e-7", [00401000], 32.
ATOF "-1.23456e-7", [00401000], 64.

2. 希望Ollyscript的ASK命令窗口应该提供一些额外的方便选项
例如"浏览"打开文件路径, 或者支持拖放文件到ASK命令窗口文本编辑框自动填写上文件路径. 这样就相当于在Ollydbg上做了一个功能强大的通用文件处理器.  例如编写以下脚本:

REASK:
  ASK "本程序用于处理打开的文件. 请输入被处理文件的完整路径:"
  CMP $RESULT,0
  JE REASK

运行后原生的Ollyscript弹窗窗口如下:


如果能实现为以下功能, 岂不爽哉!


如此一来, 想打开例如C:\测试文件\新建文件夹\test.txt, 就不用先在资源管理器复制"C:\测试文件\新建文件夹", 然后粘贴到Ollyscript弹窗窗口中, 再输入"\", 然后复制"test.txt"的文件名粘贴到"C:\测试文件\新建文件夹\"的后面!

3. 建议Ollyscript添加能实现屏蔽屏幕输出的功能(也就是希望脚本运行时不显示运行到那一行命令及返回结果)
为和有这想法呢? 因为脚本运行过程耗费了大量的CPU在回显运行到哪一行及运行后的结果, 并将结果记录到行队列中, 因此导致脚本运行效率非常低下.
楼主知道有一个对命令DBH和DBS, 用于脚本运行时隐藏/显示Ollydbg, 但楼主用起来发现这两个命令很不听使唤(DBH无隐藏效果).
楼主在此建议开发者对Ollyscript该命令进行修正, 如果无法实现DBH命令屏蔽屏显, 建议在插件扩展菜单进行实现, 这样的Ollyscript的脚本运行效率将提高近好几倍!

楼主不才, 也只能提出建议, 望Ollyscript的开发者们能实现此类功能, 造福世界人民!
在此先谢过Ollyscript的原始开发者和后续开发者, 感谢你们的辛勤劳动, 制作出这么好的插件, 使我们用起来得心应手!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
我都很久没碰过了,但是记忆中这个插件

第三个可以最小化 OD 解决,执行到满意后弹一个 MSG "OK"

前两个嘛,可有可无,关于这个插件最大的问题不是这些,而是 BUG 有点多

我的建议是,可以指定执行申请内存空间的范围,这样针对 VMP  等壳的时候,申请低地址的会方便些

针对  anti sti ,增加模拟执行功能

当然这些都说是可以克服的,关键增加了,使用起来会舒服一些
2016-10-22 00:06
0
雪    币: 2058
活跃值: (2521)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
“通过ALLOC申请内存并移入少量汇编码二进制代码,  然后进行更改EIP运行的方式可以实现FTOA,  即浮点数转ASCII,  但毕竟不是Ollyscript原生的,  还要使用到BP,  EXEC/ENDE组合运行,。。。”

能不能说说  这段脚本是如何编写的?
2017-5-22 12:41
0
游客
登录 | 注册 方可回帖
返回
//