Exetools

Exetools (https://forum.exetools.com/index.php)
-   General Discussion (https://forum.exetools.com/forumdisplay.php?f=2)
-   -   runtime libs linked in to exe, IDA question. (https://forum.exetools.com/showthread.php?t=4741)

Wannabe 07-30-2004 00:57

runtime libs linked in to exe, IDA question.
 
I am currently reversing an exe file which has the standard c-libs linked into it.
The problem is that IDA don't recognize basic calls like strcpy, printf and suchs, you have to realize it the hard way by going through the disassembly, or by debugging it ;-)
Is there a way to make IDA realize those calls for what they are? It would really help understanding the real stuff instead of realizing you're fooling around in printf :D

Polaris 07-30-2004 03:17

Come on... Just read the manual!

BlackKnight 07-30-2004 06:26

Re
 
Quote:

Originally Posted by Wannabe
The problem is that IDA don't recognize basic calls like strcpy, printf...

it seems that sometimes ida can't automaticaly detect compiller that was used to make your application...

If you are sure that you know the compiller, you may load flirt signatures for it manualy "File -> Load file -> Flirt signature file"

Wannabe 07-30-2004 22:32

Using PEID I identified the EXE as a Visual C++ application, and loaded FLIRT signatures for Visual C++ runtime libraries. IDA then correctly identified some low-level funtions like GlobalAlloc, ReadFile and such. But no printfs, strcpy and alike. Am I missing something here? Didn't find FLIRTS for the standard libraries. Are you supposed to have the compiler in question and make your own FLIRTS? The help file included, which is the only documentation I have, seemed a bit rudimentary for me.
Grateful for any help, just recently got hold of this IDA and haven't had much time learning all the features yet. Guess I was so eager to reverse this puppy
:p

BlackKnight 07-31-2004 05:05

Re
 
Does IDA detect Visual C runtime automaticaly or not? What does it write to log?...IDA have very good Flirt signatures to VisualC.... if it does'nt recognize some runtime functions it seems that application is not maded by VisualC... May be it something similar... like MS Fortran Powerstation or IntelC...
How old your application is?
If you have a bit old machine (like P-III) you may try to redetect runtime by
http://protools.anticrack.de/files/utilities/fi.zip.....

shyokou 08-01-2004 21:39

FLIRT is not omnipotent ...
 
You may have overlooked one important thing about compiler, the for optimization purpose some "functions" are in fact macros rather than subroutines, especially the str*() series, e.g., strlen() is 90% implemented in macro on i86 target, but 50% subroutine on ARM. You may notice also the if you IDA your own code, the debug version always has the subroutine but the release one not because of optimization ...

A little knowledge about printf(...), it is in most situation a macro of fprintf(STDOUT,...) ...

I dont think it is easy to make signature for macros on i86 target, since the registers may not always the same except EAX ...

Quote:

Originally Posted by Wannabe
I am currently reversing an exe file which has the standard c-libs linked into it.
The problem is that IDA don't recognize basic calls like strcpy, printf and suchs, you have to realize it the hard way by going through the disassembly, or by debugging it ;-)
Is there a way to make IDA realize those calls for what they are? It would really help understanding the real stuff instead of realizing you're fooling around in printf :D


Wannabe 08-02-2004 08:03

The exe file is rather new, at least it's dated 2004-02-20.
I tried making my own FLIRTs for Visual C++ 6.0 (libcxx) but had no luck.
And no, IDA is not identifying the correct compiler at startup.
If it is a Visual C++ .NET exe where can I find FLIRTs for it's library?
Think I read another thread here about FLIRTs for VC 7.1, but I don't have access to attachments yet.
Is there a better tool than PEID for finding this kind of info?
The FI utility which I was recommended seemed to have to old registration key, so I was unable to get it working :(
If macros are the case, then at least would I find some incarnation of printf, like fprintf, vprintf or such, right?

BlackKnight 08-02-2004 11:00

Re
 
If IDA can't detect runtime and PeID can't
it seems that it is time to use lastest top secret solution -
to look on your application by eyes :)
Can you send me your exe by email?
May I look inside it?
May be I will say you an answer on
"What compiller was used to make it?"

PS. You may PM me...

Wannabe just PMed me that he found a right signatures for his application
it is SymantecC V72... so congratulations to him...
he caught a really rare animal :)


All times are GMT +8. The time now is 18:02.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX