Skip to content

Commit 393e5ad

Browse files
Preparation for 1.19.20 release.
1 parent 472606f commit 393e5ad

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,12 @@ Box.js will emulate a Windows JScript environment, print a summary of the emulat
4646
4747
>If you wish to automate the analysis, you can use the return codes - documented in `integrations/README.md` - to distinguish between different types of errors.
4848
49-
## Analysis Fails Due to Missing 'document' Object
49+
## Analysis Fails Due to Missing 'document' Object or Other Objects/Functions
5050

5151
The box-js repository from git includes a `boilerplate.js` file. This file defines some stubbed versions of common browser objects such as document. Try rerunning your analysis with the `--prepended-code=DIR/boilerplate.js` option, where `DIR` is the directory of the cloned box-js repository. The `--prepended-code` option tells box-js to prepend the JavaScript in the given file to the sample being analyzed.
5252

53+
Note that you can copy boilerplate.js and add your own stubbed classes, objects, etc. as needed.
54+
5355
## Batch usage
5456

5557
While box.js is typically used on single files, it can also run batch analyses. You can simply pass a list of files or folders to analyse:
@@ -88,6 +90,8 @@ cat ./*.results/active_urls.json | sort | uniq
8890
--preprocess Preprocess the original source code (makes reverse engineering easier, but takes
8991
a few seconds)
9092
--prepended-code Prepend the JavaScript in the given file to the sample prior to sandboxing
93+
--fake-script-engine The script engine to report in WScript.FullName and WScript.Name (ex.
94+
'cscript.exe' or 'wscript.exe'). Default is wscript.exe.
9195
--unsafe-preprocess More aggressive preprocessing. Often results in better code, but can break on
9296
some edge cases (eg. redefining prototypes)
9397
--no-kill Do not kill the application when runtime errors occur
@@ -114,6 +118,8 @@ cat ./*.results/active_urls.json | sort | uniq
114118
--dangerous-vm Use the `vm` module, rather than `vm2`. This sandbox can be broken, so **don't
115119
use this** unless you're 100% sure of what you're doing. Helps with debugging by
116120
giving correct stack traces.
121+
--rewrite-loops Rewrite some types of loops to make analysis faster
122+
--throttle-writes Throttle reporting and data tracking of file writes that write a LOT of data
117123
<!--END_FLAGS-->
118124

119125
# Analyzing the output

RELEASE_NOTES.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Version 1.19.20, 2/15/2023
2+
--------------------------
3+
4+
* Added anti-emulation loop rewriting functionality.
5+
* Added functionality for faking being run with cscript.exe or wscript.exe.
6+
* Added functionality for throttling lots of small file writes.
7+
* Added support for WMI.GetObject.Run().
8+
* Added support for ADODBStream.flush().
9+
* Added support for InternetExplorer.Application.
10+
* Added support for XMLHttpRequest.
11+
* Added some stubbed JQuery functionality.
12+
* Added support for ScheduleService.
13+
* Track IOCs being passed through the '|' operator in analyzed JS code.
14+
* Added support for WindowsInstaller.installer.
15+
16+
17+

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "box-js",
3-
"version": "1.9.18",
3+
"version": "1.9.20",
44
"description": "A tool for studying JavaScript malware.",
55
"dependencies": {
66
"acorn": "^5.6.2",

0 commit comments

Comments
 (0)