【发布时间】:2016-05-23 02:53:51
【问题描述】:
我正在对一个在 GDB 中没有调试符号的 c 程序进行逆向工程。它要求输入一个特定的 1-15 位密码,并告诉您它是否正确。我的目标是找出这个密码是什么。
我很难找到我猜测的密码与正确密码的比较。我认为会有所帮助的一种方法是找到将我的猜测加载到寄存器中的任何地方。
那么关于我的问题,是否可以检查并查看是否将特定值加载到任何寄存器中?
例如,我可以使用 watch $rax == 1234 对单个寄存器执行此操作,但我想对每个寄存器执行此操作。
【问题讨论】:
-
我不认为有一种方法可以同时检查所有通用寄存器的特定值,但你可以像 $rax == 1234 || 这样组合$rbx == 1234 || rcx == 1234 || rdx == 1234 ...
标签: debugging gdb reverse-engineering