eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: rmn, Wargrinder (+5 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› userpurge в IDA
Посл.ответ Сообщение

Ранг: 1.8 (гость)
Статус: Участник

Создано: 4 августа 2017 15:40 New!
Цитата · Личное сообщение · #1

Привет

Изучаю код скомпиленный VC++ 6.0 в IDA.

Функция (f1) определяется декомпилятором как userpurge (хотя судя по частично доступному исходному коду такого там быть не должно).

После этого функция (f2) где есть вызов f1 тоже становится userpurge в декомпиляторе (хотя до этого детектилась другая calling convention). Появляются новые входные параметры типа a1<eax> и т.п.

Это

1) Так и должно быть?
2) Баг?
3) Неправильно настроенный декомпилятор?

Ранг: 135.1 (ветеран)
Статус: Участник

Создано: 4 августа 2017 17:33 New!
Цитата · Личное сообщение · #2

По дизасму все должно быть видно, в чем проблема?
Ида, конечно, бывает "проглатывает" запутанный код, также мб антиотладка, самомодификация, да что угодно. Показывайте сабж, или смотрите дизасм.

Ранг: 510.2 (!)
Статус: Модератор

Создано: 5 августа 2017 17:45 New!
Цитата · Личное сообщение · #3

codevx пишет:
Это1) Так и должно быть?2) Баг?3) Неправильно настроенный декомпилятор?



1) проверить какой компилятор определила ИДА
если не тот - посавить руками - Options -> Compiler
2) сигнатуру (in/out args + types + название функции) можно менять руками - клавиша Y на названии функции

Ранг: 300.0 (мудрец)
Статус: Участник

Создано: 7 августа 2017 12:10 New!
Цитата · Личное сообщение · #4

Увы, тоже часто приходится сталкиваться с этим. И как лечить не нашел.

Хексрею пох на выставленный компилятор и нотацию вызовов. Все равно лепит эти usercall/userpurge. И лепит не только для одной функции которую не смог переварить, а еще и для всех вызывающих ее вверх по цепочке.

По Y менять тип можно, но когда это не одна, а уже десяток-другой таких функций это надоедает

Ранг: 0.0 (гость)
Статус: Участник

Создано: 7 августа 2017 13:27 New!
Цитата · Личное сообщение · #5

Veliant пишет: И как лечить не нашел.

Вмешательством в ast, на хабре была статья по написанию расширения для рельс, там как раз манипуляция с ast, код можно взять за базу для своего анализатора.


Ранг: 1015.4 (!!!!)
Статус: Участник

Создано: 7 августа 2017 16:30 New!
Цитата · Личное сообщение · #6

1) так и должно быть
и это никак не исправить

Ранг: 1.8 (гость)
Статус: Участник

Создано: 8 августа 2017 14:24 New!
Цитата · Личное сообщение · #7

Спасибо, видимо можно закрывать.


Ранг: 1997.8 (!!!!)
Статус: Модератор
retired

Создано: 8 августа 2017 14:54 New!
Цитата · Личное сообщение · #8

Автор сам может закрыть свою тему, кнопка "Закрыть тему" находится внизу страницы, под кнопкой "Отправить сообщение".
 eXeL@B —› Вопросы новичков —› userpurge в IDA
Эта тема закрыта. Ответы больше не принимаются.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS