Welcome to JasonWeiler.com

I work on lots of stuff in my spare time. Occasionally something gets cooked enough to serve. When that happens, it winds up here:

IDCRT - The IDA-C Runtime Library

Version 0.003

Project Data

Homepage:

http://www.jasonweiler.com/idcrt.html

Feedback to:

idcrt AT [this site]

Download it:

here

See also:

DataRescue's IDA Pro page
Installation
  • Just unzip (with paths) to your idc directory.

Description

This is pretty much an experiment in IDC that broke out of the lab and made a run for it. I don't know how useful it'll be in it's current state, but hopefully it'll become more useful over time. Read the files for some details on the function arguments. Tips, suggestions, bugfixes, and contributions are of course welcome.

Good luck!
Jason

Revision History

5/19/2003 - v0.001

  • Initial (VERY buggy) release

5/23/2003 - v0.002

  • Renamed splitpathV to splitpathv to be more consistent. (ditto makepathV)
  • Renamed upstr and downstr to strupr and strlwr
  • Modularized the codebase to avoid having a cascade of includes pulling unused code in
  • Added strtitle, abs, and fileexists functions
  • Made splitpathv behave more like the msvc function it was modelled after
  • Many more silly bugs fixed...many more to find...

7/31/2003 - v0.003

  • Fixed isalnum
  • Fixed iscsym
  • Fixed iscsymf
  • Added splitstring
  • Added compactstrarray
  • Added to the test.idc script

Function List

ctype.idc

  • isspace - is a character in [\n\r\t ]
  • isxdigit - is a character in [0-9,A-F,a-f]
  • isdigit - is a character in [0-9]
  • isalpha - is a character in [A-Z, a-z]
  • isalnum - is a character in [A-Z, a-z, 0-9]
  • iscsym - is a character in [A-Z, a-z, 0-9, _]
  • iscsymf - is a character in [A-Z, a-z, _]
  • isupper - is a character in [A-Z]
  • islower - is a character in [a-z]

stdio.idc

  • unlink - delete file
  • fileexists - tells whether a file could be found for opening
  • feof - indicate when file stream has reached the EOF

process.idc

  • spawn - create synchronous process with a command string
  • spawnv - create synchronous process with an argument vector
  • exec - create asynchronous process with a command string
  • execv - create asynchronous process with an argument vector

string.idc

  • strrstr - Find the last instance of one string in another
  • strcmp - compare two strings
  • stricmp - compare two strings ignoring case
  • strncmp - compare two strings up to N characters
  • strnicmp - compare two strings up to N characters ignoring case
  • splitstring - converts in input string into an array of substrings
  • compactstrarray - packs all the indicies of an array of strings and optionally removes empty strings

stdlib.idc

  • makepath - create a valid Win32 path from the four path components passed in as strings
  • splitpathV - split the input path into the four path components and put them in an argument vector
  • makepathV - create a valid Win32 path from the four path components in an argument vector
  • toupper - convert the input character to upper-case
  • tolower - convert the input character to lower-case
  • strupr - convert the input string to upper case
  • strlwr - convert input string to lower case
  • strtitle - convert input string to Titlized format.
  • ishexstr - is the input a hexdecimal string [0x][0-9A-Fa-f]+
  • abs - find the absolute value of a number

whitespace.idc

  • EatLeadWS - return the input string after removing any leading whitespace
  • EatTailWS - return the input string after removing any trailing whitespace
  • FindNextWS - find the next instance of whitespace in the current string
  • ParseWS - return the next non-whitespace section of the specified file