RENG.RU

RE/System Programming
Текущее время: 16 дек 2017, 02:59

Часовой пояс: UTC + 6 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Переименование функций в IDA
СообщениеДобавлено: 19 фев 2007, 01:47 
Не в сети

Зарегистрирован: 01 мар 2003, 19:25
Сообщения: 62
Написал бы кто-нть скрипт для автоматического переименования функций...
Т.е скармливаешь скрипту файл определений вида
_SUP100QU12=__SUP100_LL_Initpacket@12
а скрипт пережевывая этот def-файл переименовывает функции...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переименование функций в IDA
СообщениеДобавлено: 19 фев 2007, 12:03 
Не в сети

Зарегистрирован: 09 фев 2003, 04:31
Сообщения: 438
Откуда: Russia
MeteO писал(а):
Написал бы кто-нть скрипт для автоматического переименования функций...
Т.е скармливаешь скрипту файл определений вида
_SUP100QU12=__SUP100_LL_Initpacket@12
а скрипт пережевывая этот def-файл переименовывает функции...


на перле пишется с пол пинка


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переименование функций в IDA
СообщениеДобавлено: 20 фев 2007, 17:04 
Не в сети

Зарегистрирован: 01 мар 2003, 19:25
Сообщения: 62
Asterix писал(а):
MeteO писал(а):
Написал бы кто-нть скрипт для автоматического переименования функций...
Т.е скармливаешь скрипту файл определений вида
_SUP100QU12=__SUP100_LL_Initpacket@12
а скрипт пережевывая этот def-файл переименовывает функции...


на перле пишется с пол пинка

Так написал бы кто для IDA...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переименование функций в IDA
СообщениеДобавлено: 21 фев 2007, 20:13 
Не в сети

Зарегистрирован: 09 фев 2003, 04:31
Сообщения: 438
Откуда: Russia
условия не ясны, что во что именовать

то что до = в то что после
или наоборот


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переименование функций в IDA
СообщениеДобавлено: 21 фев 2007, 20:42 
Не в сети

Зарегистрирован: 01 мар 2003, 19:25
Сообщения: 62
Asterix писал(а):
условия не ясны, что во что именовать

то что до = в то что после
или наоборот

Было _SUP100QU12
стало __SUP100_LL_Initpacket@12.

Только не на перле, а то это геморройно женить ИДА с перлом. Очень хотелось бы поиметь idc-скрипт....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переименование функций в IDA
СообщениеДобавлено: 21 фев 2007, 21:02 
Не в сети

Зарегистрирован: 09 фев 2003, 04:31
Сообщения: 438
Откуда: Russia
MeteO писал(а):
Только не на перле, а то это геморройно женить ИДА с перлом. Очень хотелось бы поиметь idc-скрипт....


не на перле я точно писать не буду, слишком
много букв %), на перле несколько строчек ;)
а Ида с перлом уже давно "поженил" redplait


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 фев 2007, 22:48 
Не в сети

Зарегистрирован: 09 фев 2003, 04:31
Сообщения: 438
Откуда: Russia
вот собственно..

Код:
#!/usr/bin/perl
#
# written by Asterix
#

use IDA;

use constant SN_CHECK  =>  0x01;
use constant SN_NOWARN => 0x100;

%names = ();


sub GetNames
{
    $InputFile = AskFile(0, 'names.txt', 'Open file');
    if ( defined($InputFile) )
    {
        open(IN, "< $InputFile") or die "Can't open $InputFile for reading: $!\n";
        while ( <IN> )
        {
            if ( /^\s*(\S+)\s*=\s*(\S+)\s*/ )
            {
                $names{$1} = $2;
            }
        }
        close(IN);
        return 1;
    }
    return 0;
}


if ( GetNames() )
{
    $ea = NextFunction(0);
    while ( $ea != 0xFFFFFFFF )
    {
        $FuncName = GetFunctionName($ea);
        if ( defined($names{$FuncName}) )
        {
            if ( !MakeNameEx($ea, $names{$FuncName}, SN_CHECK | SN_NOWARN) )
            {
                printf("\nCan't rename function %s at address: 0x%08X\n", $FuncName, $ea);
            }
        }
        $ea = NextFunction($ea);
    }
}

print "\nDone!\n";



перл рулез, желающие могут переписать на idc


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 6 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB