Git Product home page Git Product logo

auto_re's Introduction

Join the chat at https://gitter.im/auto_re/Lobby

Features

1. Auto-renaming dummy-named functions, which have one API call or jump to the imported API

Before

auto_rename_src.png

After

auto_rename_dst.png

2. Assigning TAGS to functions accordingly to called API-indicators inside

  • Sets tags as repeatable function comments and displays TAG tree in the separate view

Some screenshots of TAGS view:

tags_view_0.png

tags_view_1.png

How TAGs look in unexplored code: tags_in_unexplored_code.png

You can easily rename function using its context menu or just pressing n hotkey:

function_rename.png

Installation

Just copy auto_re.py to the IDA\plugins directory and it will be available through Edit -> Plugins -> Auto RE menu

auto_re's People

Contributors

a1ext avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

auto_re's Issues

Feature request: show all imports per function view

If you look at the current AutoRE view, you see all the functions that call functions that are defined in the TAG list.
However, the functions in the TAG list will most times only be a small part of the overall functions that are imported from various libraries. And it will never be feasible to adapt your python script to have all possible imports in the TAG list.

So, a second view (because the already existing view is good and should not be changed) could show every imported functions call in a function.

See the unrar binary we assessed. it also imports time(), umask(), wmemmove() and lots of other functions. So a second view that would show which functions call which imports, not only those in a TAG list, would be handy and give a very good quick overview what is happening in which function.

(in a next step you could even go as fas as renaming functions to imports that are not in the TAG list if the function only calls one imported function and no other call or far jmp)

I hope I explained it better now?

empty window (IDA 7.1)

Hi,

I am running ida64 on Windows and in this example I am loading a linux x64 unrar.
Then I run the AutoRE plugin via Edit->Plugins->AutoRE
The AutoRE window is displayed however is completely empty.
The output window only shows "Note: FormToPyQtWidget: importing 'sip' module into <module 'main' from ''>"
capture

As you can see, there are a lot of imports:
capture2

I thought maybe your TAG{} list is not matching things which might be the problem so I add a file: [ 'open', ... ], in there, but that did not change anything.

What could be the issue?

IDA 7.0

How about support for IDA 7.0 ?
:)

Broken AutoRE window in IDA 7.3.190614 (Mac)

Hey!
Love the plugin for a quick snapshot. As of 7.3 on Mac, running the plugin does relabel the function names but opening the AutoRE window is empty. Definitely miss this snapshot view. Any chance of fixing it? (is it just my machine?)

auto_re

ida7.0:Improvement and repair

improve:Failure to identify
image

image

repair:Failed to display in the window.
The initial autoanalysis has been finished.
fn: 0x401040: 1 calls, 0 math possible name: ??0CWinApp@@QAE@PBD@Z, normalized: au_re_0CWinApp
fn: 0x4010b0: 1 calls, 0 math possible name: ??1CWinApp@@UAE@XZ, normalized: au_re_1CWinApp
fn: 0x4010f0: 1 calls, 0 math possible name: au_re_0CWinApp, normalized: au_re_0CWinApp
fn: 0x401110: 1 calls, 0 math possible name: _atexit, normalized: au_re__atexit
fn: 0x401130: 1 calls, 0 math possible name: au_re_1CWinApp, normalized: au_re_1CWinApp
fn: 0x401250: 1 calls, 0 math possible name: ??3@YAXPAX@Z, normalized: au_re_alloc
fn: 0x4012b0: 1 calls, 0 math possible name: ??0CDialog@@QAE@IPAVCWnd@@@z, normalized: au_re_0CDialog
fn: 0x401320: 1 calls, 0 math possible name: ??1CDialog@@UAE@XZ, normalized: au_re_1CDialog
fn: 0x401940: 1 calls, 0 math possible name: ?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@xz, normalized: au_re_AfxGetModuleState
fn: 0x4019f0: 1 calls, 0 math possible name: DrawIcon, normalized: au_re_DrawIcon
fn: 0x401a20: 1 calls, 0 math possible name: AppendMenuA, normalized: au_re_AppendMenuA
fn: 0x401a50: 1 calls, 0 math possible name: SendMessageA, normalized: au_re_SendMessageA
fn: 0x401ab0: 1 calls, 0 math possible name: IsIconic, normalized: au_re_IsIconic
fn: 0x401ad0: 1 calls, 0 math possible name: GetClientRect, normalized: au_re_GetClientRect
fn: 0x401b00: 1 calls, 0 math possible name: SendMessageA, normalized: au_re_SendMessageA
fn: 0x401b30: 1 calls, 0 math possible name: ?Default@CWnd@@IAEJXZ, normalized: au_re_Default
fn: 0x401b50: 1 calls, 0 math possible name: ?Default@CWnd@@IAEJXZ, normalized: au_re_Default
fn: 0x401b70: 1 calls, 0 math possible name: ?Default@CWnd@@IAEJXZ, normalized: au_re_Default
fn: 0x401b90: 1 calls, 0 math possible name: EnableWindow, normalized: au_re_EnableWindow
fn: 0x401bc0: 1 calls, 0 math possible name: EnableWindow, normalized: au_re_EnableWindow
fn: 0x402120: 1 calls, 0 math possible name: au_re_1CDialog, normalized: au_re_1CDialog
fn: 0x402140: 1 calls, 0 math possible name: ??1CPaintDC@@UAE@XZ, normalized: au_re_1CPaintDC
Note: FormToPyQtWidget: importing 'sip' module into <module 'main' from ''>
Loading Interactive Function List...Command "OpHex" failed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.