Воспроизводится эта беда на 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. Как заморозить адреса сегментов, чтобы никакими путями их было не сдвинуть, особенно горячими кнопками, которые я, видимо, неудачно нажимаю.
Спасибо за внимание!
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
вообще то последняя на паблике вроде 7.0 ида была а не 6.8 ну да ладно
hexrays сам аргументы меняет
восстанавливайте с резервной копии базы или меняйте в зад ручками
google windows aslr
вообще лучше зарегистрироваться в комюнити и общаться в кругу тех кто знает ваши ответы по теме
https://exelab.ru/f/index.php?action=vthread&forum=1&topic=24661
https://reverseengineering.stackexchange.com/
R>hexrays сам аргументы меняет
А как ему это запретить?
R>google windows aslr
Да, но дело в том, что в программе все адреса прибиты наглухо и меняться не могут. В результате, когда съезжает сегмент все адреса становятся невалидными. Поэтому, если это результат запуска отладчика, хотелось бы какой-нибудь механизм заморозки, который бы следил за тем, чтобы в состоянии покоя адреса сегментов оставались неизменны.
R>вообще лучше зарегистрироваться в комюнити и общаться в кругу тех кто знает ваши ответы по теме
Спасибо! Присоединюсь, буду изображать чайник.
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт