IDA Hex-Rays: Псевдокод живёт своей жизнью - левые сигнатуры
От: Albeoris  
Дата: 21.10.18 22:38
Оценка:
Воспроизводится эта беда на IDA 6.8 + Hex-Rays.
В комплекте два плагина: HexRaysCodeXplorer, HexRaysPyTools

В результате "я ничего не делал, оно само", ряд функций сменили сигнатуры.

Было:
int __cdecl sub_403B80(unsigned __int16 a1, unsigned __int16 a2, int a3)


Стало:
int __usercall sub_403B80@<eax>(int a1@<ebp>, unsigned __int16 a2, unsigned __int16 a3, int a4)


1. Откуда такие изменения?
2. Насколько они опасны?
3. Как откатить всё взад?

Дальше больше, начали съезжать сегменты.

Было:
.text, start: 0x401000

Стало:
.text, start: 0x501000

Потом:
.text, start: 0x301000

Потом:
.text, start: 0x2E1000

Откатывал вручную возвращая сегменты на место. Все сегменты смещаются в большую или меньшую сторону на одинаковую величину.

1. В результате чего это может происходить?
2. Как заморозить адреса сегментов, чтобы никакими путями их было не сдвинуть, особенно горячими кнопками, которые я, видимо, неудачно нажимаю.

Спасибо за внимание!
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Отредактировано 21.10.2018 22:48 Albeoris . Предыдущая версия .
ida чайник hex-rays
Re: IDA Hex-Rays: Псевдокод живёт своей жизнью - левые сигнатуры, смещение сегме
От: reversecode google
Дата: 21.10.18 22:46
Оценка: 2 (1) +1
вообще то последняя на паблике вроде 7.0 ида была а не 6.8 ну да ладно
hexrays сам аргументы меняет
восстанавливайте с резервной копии базы или меняйте в зад ручками

google windows aslr

вообще лучше зарегистрироваться в комюнити и общаться в кругу тех кто знает ваши ответы по теме
https://exelab.ru/f/index.php?action=vthread&amp;forum=1&amp;topic=24661
https://reverseengineering.stackexchange.com/
Re[2]: IDA Hex-Rays: Псевдокод живёт своей жизнью - левые сигнатуры, смещение се
От: Albeoris  
Дата: 21.10.18 22:53
Оценка:
R>hexrays сам аргументы меняет
А как ему это запретить?

R>google windows aslr

Да, но дело в том, что в программе все адреса прибиты наглухо и меняться не могут. В результате, когда съезжает сегмент все адреса становятся невалидными. Поэтому, если это результат запуска отладчика, хотелось бы какой-нибудь механизм заморозки, который бы следил за тем, чтобы в состоянии покоя адреса сегментов оставались неизменны.

R>вообще лучше зарегистрироваться в комюнити и общаться в кругу тех кто знает ваши ответы по теме

Спасибо! Присоединюсь, буду изображать чайник.
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Re[3]: IDA Hex-Rays: Псевдокод живёт своей жизнью - левые сигнатуры, смещение се
От: pva  
Дата: 25.10.18 09:01
Оценка: 4 (1)
Здравствуйте, Albeoris, Вы писали:

R>>google windows aslr

A>Да, но дело в том, что в программе все адреса прибиты наглухо и меняться не могут.
Попробуй в хедере выставить Relocations stripped флаг. Заодно отключитбь ASLR.

Адреса у тебя съезжают после каждого запуска отладчика. Чтобы вернуть можешь сделать Edit — ... — Rebase...
newbie
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.