Exetools  

Go Back   Exetools > General > General Discussion

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 12-03-2007, 23:15
jonwil jonwil is offline
VIP
 
Join Date: Feb 2004
Posts: 399
Rept. Given: 2
Rept. Rcvd 21 Times in 9 Posts
Thanks Given: 2
Thanks Rcvd at 67 Times in 35 Posts
jonwil Reputation: 21
Hex-Rays and virtual functions

Does anyone know the magic you have to do to get virtual functions to work in Hex-Rays, i.e. where it recognizes it as a call to abc->def(xyz) instead of something like return (*(int (__stdcall **)(signed int, signed int))(v3 + 56))(3, 1);
Reply With Quote
  #2  
Old 12-04-2007, 01:41
Git's Avatar
Git Git is offline
Old Git
 
Join Date: Mar 2002
Location: Torino
Posts: 1,116
Rept. Given: 220
Rept. Rcvd 265 Times in 157 Posts
Thanks Given: 110
Thanks Rcvd at 220 Times in 126 Posts
Git Reputation: 200-299 Git Reputation: 200-299 Git Reputation: 200-299
As a start I would think you would have to define a struct for the class and choose the function as the struct offset for the 'n' in call(eax + n). These are the sort of things you would expect to be in the manual if you had paid £'0000s for it.

Anybody know what __SETO__ is ?

Git
Reply With Quote
  #3  
Old 12-04-2007, 06:27
jonwil jonwil is offline
VIP
 
Join Date: Feb 2004
Posts: 399
Rept. Given: 2
Rept. Rcvd 21 Times in 9 Posts
Thanks Given: 2
Thanks Rcvd at 67 Times in 35 Posts
jonwil Reputation: 21
Actually, there is a manual (or something resembling one) here:
http://www.hex-rays.com/manual/
Reply With Quote
  #4  
Old 12-04-2007, 09:09
upb's Avatar
upb upb is offline
Friend
 
Join Date: Apr 2002
Location: Elbonia
Posts: 63
Rept. Given: 5
Rept. Rcvd 0 Times in 0 Posts
Thanks Given: 3
Thanks Rcvd at 0 Times in 0 Posts
upb Reputation: 0
it works like in normal ida without hexrays, you define the vtable for each class as a struct and then define the class itself (as struct) so that the first member of it is a pointer to the vtable struct. Then define each instance of that class as pointer to class struct.

And as ReWolf mentioned to me there is a way in IDA 5.2 to define struct members as pointers to functions _with function signature_.
Reply With Quote
  #5  
Old 12-04-2007, 23:01
NeOXOeN NeOXOeN is offline
Friend
 
Join Date: Jan 2005
Posts: 273
Rept. Given: 2
Rept. Rcvd 0 Times in 0 Posts
Thanks Given: 2
Thanks Rcvd at 18 Times in 18 Posts
NeOXOeN Reputation: 3
i have one simple question did anyone make patch for Hex-Rays splash screen alwasy opening up when you start IDA maybe??
its quite annoying alwasy pressing yes..

i didnt have time to do it myself yet :P
Reply With Quote
  #6  
Old 12-05-2007, 00:44
_Sigma
 
Posts: n/a
There is a little check box in the lower left. Uncheck (or check I don't remember) it.
Reply With Quote
  #7  
Old 12-05-2007, 01:06
aliali aliali is offline
Friend
 
Join Date: Jan 2002
Posts: 61
Rept. Given: 4
Rept. Rcvd 8 Times in 4 Posts
Thanks Given: 3
Thanks Rcvd at 15 Times in 8 Posts
aliali Reputation: 8
Quote:
Originally Posted by NeOXOeN
i have one simple question did anyone make patch for Hex-Rays splash screen alwasy opening up when you start IDA maybe??
its quite annoying alwasy pressing yes..

i didnt have time to do it myself yet :P
See the picture
Attached Images
File Type: jpg Hexray.jpg (31.0 KB, 54 views)

Last edited by aliali; 12-05-2007 at 01:16.
Reply With Quote
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 Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Timer Functions bedrock General Discussion 9 05-24-2005 23:09
where are second level dll functions raygun General Discussion 2 01-24-2005 05:56
Functions within a Dll SOLAR General Discussion 7 08-27-2004 21:00


All times are GMT +8. The time now is 09:24.


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( Since 1998 )