Я написал простую программу регистрации, которая требует имени и лицензионного ключа, чтобы получить сообщение об успешном завершении. Закодированное решение просто ожидает, что оба поля будут чувствительны к регистру, поле Name должно быть Admin
, а лицензионный ключ должен быть TopSecret
, оба поля должны совпадать для успешного выполнения.
В этом, конечно, нет ничего сложного и никогда не будет использоваться в реальном приложении, но поскольку я в значительной степени новичок в сборке и обратном проектировании, это, надеюсь, сослужит мне хорошую службу, поскольку я лучше понимаю внутреннюю работу сборки.
Конечная цель для меня - разобрать мои собственные схемы регистрации и определить, насколько легко это может быть потенциально для «посторонних», которые могут попытаться взломать их, и по мере того, как я поправляюсь, я надеюсь сделать свои приложения более устойчивыми к таким атакам.
В OllyDbg при установке точки останова и переходе с помощью F8 я могу просматривать строки из стека памяти, как показано ниже в правом нижнем углу экрана:
Как вы можете видеть, выделено зеленым цветом, я ввел SOME NAME
в поле «Имя» и 123456789
в поле «Лицензионный ключ», и OllyDbg удалось показать это в том, что, как я предполагаю, является стеком памяти.
Можно ли это сделать в IDA, и если да, то как? Я попытался открыть как можно больше подпредставлений и отладить подвиды, но все же не вижу способа пройти через них и следить за строками в памяти. Есть ли в IDA окно стека памяти, как в OllyDbg?