逆向之密码破解
逆向之密码破解
OllyDbg介绍
- OllyDbg的功能
OllyDbg提供程序动态调试的功能,可以在程序运行过程中修改汇编指令
- OllyDbg的转移指令
在利用OllyDbg分析程序的过程中, “转移指令”就是在程序判断符合特定条件的情况下使程序发生跳转。
“转移指令”通常是分析程序的突破口。
常见的转移指令
(1)无条件转移指令(长转移)
(2)条件转移指令(短转移,-128到+127的距离内)
(3)循环控制指令(短转移)
(4)中断指令
无条件转移指令
- JMP无条件转移指令
- CALL 过程调用
- RET/RETF过程返回
条件转移指令
(当且仅当(SFXOROF)=1时,OP1<OP2)
- JA/JNBE不小于或不等于时转移
- JAE/JNB大于或等于转移
- JB/JNAE小于转移
- JBE/JNA小于或等于转移
- JG/JNLE大于转移
- JGE/JNL大于或等于转移
- JL/JNGE小于转移
- JP/JPE奇偶性为偶数时转移
- JLE/JNG小于或等于转移
- JE/JZ等于转移
- JNE/JNZ不等于时转移
- JC有进位时转移
- JNC无进位时转移
- JNO不溢出时转移
- JNP/JPO奇偶性为奇数时转移
- JO溢出转移
- JS符号位为"1"时转移
循环控制指令
- LOOPCX不为零时循环
- LOOPE/LOOPZCX不为零且标志Z=1时循环
- LOOPNE/LOOPNZCX不为零且标志Z=0时循环
- JCXZCX为零时转移
- JECXZ ECX为零时转移
中断指令
- INT中断指令
- INTO溢出中断
- IRET中断返回
转移指令特性
- 转移指令特性
转移指令通常对应程序中的因果判断,循环判断等等逻辑结构,而这些结构对于一个程序的整体逻辑结构至关重要往往一个很小的判断语句就担负着程序执行方向的变化任务。
通过修改特定部分的转移指令,可以达到截然不同的执行效果,因此转移指令对程序的安全性起到很大的作用。
代码
愿路途漫长,以后莫失莫忘。 愿你不骄不躁,安稳顺心。
作者:菜鸟-传奇
本文版权归作者和博客园共有,重在学习交流,不以任何盈利为目的,欢迎转载。
敲敲小黑板:《刑法》第二百八十五条 【非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。