Raised This Month: $ Target: $400
 0% 

Virtual Functions & Symbol Tables


Post New Thread Reply   
 
Thread Tools Display Modes
Keeper
Senior Member
Join Date: Nov 2006
Old 08-19-2009 , 19:26   Re: Virtual Functions & Symbol Tables
Reply With Quote #11

It's actually
Code:
`vtable for'
if you start with the "v" you won't find it. Also Alt-T is text search, but that is sloooooooooooooooow.
Keeper is offline
Psi
Junior Member
Join Date: Aug 2009
Old 08-20-2009 , 04:00   Re: Virtual Functions & Symbol Tables
Reply With Quote #12

Thank you Keeper, that's indeed what i did, but at least THAT one i found out on my own
Psi is offline
BAILOPAN
Join Date: Jan 2004
Old 08-21-2009 , 10:41   Re: Virtual Functions & Symbol Tables
Reply With Quote #13

also vtable export names begin with _ZTV if you can demangle/mangle names by eyeballing them

(note: IDA is not Windows only and any version of it can disassemble pretty much any binary format across many CPUs.)
__________________
egg

Last edited by BAILOPAN; 08-21-2009 at 10:44.
BAILOPAN is offline
Psi
Junior Member
Join Date: Aug 2009
Old 08-21-2009 , 22:14   Re: Virtual Functions & Symbol Tables
Reply With Quote #14

Hi BAILOPAN,

i saw these names and i realized there is a naming pattern (also for the parameter types, int = i, pointers are markes as P and so all) and read about this mangling scheme in wikipedia. Nevertheless, if i want to get a list of functions for a complete class it is really time-intensive to demangle the names in mind *g*

About IDA, my problem was: I did not find any non-windows executable. That (what i would never have expected) does still not mean that IDA can't read ELF files. It is a windows-only executable but capable of disassembling binaries of other operating systems. Strange, but fact.
Psi is offline
BAILOPAN
Join Date: Jan 2004
Old 08-21-2009 , 23:18   Re: Virtual Functions & Symbol Tables
Reply With Quote #15

Kind of off topic, but it's not strange at all ;). The "mirror" functionality is true as well - compilers can target other platforms. There's nothing magic about it really. In general it's bad for a development tool to assume the host platform is always the same as the guest platform. Consider, for example, mobile devices. Most people won't want their entire dev toolchain to be the phone itself.

You can also find IDA for both Linux and Mac though they don't come with nice GUIs.
__________________
egg

Last edited by BAILOPAN; 08-21-2009 at 23:21.
BAILOPAN is offline
Psi
Junior Member
Join Date: Aug 2009
Old 08-22-2009 , 07:04   Strange compiler error
Reply With Quote #16

Lol, ok, developing applications FOR a cellphone ON a cellphone would be quite uncomfortable, that's true. I knew about compilers being able to compile into several target platform formats but i would not have expected a disassembler to be that platform-independent. Was an error in thinking, i know, but sometimes there are solutions you just don't think about. Kind of not seeing the wood for all the trees

Btw, i searched for an IDA for linux console but i was unable to find it. Anyway it is not necessary anymore because, thanks to Keeper, i got my list exported. Now i am struggling over the hl2sdk... i always get compiler errors when trying to include "basecombatplayer.h" or similar files.

I already realized that Valve does not really seem to care about capital and non-capital filenames (i guess they develop using VS200 but i already fixed all the include "file-not-founds". But still i get compiler errors in a lot of header files such as

Code:
 
../hl2sdk/dlls/baseentity.h: In static member function âstatic void CBaseEntity::NetworkVar_m_nRenderFX::NetworkStateChanged(void*)â:
../hl2sdk/dlls/baseentity.h:729: warning: invalid access to non-static data member âCBaseEntity::m_nRenderFXâ of NULL object
../hl2sdk/dlls/baseentity.h:729: warning: (perhaps the âoffsetofâ macro was used incorrectly)
../hl2sdk/dlls/baseentity.h: In static member function âstatic void CBaseEntity::NetworkVar_m_nRenderMode::NetworkStateChanged(void*)â:
../hl2sdk/dlls/baseentity.h:731: warning: invalid access to non-static data member âCBaseEntity::m_nRenderModeâ of NULL object
I have a strong suspicion that it has something to do with gcc 4.1, but since i am compiling for CS:S which uses the original engine, i am forced to use 4.1... did anyone experience the same and can tell me how he fixed it?

[edit]
I know they are warnings but the original sourcemm Makefile comes with the setting to handle warnings as errors with, as i presume, a good reason

Last edited by Psi; 08-22-2009 at 07:08.
Psi is offline
BAILOPAN
Join Date: Jan 2004
Old 08-24-2009 , 13:49   Re: Virtual Functions & Symbol Tables
Reply With Quote #17

Are you using Valve's SDK, or our versions which are fixed to compile cleanly with GCC?

We treat warnings as errors because - well - you should not have warnings ;) Indeed the warning there should be an error because it looks like not valid code.
__________________
egg

Last edited by BAILOPAN; 08-24-2009 at 13:51.
BAILOPAN is offline
Psi
Junior Member
Join Date: Aug 2009
Old 08-25-2009 , 04:28   Re: Virtual Functions & Symbol Tables
Reply With Quote #18

Quote:
Originally Posted by BAILOPAN View Post
Are you using Valve's SDK, or our versions which are fixed to compile cleanly with GCC?
Indeed, i used Valve's SDK but i will try your version now. Is it the one which is shipped with the source of mani admin plugin?


Quote:
Originally Posted by BAILOPAN View Post
We treat warnings as errors because - well - you should not have warnings ;) Indeed the warning there should be an error because it looks like not valid code.
That is exactly my philosophy, if your code is correct it should not generate any warnings. That's why i didn't just change the Makefile.
Psi is offline
DJ Tsunami
DJ Post Spammer
Join Date: Feb 2008
Location: The Netherlands
Old 08-25-2009 , 06:20   Re: Virtual Functions & Symbol Tables
Reply With Quote #19

http://hg.alliedmods.net for all your SDKs
__________________
Advertisements | REST in Pawn - HTTP client for JSON REST APIs
Please do not PM me with questions. Post in the plugin thread.
DJ Tsunami is offline
Psi
Junior Member
Join Date: Aug 2009
Old 08-25-2009 , 07:10   Re: Virtual Functions & Symbol Tables
Reply With Quote #20

Thanks alot
Psi is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:17.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode