Author Topic: Win32 Equivalent to C runtime documentation  (Read 6044 times)

guga

  • Moderator
  • Member
  • *****
  • Posts: 1451
  • Assembly is a state of art.
    • RosAsm
Win32 Equivalent to C runtime documentation
« on: August 06, 2012, 02:24:13 PM »
Hi guys

This is a small update of a document i made 10 years ago for my old site.

The document "Win32 Equivalents for C Run-Time Functions" is in pdf format and it contains information about the C run-time functions and their equivalences in Win32 Api.

On this version, i just included the function names. Perhaps later i´ll rewrite to include the correspondant dlls and also msvcrt.dll (and msvcrxxx.dll) that contains probably the vast majority of the C Runtime functions.

I hope it helps someone.

Best Regards,

guga
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 9994
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: Win32 Equivalent to C runtime documentation
« Reply #1 on: August 07, 2012, 12:44:08 AM »
Looks like you are doing some good stuff here Guga.  :icon14:
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

guga

  • Moderator
  • Member
  • *****
  • Posts: 1451
  • Assembly is a state of art.
    • RosAsm
Re: Win32 Equivalent to C runtime documentation
« Reply #2 on: August 07, 2012, 02:20:25 AM »
Hi Steve

many tks :)

I updated this document because i´ll later use it when i finish the Digital DNA System for RosAsm. The goal is to make the disassemblçer simply identify the C runtime functions and replace them to the correspondent APIs. The technique me and rené started developd years ago, but we stopped due to personal problems. Now, i´ll restart it soon....

It will use the data collected from the LibScanner to build the DNA database (similar technique as found in IdaPro Flirt System, but, i´ll will try to make it be a bit more accurate then that).

For the disassembler side, there are several things to implement....and since i´ll work again on the libscanner, i´ll eventually start working on a tool that can make rosasm import and export Lib/Obj files (Coff and also OMF). Before all of that it will probably be necessary that i completelly make the dissassmbler be independent from the GUI)

Two things that i´m currently working are a process viewer that works on Win9X (It is working, but it have a small bug i couldn´t solve yet) that i´ll use it to see if i can try to adapt this technique onto RosAsm debugger. (It seems that for dumping the dll modules to disk, if i use the toolhelp api to fully identify the IAT of a given module is a bit better then the current api´s i´m using in the debugger)

Another thing is a resizable dialog control that can be used as a dll to any application. This app will try to resize literally any controls from a given application. It is working, but i got stuck when i tried to enumerate controls such as toolbars and spreadsheets...Don´t know what i´m doing wrong, but i´ll try to fix it.) I didn´t release this beta version yet, because i´m still doing preliminary tests on it.

If i still got stuck on both apps, i´ll release the source code of both to ask others to help me :)

Although i designed both tools to later adapt them onto RosAsm they can be used to literally any app.

Too bad that i´m only one person to implement the major updates i plan to RosAsm, because since the source code is extremelly attached to the GUI it will take a looong time before i completelly isolate all the functions for RosAsm. For example, i´ll plan to make the assembler, disassembler, debugger be totally independent from RosAsm GUI (It will be better IMHO to help users to build their own plugins or tools for RosAsm).

Best Regards,

Guga
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

Vortex

  • Member
  • *****
  • Posts: 2716
Re: Win32 Equivalent to C runtime documentation
« Reply #3 on: August 07, 2012, 03:40:21 AM »
Hi Guga,

Thanks for the nice work.

I see that you wish to support the OMF format. Is there a specific reason for this as today there are not much tools supporting this old format.

Gunther

  • Member
  • *****
  • Posts: 4115
  • Forgive your enemies, but never forget their names
Re: Win32 Equivalent to C runtime documentation
« Reply #4 on: August 07, 2012, 05:58:45 AM »
Hi Guga,

solid work. Thank you.

Gunther
You have to know the facts before you can distort them.

guga

  • Moderator
  • Member
  • *****
  • Posts: 1451
  • Assembly is a state of art.
    • RosAsm
Re: Win32 Equivalent to C runtime documentation
« Reply #5 on: August 07, 2012, 10:04:11 AM »
Hi Guys

many tks :)

Vortex, i plan to enable OMF support mainly for the disassembler purposes. Since i´ll improve the libscanner it will be able to import and rip the necessary functions to lib, obj (coff and OMF), linux, etc etc....The database collected will be used for the Digital DNA System and also, since it will work as a database, there is no reason why i don´t enable rosasm to import and convert OMF files as well, and since it is importing....why not export too ? Since digital Mars, borland and also masm (If i can remember well) support OMF, why not give it a try ;)

When i mean importing a lib file (Coff or OMF or even elf) it will always depends the sucess i achieve in the coff importing...i mean, if the way i´ll found to make rosasm import/export coff files is similar to the ones in omf etc, i´ll give a try....but....if it implies a full rebuild of each format, then i´ll have to think if it will be really necessary.
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com