IDA JScript 2


Author: David Zimmer
Date: 09.07.20 - 11:15pm



Ok, so I finally updated my personal IDA license to 7.5 and have ported the IDASrvr2 and IDA JScript with debugger over to the new API.

They both now support x64 disassemblies. The IDAJS script functions are unchanged, but since neither JS nor VB6 support 64 bit numbers intrinsically, all x64 numbers are represented as strings. If you have to do math you can use the new x64.add/subtract methods.

If the IDAJS script functions detect a string arg, they will auto convert it to an x64 number. 32bit numbers can still be worked with in JS as normal. It is as seamless as possible for the given tech.

For some back story on why I bother with this anymore, well the first versions of this came about long long ago in an off and distant land when IDA only offered IDC scripting. I really really wanted a syntax highlight control with intellisense for IDA scripting. The debugger is just icing on the cake.

Anyway..after years and years and investing loads of time to create the custom components necessary, it has become a pet project and is just what I use for my IDA scripting needs. Sooo in for a penny in for a pound.

Going forward IDASrvr2 is going to be the foundation for my other plug-ins as well. Well actually plug-outs seeing how I will be doing as little as possible from within the IDA process. (IDAJScript IDE and JS engine run in their own 32bit process and only interact with 64bit IDA over an IPC channel)

Really, just being able to query data/control IDA from small external apps is enough of a reason to keep this project alive.




Comments: (3)

On 09.25.20 - 7:10am Dave wrote:
so I did a little spelunking out of curiosity.

1994 IDC script

2004 IDAPython 0.5 for IDA 4.6. (preinstalled as of IDA 5.4)

2004 Perl script plugin by redplait (perl5.5, ida4.7)

2006 IdaRub 0.8 by spoonm (Ruby interpreter)

2006 IDA Vbscript for IDA 4.7 (in process, msscript, limited api, crude intellisense, no syntax highlighting)

2008 IDAPerl for IDA 5.2, activesync perl

2009 IDA Javascript by Hexrays for IDA 5.5 (full api, V8 JS engine)

2011 idaocaml - Rolf Rolles

2013 IDA JScript (IPC, msscript, limited api, intellisense, full syntax highlighting, debugger w/duktape in 2015)

2015 IDA IPython (Looks like IPython supports remote UI connections to the python instance running within IDA)

If anyone knows of any other script interpreter projects for IDA id love to hear about them :)

On 06.01.22 - 12:41pm vmallet wrote:
Maybe these too 2010 IdaJava https//github.com/cblichmann/idajava 2010 IDA C https//blog.karatos.in/a?ID01000-69f2f124-560e-47a5-bb0c-93052d9763af (the original post is in Chinese)

On 01.26.24 - 6:12am MyName wrote:
If 2009 ... by Hexrays has full api then why years later limited api? **Answer** Unlike by Hexrays you can edit source and add whatever API you need, hence the intellisense, full syntax highlighting and debugger are the main goal here. Thanks for your hard work. I was actaully searching for a way to decompile and debug web-site JavaScript (not my own plugin script), but this can serve even there as learning material.

 
Leave Comment:
Name:
Email: (not shown)
Message: (Required)
Math Question: 8 + 40 = ? followed by the letter: T 



About Me
More Blogs
Main Site
Posts: (year)
2023 (4)
     Yara Workbench Automation
     VS linker versions
     IDA decompiler comments
     DispCallFunc
2022 (5)
     VB6 Implements
     VB6 Stubs BS
     VB6 TypeInfo
     VB6 VTable Layout
     Yara isPCode rule
2021 (2)
     rtcTypeName
     VB6 Gosub
2020 (5)
     AutoIT versions
     IDA JScript 2
     Using VB6 Obj files from C
     Yara Corrupt Imports
     Yara Undefined values
2019 (6)
     Yara WorkBench
     SafeArrayGetVartype
     vb6 API and call backs
     PrintFile
     ImpAdCallNonVirt
     UConnect Disable Cell Modem
2017 (5)
     IDA python over IPC
     dns wildcard blocking
     64bit IDA Plugins
     anterior lines
     misc news/updates
2016 (4)
     KANAL Mod
     Decoders again
     CDO.Message Breakpoints
     SysAnalyzer Updates
2015 (5)
     SysAnalyzer and Site Updates
     crazy decoder
     ida js w/dbg
     flash patching #2
     JS Graphing
2014 (5)
     Delphi IDA Plugin
     scdbg IDA integration
     API Hash Database
     Winmerge plugin
     IDACompare Updates
2013 (9)
     Guest Post @ hexblog
     TCP Stream Reassembly
     SysAnalyzer Updates
     Apilogger Video
     Shellcode2Exe trainer
     scdbg updates
     IDA Javascript w/IDE
     Rop Analysis II
     scdbg vrs ROP
2012 (13)
     flash patching
     x64 Hooks
     micro hook
     jmp api+5 *2
     SysAnalyzer Updates
     InjDll runtime config
     C# Asm/Dsm Library
     Shellcode Hook Detection
     Updates II
     findDll
     Java Hacking
     Windows 8
     Win7 x64
2011 (19)
     Graphing ideas
     .Net Hacking
     Old iDefense Releases
     BootLoaders
     hll shellcode
     ActionScript Tips
     -patch fu
     scdbg ordinal lookup
     scdbg -api mode
     Peb Module Lists
     scdbg vrs Process Injection
     GetProcAddress Scanner
     scdbg fopen mode
     scdbg findsc mode
     scdbg MemMonitor
     demo shellcodes
     scdbg download
     api hashs redux
     Api hash gen
2010 (11)
     Retro XSS Chat Codes
     Exe as DLL
     Olly Plugins
     Debugging Explorer
     Attach to hidden process
     JS Refactoring
     Asm and Shellcode in CSharp
     Fancy Return Address
     PDF Stream Dumper
     Malcode Call API by Hash
     WinDbg Cheat Sheet
2009 (1)
     GPG Automation