首页
社区
课程
招聘
ODBGScript2.26: SCJS与ChakraCore(2020.1.3更新,适用于OD2.01)
发表于: 2019-8-13 20:43 8022

ODBGScript2.26: SCJS与ChakraCore(2020.1.3更新,适用于OD2.01)

2019-8-13 20:43
8022

2020.1.3 更新:

1、改进 BP 命令,可同时设置 n 个断点,n < 50 。 如:BP     401000, 402000, 403000, EIP

2、改进 BPGOTO 命令,可正常跳转到脚本标签,当执行到断点时。原命令之前不动作。

3、更新帮助文档。

4、版本升级 2.26

==============================================================================================

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 环境都是重新分配的,且与scjs的运行环境隔离,用后即焚毁,用户不用考虑内存使用。

      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  ,脚本编写3


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




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

最后于 2020-7-9 23:39 被ssarg编辑 ,原因:
上传的附件:
收藏
免费 1
支持
分享
最新回复 (16)
雪    币: 2068
活跃值: (2526)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我最想要的还是如何弥补原ODbgScript 浮点功能的缺陷
2019-8-14 09:07
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
可以以字符串的形式输出浮点数(如果浮点数不处理成字符串输出的话,会被取整输出),实际上,浮点运算完全可以在js语句里完成,最后输出字符串浮点数结果就好。原odbgscript2源码不能输出浮点数,因不常使用,所以也未再去研究。

最后于 2019-8-14 11:27 被ssarg编辑 ,原因:
2019-8-14 11:15
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
进一步优化内存使用,娱乐、撸串两相宜。
2019-8-17 23:05
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
5
更新了下帮助文档。
2019-9-8 14:41
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
6
2个dll便可任性的撸串
2019-9-13 15:29
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
7
增加scjs,更加灵活、强大
2019-9-19 12:16
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
8
更新帮助文档
2019-9-21 17:34
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
优化快捷键
2019-9-23 12:51
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
10
两个原版命令改进。
2020-1-3 13:05
0
雪    币: 783
活跃值: (1121)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
11
老板是真的牛逼。。
2020-1-4 02:24
0
雪    币: 35686
活跃值: (7155)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12

请教楼主,如何在这个地址,得到unicode的字符串?
用OD的脚本+MSG显示 ? 能完成吗?

上传的附件:
2020-3-1 21:43
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
13
        有几个方法:
1、用odbgscript脚本命令:gcmt、gci(minfo)、gstr 实现。
2、如果1中方法都不行,则需定位到内存中将文本的十六进制数据挑出来,然后用js的转换函数变成字符串显示。脚本版本需要2.26

本例中可用gstr命令实现,先断到对应地址(脚本或手动都行):

最后于 2020-3-2 20:57 被ssarg编辑 ,原因:
2020-3-2 19:21
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
14
  
最后于 2020-3-2 19:34 被ssarg编辑 ,原因:
2020-3-2 19:33
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
15
ninebell 请教楼主,如何在这个地址,得到unicode的字符串? 用OD的脚本+MSG显示 ? 能完成吗?
参考以上。
奇怪,引用后回帖,再编辑,引用消失了???
2020-3-2 19:35
0
雪    币: 35686
活跃值: (7155)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
thanks
2020-3-3 08:20
0
雪    币: 2068
活跃值: (2526)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
ssarg 参考以上。 奇怪,引用后回帖,再编辑,引用消失了???
最近在 win7 下跑了几个脚本 jmp label 有时会莫名其妙地随机报错
2023-4-10 17:06
0
游客
登录 | 注册 方可回帖
返回
//