逆向工程核心原理学习笔记(十二):分析abex' crackme #1
2017-04-28 22:42
302 查看
程序下载地址:http://t.cn/RX1wpX7
我们首先运行一下,看看提示什么:
我们初步推测,这个程序应该是判断磁盘是否运行在一个CD-ROM上。
为了验证我们的推测,我们拖进OD看一下。
我们现在可以划重点了:
这个重要的跳转是信息框提示什么内容的关键。
我们可以直接修改,将je改成jmp
补充一下汇编的知识:
push 入栈命令
call 调用指定位置的函数
inc
值+1
dec 值-1
jmp 无条件跳转到指定地址
je 条件跳转指令,若ZF为1,则跳转
cmp 比较两个操作数,若值相同,SUB结果为0,ZF被设置为1
我们保存我们修改的程序:
测试下效果:
破解成功!
我们首先运行一下,看看提示什么:
我们初步推测,这个程序应该是判断磁盘是否运行在一个CD-ROM上。
为了验证我们的推测,我们拖进OD看一下。
我们现在可以划重点了:
这个重要的跳转是信息框提示什么内容的关键。
我们可以直接修改,将je改成jmp
补充一下汇编的知识:
push 入栈命令
call 调用指定位置的函数
inc
值+1
dec 值-1
jmp 无条件跳转到指定地址
je 条件跳转指令,若ZF为1,则跳转
cmp 比较两个操作数,若值相同,SUB结果为0,ZF被设置为1
我们保存我们修改的程序:
测试下效果:
破解成功!
相关文章推荐
- 逆向工程核心原理学习笔记(十二):分析abex' crackme #1
- 逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈
- 逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈
- 逆向工程核心原理学习笔记(二十六):abex'crackme #2 name的存取
- 逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解
- 逆向工程核心原理学习笔记(二十四):abex'crackme #2 初探
- 逆向工程核心原理学习笔记(二十七):abex'crackme #2 破解算法
- 逆向工程核心原理学习笔记(二十):栈帧7:删除函数add()的栈帧&函数返回
- 逆向工程核心原理学习笔记(三):检索API方法
- 逆向工程核心原理学习笔记(十):IA-32寄存器基本讲解
- 逆向工程核心原理学习笔记(二十一):栈帧8:删除函数add()的参数(整理栈)
- 逆向工程核心原理学习笔记(十八):栈帧5:设置add()函数的局部变量(x,y)
- 逆向工程核心原理学习笔记1-通过IAT手工定位notepad.exe中的导入函数
- 逆向工程核心原理学习笔记(六):实战开辟新内存区域写入缓冲区跳转修改字符串
- 逆向工程核心原理学习笔记2-基址重定位基本原理
- 逆向工程核心原理学习笔记(二十三):栈帧10:设置返回值,删除栈帧&main()函数终止
- 逆向工程核心原理学习笔记(七):总结
- 逆向工程核心原理学习笔记(二):字符串检索法查找main函数
- 逆向工程核心原理学习笔记(十九):栈帧6:ADD运算
- 逆向工程核心原理学习笔记(三):检索API方法