查壳
拖入DIE,结果无壳、32位
运行
弹框
单步-断点法
首先有一个弹框,通过断点-步入配合可以找到如图位置,这里有条件跳转,改成无条件跳转即可去除弹框
函数调用法
用search for ->search all intermodelar call 找到messagebox ,每个打断点,然后运行,发现在如图断点位置停住,往上找到当前函数开始位置,打断点,在栈中寻找函数的返回地址
重新运行,断住后发现返回地址,go to 这个地址,
找到函数入口,可以修改红框处位retn ,不让函数执行,copy executable ->save file ,去除弹框
也可以继续往上找,找到单步-断点法那个位置。
左边按钮
主界面,点击Serial 按钮,随便输入,点击check 会有一个messagebox (try again),此时按f12 中断程序,然后按alt+f9 (execute till user code),然后在函数开始断,按alt+k 查看调用堆栈(call stack)找到上一层。
到达上一层,在ida中找到42FB32 处,f5查看反汇编代码
发现一处判断42FB03 ,对应去od找该位置,是jnz ,下断,运行程序,断后改zf为1,运行,成功
右边按钮
方法和左边按钮一样,这边ida的关键位置在42F4D5
算法
待补充
|