OllyDBG的常识
作者&投稿:慈秒 (若有异议请与网页底部的电邮联系)
我觉得应该念 “欧(奥)力debug”或者“欧(奥)力dbg”
这个名字前半部来自于作者的名字Oleh Yuschuk (也就是人们熟知的Olly)
后半部分是debug的所有辅音字母
被调试程序加密了~有反调试机制~换个版本试试。或用strongOD插件试试
一、机械码,又称机器码.ultraedit打开,编辑exe文件时你会看到
许许多多的由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F组成的数码,这些数码
就是机器码.
修改程序时必须通过修改机器码来修改exe文件.
二、需要熟练掌握的全部汇编知识(只有这么多)
不大容易理解,可先强行背住,混个脸儿熟,以后慢慢的就理解了
cmp a,b 比较a与b
mov a,b 把b的值送给a
ret 返回主程序
nop 无作用,英文“no operation”的简写,意思是“do nothing”(机器码90)***机器码的含义参看上面
(解释:ultraedit打开编辑exe文件时你看到90,等同于汇编语句nop)
call 调用子程序
je 或jz 若相等则跳(机器码74 或0F84)
jne或jnz 若不相等则跳(机器码75或0F85)
jmp 无条件跳(机器码EB)
jb 若小于则跳
ja 若大于则跳
jg 若大于则跳
jge 若大于等于则跳
jl 若小于则跳
jle 若小于等于则跳
pop 出栈
push 压栈
三、常见修改(机器码)
74=>75 74=>90 74=>EB
75=>74 75=>90 75=>EB
jnz->nop
75->90(相应的机器码修改)
jnz -> jmp
75 -> EB(相应的机器码修改)
jnz -> jz
75->74 (正常) 0F 85 -> 0F 84(特殊情况下,有时,相应的机器码修改)
四、两种不同情况的不同修改方法
1.修改为jmp
je(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息
xxxxxxxxxxxx 出错信息,例如:注册码不对,sorry,未注册版不能...,"Function Not Avaible in Demo" 或 "Command Not Avaible" 或 "Can't save in Shareware/Demo"等 (我们希望把它跳过,不让它出现)
xxxxxxxxxxxx 正确路线所在
2.修改为nop
je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处
xxxxxxxxxxxx 正确信息,例如:注册成功,谢谢您的支持等(我们希望它不被跳过,让它出现,程序一定要顺利来到这里)
xxxxxxxxxxxx 出错信息(我们希望不要跳到这里,不让它出现)
五、爆破无敌口诀 背会此口诀,天下无敌,以后慢慢琢磨,仔细体会,收益多多。如此好的口诀,不要错过
一条(跳)就死,九筒(90)就胡 (对应上面的2.修改为nop)
一条(跳)就胡,一饼(EB)伺候 (对应上面的1.修改为jmp)
妻死(74)便妻无(75)
爸死(84)便爸无(85)
翁骂高锰: 一、机械码,又称机器码. ultraedit打开,编辑exe文件时你会看到 许许多多的由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F组成的数码,这些数码 就是机器码. 修改程序时必须通过修改机器码来修改exe文件. 二、需要熟练掌握的全部汇编知识(只有这么多)...
康平县15083064268: OllyDBG是干什么用的??
翁骂高锰: 编程工具,OllyDbg 是一种具有可视化界面的 32 位汇编-分析调试器.它的特别之处在于可以在没有源代码时解决问题,并且可以处理其它编译器无法解决的难题.
康平县15083064268: Ollydbg中的内存断点和硬件断点的区别 - ?
翁骂高锰: Embest IDE 当前版本中,断点设置为“自动“,即:不需要用户指定硬件断点/软件断点,IDE根据当前断点的位置(Flash/RAM)自动判断. JTAG方式下,不论软件断点,还是硬件断点,都需要目标CPU的硬件支持,实现方式基本相同. ...
康平县15083064268: OllyDBG 如何应用 - ?
翁骂高锰: 一、OllyDBG 的安装与配置 OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了.汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可: OllyDBG 中各个窗口的...
康平县15083064268: 谁能告诉我ollydbg的arg.2和local.2是什么用法 - ?
翁骂高锰: arg的作用是,容许你输入一段字符或者数字作为一个函数的参数LOCAL是定义局部变量用的.用这个关键字是为了让编译器给变量分配内存
康平县15083064268: OllyDBG 有什么用?
翁骂高锰: OllyDbg 是一种具有可视化界面的 32 位汇编-分析调试器.它的特别之处在于可以在没有源代码时解决问题,并且可以处理其它编译器无法解决的难题. 这有我朋友写的http://bbs.pediy.com/showthread.php?t=21284
康平县15083064268: 学习OllyDBG之前需要学习哪方面的知识? - ?
翁骂高锰: 汇编,Windows程序设计等等.很强大的工具.
康平县15083064268: 关于OLLYDBG的问题?
翁骂高锰: 这个是一个用户级专业调试器,就是调试程序
康平县15083064268: OllyDbg 是谁发明的,它有什么主要的作用 - ?
翁骂高锰: 作者:Oley Yuschuk 主页:home.t-online.de/home/Ollydbg 作者原话:Updated help, bugfix for right click, command-line plugin cam modify registers and memory.This is the last beta. If I receive no crash notifications, in a week it will be declared ...
康平县15083064268: ollydbg中loopd这条指令是什么意思?
翁骂高锰: 循环指令