Skip to content

Commit

Permalink
Minor release v1.2
Browse files Browse the repository at this point in the history
Bug fixes
Add support for IDA v6.6 and Hex-Rays Decompiler (x86) v2.0
  • Loading branch information
matrosov committed Aug 1, 2014
1 parent d6100dc commit a4808b6
Show file tree
Hide file tree
Showing 23 changed files with 300 additions and 177 deletions.
Binary file added bin/v1.2/win/HexRaysCodeXplorer.plw
Binary file not shown.
Binary file removed sources/HexRaysCodeXplorer.v12.suo
Binary file not shown.
107 changes: 0 additions & 107 deletions sources/HexRaysCodeXplorer/HexRaysCodeXplorer.vcxproj

This file was deleted.

12 changes: 10 additions & 2 deletions sources/HexRaysCodeXplorer.sln → src/HexRaysCodeXplorer.sln
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30501.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HexRaysCodeXplorer", "HexRaysCodeXplorer\HexRaysCodeXplorer.vcxproj", "{F7E6B557-41F3-444A-BCA4-3527547DD665}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F7E6B557-41F3-444A-BCA4-3527547DD665}.Debug|Win32.ActiveCfg = Debug|Win32
{F7E6B557-41F3-444A-BCA4-3527547DD665}.Debug|Win32.Build.0 = Debug|Win32
{F7E6B557-41F3-444A-BCA4-3527547DD665}.Debug|x64.ActiveCfg = Debug|x64
{F7E6B557-41F3-444A-BCA4-3527547DD665}.Debug|x64.Build.0 = Debug|x64
{F7E6B557-41F3-444A-BCA4-3527547DD665}.Release|Win32.ActiveCfg = Release|Win32
{F7E6B557-41F3-444A-BCA4-3527547DD665}.Release|Win32.Build.0 = Release|Win32
{F7E6B557-41F3-444A-BCA4-3527547DD665}.Release|x64.ActiveCfg = Release|x64
{F7E6B557-41F3-444A-BCA4-3527547DD665}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -190,22 +190,26 @@ static bool idaapi display_graph(void *ud)
netnode id;
id.create();

// get function name
qstring title = gi->title;//"Funcion ctree graph";
qstring title = gi->title;

HWND hwnd = NULL;
TForm *form = create_tform(title.c_str(), &hwnd);

gi->vu = (vdui_t *)ud;
gi->form = form;
gi->gv = create_graph_viewer(form, id, gr_callback, gi, 0);
open_tform(form, FORM_TAB | FORM_MENU | FORM_QWIDGET);
viewer_fit_window(gi->gv);
if (hwnd != NULL)
{
gi->vu = (vdui_t *)ud;
gi->form = form;
gi->gv = create_graph_viewer(form, id, gr_callback, gi, 0);
open_tform(form, FORM_TAB | FORM_MENU | FORM_QWIDGET);

if (gi->gv != NULL)
viewer_fit_window(gi->gv);
}

return true;
}

// Get poinyter to func_t by routine name
// Get pointer to func_t by routine name
func_t * get_func_by_name(const char *func_name)
{
func_t * result_func = NULL;
Expand Down Expand Up @@ -247,7 +251,7 @@ static bool idaapi decompile_func(vdui_t &vu)
{
cexpr_t *e = (cexpr_t *)highlight;

// retireve the name of the routine
// retrieve the name of the routine
char tmp[1024];
memset(tmp, 0x00, sizeof(tmp));
e->print1(tmp, sizeof(tmp), NULL);
Expand All @@ -269,7 +273,7 @@ static bool idaapi decompile_func(vdui_t &vu)
return true;
}

//display Class Explorer
//display Object Explorer
static bool idaapi display_objects(void *ud)
{
vdui_t &vu = *(vdui_t *)ud;
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -110,20 +110,24 @@ char * callgraph_t::get_node_label(int n, char *buf, int bufsize) const
// For typed expressions, the third line will have
// the expression type in human readable form
APPCHAR(ptr, endp, '\n');
if ( print_type_to_one_line(ptr, endp-ptr, idati, e->type.u_str()) != T_NORMAL )
qstring out;
if (e->type.print(&out))
{
APPEND(ptr, endp, out.c_str());
}
else
{ // could not print the type?
APPCHAR(ptr, endp, '?');
APPZERO(ptr, endp);
}

if(e->type.is_ptr())
{
typestring ptr_rem = remove_pointer(e->type);
tinfo_t ptr_rem = remove_pointer(e->type);
if(ptr_rem.is_struct())
{
qstring typenm;

print_type_to_qstring(&typenm, "prefix ", 0,0, PRTYPE_MULTI | PRTYPE_TYPE | PRTYPE_SEMI, idati, ptr_rem.u_str());
ptr_rem.print(&typenm, "prefix ", 0, 0, PRTYPE_MULTI | PRTYPE_TYPE | PRTYPE_SEMI);
}
}
}
Expand Down Expand Up @@ -168,9 +172,8 @@ callgraph_t::nodeinfo_t *callgraph_t::get_info(int nid)
if(pfn == highlighted)
fi.color = 2000;
else
fi.color = 1;//bgcolors.prolog_color;//calc_bg_color(pfn->startEA);
fi.color = 1;

//fi.ea = pfn->startEA;
fi.ea = 0;

it = cached_funcs.insert(cached_funcs.end(), std::make_pair(nid, fi));
Expand Down Expand Up @@ -255,7 +258,7 @@ bool graph_info_t::get_title(ea_t func_ea, size_t num_inst, qstring *out)
if ( get_func_name(func_ea, func_name, sizeof(func_name)) == NULL )
return false;

out->sprnt("Call graph of: %s %d", func_name, num_inst);
out->sprnt("ctree graph of: %s %d", func_name, num_inst);

return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@

#pragma once

#include "Common.h"

// function call graph creator class
class callgraph_t
{
Expand Down
File renamed without changes.
Loading

0 comments on commit a4808b6

Please sign in to comment.