Acid burn

查壳

拖入DIE,结果无壳、32位

image-20220718104701389

运行

弹框

单步-断点法

首先有一个弹框,通过断点-步入配合可以找到如图位置,这里有条件跳转,改成无条件跳转即可去除弹框

image-20220718162231144

image-20220720220537113

函数调用法

search for->search all intermodelar call找到messagebox,每个打断点,然后运行,发现在如图断点位置停住,往上找到当前函数开始位置,打断点,在栈中寻找函数的返回地址

image-20220720230735556

重新运行,断住后发现返回地址,go to这个地址,

image-20220720230958556

找到函数入口,可以修改红框处位retn,不让函数执行,copy executable->save file,去除弹框

image-20220720231113424

也可以继续往上找,找到单步-断点法那个位置。

左边按钮

主界面,点击Serial按钮,随便输入,点击check会有一个messagebox(try again),此时按f12中断程序,然后按alt+f9(execute till user code),然后在函数开始断,按alt+k查看调用堆栈(call stack)找到上一层。

image-20220720233019629

到达上一层,在ida中找到42FB32处,f5查看反汇编代码

image-20220721000007538

发现一处判断42FB03,对应去od找该位置,是jnz,下断,运行程序,断后改zf为1,运行,成功

image-20220721000228876

右边按钮

方法和左边按钮一样,这边ida的关键位置在42F4D5

image-20220721000634469

算法

待补充