Можно ли просматривать строки в памяти с помощью IDA так же, как я могу в OllyDbg?

Я написал простую программу регистрации, которая требует имени и лицензионного ключа, чтобы получить сообщение об успешном завершении. Закодированное решение просто ожидает, что оба поля будут чувствительны к регистру, поле Name должно быть Admin, а лицензионный ключ должен быть TopSecret, оба поля должны совпадать для успешного выполнения.

введите здесь описание изображения

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

Конечная цель для меня - разобрать мои собственные схемы регистрации и определить, насколько легко это может быть потенциально для «посторонних», которые могут попытаться взломать их, и по мере того, как я поправляюсь, я надеюсь сделать свои приложения более устойчивыми к таким атакам.


В OllyDbg при установке точки останова и переходе с помощью F8 я могу просматривать строки из стека памяти, как показано ниже в правом нижнем углу экрана:

введите здесь описание изображения

введите здесь описание изображения

Как вы можете видеть, выделено зеленым цветом, я ввел SOME NAME в поле «Имя» и 123456789 в поле «Лицензионный ключ», и OllyDbg удалось показать это в том, что, как я предполагаю, является стеком памяти.

Можно ли это сделать в IDA, и если да, то как? Я попытался открыть как можно больше подпредставлений и отладить подвиды, но все же не вижу способа пройти через них и следить за строками в памяти. Есть ли в IDA окно стека памяти, как в OllyDbg?


person Craig    schedule 14.09.2015    source источник


Ответы (1)


IDA гораздо полезнее, когда вы выполняете статический анализ. Когда дело доходит до динамического анализа и динамической отладки, вероятно, IDA не мой любимый инструмент.

Чтобы увидеть имя пользователя / пароль в IDA, просто нажмите SHIFT + F12 или перейдите в View -> Open Subviews -> Strings.

Там вы должны увидеть струны.

Если вы хотите сделать это в динамическом анализе, поместите точку останова в то же место, что и в Ollydbg, а затем посмотрите на представление стека.

person 72DFBF5B A0DF5BE9    schedule 17.09.2015
comment
Большое спасибо за ваш ответ. Я выдергивала волосы. Я думаю, что OllyDbg, вероятно, здесь лучше, поскольку я могу видеть на каждом шаге точки останова строки в памяти в стеке, где, как и в IDA, это не так просто и полезно, как OllyDbg. - person Craig; 17.09.2015
comment
Используйте IDA для статического анализа, декомпиляции (идеально подходит HexRays), анализа аномальных двоичных файлов (IDA поддерживает ПОЧТИ ВСЕ типы двоичных файлов), анализа прошивок и т. Д. Для этого типа работы. Если вы просто хотите подключить отладчик к EXE / DLL и провести динамический анализ, я бы просто использовал OllyDbg. IDA станет удобной, когда нет Olly, как в бинарном анализе Linux, бинарном анализе Android, анализе прошивки, анализе MBR и т. Д. - person 72DFBF5B A0DF5BE9; 18.09.2015