【发布时间】:2015-12-11 01:34:23
【问题描述】:
我编写了一个简单的注册程序,它需要名称和许可证密钥才能获得成功消息。编码的解决方案只是希望两个字段都区分大小写,名称字段必须是 Admin,许可证密钥必须是 TopSecret,两个字段必须匹配才能成功。
这当然没什么复杂的,永远不会在现实世界的应用程序中使用,但由于我几乎是组装和逆向工程的初学者,这有望为我提供良好的服务,因为我对如何了解内部工作原理有了更多的了解组装工作。
我的最终目标是分解我自己的注册方案,并确定它对于可能尝试破坏它的“外人”来说是多么容易,并且随着我变得更好,我希望让我的应用程序更强大,以抵御此类攻击.
在 OllyDbg 中,当设置断点并使用 F8 跳过时,我可以从内存堆栈中查看字符串,如下所示屏幕右下角:
正如您所看到的以绿色突出显示的那样,我在名称字段中输入了SOME NAME,在许可证密钥字段中输入了123456789,OllyDbg 已经设法在我假设的内存堆栈中显示了这一点。
是否可以在 IDA 中执行此操作,如果可以,如何操作?我已经尝试打开尽可能多的子视图和调试子视图,但我看不到一种单步执行和注意内存中字符串的方法。 IDA 中是否有和 OllyDbg 中一样的内存堆栈窗口?
【问题讨论】:
标签: reverse-engineering ida ollydbg