📚 OpenRCE is preserved as a read-only archive. Launched at RECon Montreal in 2005. Registration and posting are disabled.








Flag: Tornado! Hurricane!

 Forums >>  IDA Pro  >>  a problem of msg()

Topic created on: July 29, 2008 09:34 CDT by yinwenjiansusie .

I want to get the return type and parameters information of a function from the function type declaration.So I use the structure func_type_info_t,which holds the information I am interested.Here is some of my code:
...
qtype type,fnames;
char true_name[MAXSTR];
char type_decl[MAXSTR];
get_name(BADADDR, func_startEa, true_name, sizeof(true_name));
if(get_tinfo(func_startEa,&type,&fnames)&&
(print_type_to_one_line(type_decl,MAXSTR,idati,type.c_str(),true_name,NULL,fnames.c_str())==T_NORMAL))
{
   //found some type information
  msg("0x%08x type information:%s\n",func_startEa,type_decl);
  msg("true_name:%s\n",true_name);
  func_type_info_t fti;
  int a = build_funcarg_info(idati, type.c_str(), fnames.c_str(), &fti, 0);
  msg("number of parameters:%d\n",a);
  if(a!=0)
{
//�������Լ��
msg("calling convention:0x%x\n",get_cc(fti.cc));
//�����������
msg("return type:%s\n",(char *)fti.rettype.c_str());
//���в�����Ϣ
for(int k=0;k<a;k++)
{
argloc_t al=fti[k].argloc;
const type_t *argtype=fti[k].type.c_str();
const char *argname=fti[k].name.c_str();
if(is_reg_argloc(al)) msg("argloction:this parameters is in register\n");
if(is_stack_argloc(al)) msg("argloction:this parameter is in stack!\n");
msg("argtype:0x%x\n,argname:%s\n",al,argtype,argname);
}
}
}
....

but the msg() outputint the results as follow:

Executing function 'main'...
0x01001a17:int __stdcall sub_1001A17(int hWnd)
0x01001a17 type information:int __stdcall sub_1001A17(int hWnd)
true_name:sub_1001A17
number of parameters:1
calling convention:0x50
return type:
argloction:this parameter is in stack!
argtype:0x0
,argname:

"msg()" can not output the return type string and also the "argname"
what is the problem?

Thanks for any hints!

  lena1220   July 29, 2008 10:21.11 CDT
why there are Chinese?

Note: Registration is required to post to the forums.

There are 31,328 total registered users.


Recently Created Topics
[help] Unpacking VMP...
Mar/12
Reverse Engineering ...
Jul/06
let 'IDAPython' impo...
Sep/24
set 'IDAPython' as t...
Sep/24
GuessType return une...
Sep/20
About retrieving the...
Sep/07
How to find specific...
Aug/15
How to get data depe...
Jul/07
Identify RVA data in...
May/06
Question about memor...
Dec/12


Recent Forum Posts
Finding the procedur...
rolEYder
Question about debbu...
rolEYder
Identify RVA data in...
sohlow
let 'IDAPython' impo...
sohlow
How to find specific...
hackgreti
Problem with ollydbg
sh3dow
How can I write olly...
sh3dow
New LoadMAP plugin v...
mefisto...
Intel pin in loaded ...
djnemo
OOP_RE tool available?
Bl4ckm4n


Recent Blog Entries
halsten
Mar/14
Breaking IonCUBE VM

oleavr
Oct/24
Anatomy of a code tracer

hasherezade
Sep/24
IAT Patcher - new tool for ...

oleavr
Aug/27
CryptoShark: code tracer ba...

oleavr
Jun/25
Build a debugger in 5 minutes

More ...


Recent Blog Comments
nieo on:
Mar/22
IAT Patcher - new tool for ...

djnemo on:
Nov/17
Kernel debugger vs user mod...

acel on:
Nov/14
Kernel debugger vs user mod...

pedram on:
Dec/21
frida.github.io: scriptable...

capadleman on:
Jun/19
Using NtCreateThreadEx for ...

More ...


Imagery
SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit