首页
论坛
专栏
课程

ODBGScript2.25: SCJS与ChakraCore(2019.9.23更新)

2019-8-13 20:43 1991

ODBGScript2.25: SCJS与ChakraCore(2019.9.23更新)

2019-8-13 20:43
1991
2019.9.23更新:

1、优化重载快捷键 R 和放弃运行快捷键 A ,在刷新脚本或放弃运行脚本时,同时重置 scjs 的 JS runtime 环境,为下次运行做好准备,避免出现变量重复声明的 JS 语法错误提示,调试更便捷。

2、版本升级2.25

=================================================================================
2019.9.19更新:

1、增加 scjs 命令,即 js runtime same context ,同一执行 js 运行上下文环境  。

与 ccjs、msjs 比:

  (1)、相同点,都可在OD脚本中执行 js 命令语句。

  (2)、不同点:

       a、scjs 与 ccjs 是同一 JavaScrip  引擎 ms-chakracore(开源),支持 js 的 es6 标准,沙箱内运行效果 。而 msjs 为 MS-OS 自带引擎,不支持es6,但可操作本地文件和权限。

       b、在 OD 脚本整个生命周期内,scjs命令的同一 js runtime context 环境一直存在,多个 scjs 命令共享一个 js 运行空间,即多个 scjs 命令的所有变量、函数、数据等等都可互相共享调用,可与原OD脚本命令在程序上成为一体,即ODbgScript脚本与JavaScript脚本强强联合,’魂’为一体,脚本编写更灵活更强大。直至执行ends脚本结束命令后,此 js runtime 才会消失。所以内存使用由用户自己维护。建议需分配内存的变量、函数、结构体等不宜放在 scjs 命令循环体中,否则内存会爆炸。

      c、ccjs 命令每次运行时,js runtime context 环境都是重新分配的,用后即焚毁,用户不用考虑内存使用。

      d、msjs 命令的运行环境是微软操作系统内嵌的js引擎,本地权限很大,如删除文件,创建admin登录账号,关机等特殊操作。

  (3)、scjs、ccjs和msjs的配合使用,可对数据源进行强大处理,极大改善了 OD 脚本使用体验,让你欲罢不能, 强撸也不会灰飞烟灭。 。

2、优化精简了 js 语法错误提示框,更易调试 js 脚本。

3、优化命令缩写符号,更易快速书写:scjs==ss,ccjs==cc,msjs==mm

4、版本升级2.24。

          原贴相关介绍4篇介绍1  ,  介绍2  , 脚本编写示例1 脚本编写示例2


SCJS示例:字符串123abcde转ASCII码



优化js语法错误提示:

========================================= 爱生活,爱OD ==========================================
2019.9.13更新:

1、因ccjs比dojs快,暂时屏蔽v8的5.6版的dojs命令。只需下载本帖附件的2个dll便可任性的撸串,帮助文档相应修改。

2、版本升级2.22。

============================================= 爱生活,爱OD ================================================ 
 2019.8.17更新:
1、进一步优化内存使用,消除与OD脚本同时运行时,其他应用程序出现频闪现象和不能点击。娱乐、撸串两不误。
2、版本升级2.21。     
==============================================爱生活,爱OD=================================================
       ODBGScript2.18 原贴 超过两年不能编辑了,所以开个新帖。
      Chakra 是微软 Edge浏览器中的JavaScript引擎,而ChakraCore则是微软开源的。 ChakraCore几乎与Chakra功能相同,是一个功能完整的、独立的 JavaScript 虚拟机,可嵌入到衍生产品中,驱动需要脚本功能的产品如 NoSQL 数据库、生产力工具和游戏引擎,与V8一样,应用颇广。
       CCJS(c$)则是 ChakraCore 在ODBGScript2.21上的实践,在脚本中实现执行js语句命令,等同撸串命令dojs,可以对数据源进行强大的处理,丰富了原脚本命令,详见原贴的例子。之所以采用 ChakraCore引擎,相比V8来讲,有几个好处:
      1、源码易编译成功,用vs2013也很容易嵌入到项目中,更新方便。
      2、最终只需ChakraCore.dll一个文件便可使用。
      3、运行速度比v8引擎5.6版快很多。如下图:




上图表明,可提示语法错误(目前不支持BIGINT),快速定位修改js语句。第二行chakracore的执行new Date().toLocaleString()有乱码,第一行则是去乱码处理。目前为止发现的问题,其他好像都正常。支持es6标准。
使用说明:
1、ODbgScript2.dll 放在 plugin 文件夹里,而 ChakraCore.dll 放在与 ollydbg.exe 同文件夹里。至此,2.25 版已嵌入 chakracore 版、windows 系统自带 js 引擎 2 种 JavaScript 引擎,方便使用。
2、dll 和帮助文档见附件,win10 环境下编译的 dll,不知 win7 是否可用。
3、 ChakraCore 参考帖子:http://ju.outofmemory.cn/entry/300535,内容很详尽,感谢作者分享。


[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最后于 2019-10-2 21:57 被ssarg编辑 ,原因:
上传的附件:
最新回复 (8)
superdos 2019-8-14 09:07
2
0
我最想要的还是如何弥补原ODbgScript 浮点功能的缺陷
ssarg 2019-8-14 11:15
3
0
可以以字符串的形式输出浮点数(如果浮点数不处理成字符串输出的话,会被取整输出),实际上,浮点运算完全可以在js语句里完成,最后输出字符串浮点数结果就好。原odbgscript2源码不能输出浮点数,因不常使用,所以也未再去研究。

最后于 2019-8-14 11:27 被ssarg编辑 ,原因:
ssarg 2019-8-17 23:05
4
0
进一步优化内存使用,娱乐、撸串两相宜。
ssarg 2019-9-8 14:41
5
0
更新了下帮助文档。
ssarg 2019-9-13 15:29
6
0
2个dll便可任性的撸串
ssarg 2019-9-19 12:16
7
0
增加scjs,更加灵活、强大
ssarg 2019-9-21 17:34
8
0
更新帮助文档
ssarg 2019-9-23 12:51
9
0
优化快捷键
游客
登录 | 注册 方可回帖
返回