找回密码
 立即注册

QQ登录

只需一步,快速开始

1401软件论坛总版规【新人必看】如何正确发布收费帖子加入vip系统学习仅需498元免费获得1401软件安全论坛vip开通本站VIP会员请联系QQ 564853771
论坛纪念优盘Beyond EXE超强加密器V1.61401论坛破解工具包 2017-9-12[破解班vip]入门篇[破解班vip]基础篇
[破解班vip]脱壳篇[破解班vip]实战篇[破解班vip]网络验证篇[破解班vip]零基础HOOK教程[破解班vip]零基础易语言入门
[破解班vip]零基础c语言入门[破解班vip]零基础Delphi编程入门[破解班vip]寒假培训课程共7课[破解班vip]破解提高篇[破解班vip]易语言培训课程
[破解班vip]核心技术培训篇[破解班vip]pe格式与pe操作[破解班vip]2022全新封包-山寨-爆破全系列[原创课程]c++单文档框架课程[逆向班vip]汇编语句与反汇编基础
[逆向班vip]全自动扫雷辅助[逆向班vip]手机模拟按键[逆向班vip]植物大战僵尸辅助广告位招租...付费破解软件 +Q 564853771
查看: 3171|回复: 0

【OllyDBG常见问题】

[复制链接]
  • TA的每日心情
    开心
    2016-12-31 19:24
  • 签到天数: 148 天

    [LV.7]常住居民III

    335

    主题

    380

    回帖

    1693

    积分

    版主

    【KingSolomon】

    UID
    972
    元宝
    340
    威望
    458
    贡献
    19
    信誉值
    0
    精华
    17
    在线时间
    179 小时
    注册时间
    2014-5-16
    最后登录
    2017-1-4
    违规
    0
    积分
    1693

    最佳新人活跃会员热心会员灌水之王论坛元老吾爱富翁工具大师已有小成

    QQ
    发表于 2014-5-25 22:33:25 | 显示全部楼层 |阅读模式
    Ȧ
    这些最基本的东西如果反复咀嚼的话会产生很微妙的反应,希望鱼油们共同进步
    Q: OD中如何运行到光标所在处?

    A: 将光标移到目标位置,按F4.


    Q: 如何用OD修改可执行程序?

    A:直接在反汇编代码区更改,这时可以使用汇编代码更改,然后选中修改后的汇编代码,右击-->复制到可执行文件-->保存文件.


    Q:OD中的代码乱码,如:

    004365E0 >db 68 ; CHAR 'h'

    004365E1 >db A4

    004365E2 >db 7A ; CHAR 'z'

    004365E3 >db E5

    004365E4 >db B8

    004365E5 >db E8

    004365E6 >db BB


    A:OD右键,"分析/从模板中删除分析",如不行,按Ctrl+A重新分析



    Q:OD为什么删除了断点,重新加载的时候,这些断点都会重新出现

    A:设置ollydbg.ini,将配制文件里改成如下:Backup UDD files=1 (by kanxue)


    Q:如何还原到OD到分析前的状态?

    A:右键 分析/从模块中删除扫描


    Q:什么是UDD?

    A:OllyDbg 把所有程序或模块相关的信息保存至单独的文件中,并在模块重新加载时继续使用。这些信息包括了标签、注释、断点、监视、分析数据、条件等等


    Q:OD的数据窗口显示一个下划线,是什么意思?

    A:重定位加下划线[Underline fixups],几乎所有的DLL和一部分程序都包含重定位,这样就可以在内存中的不同基地址加载模块了。当该项开启时,CPU反汇编窗口或CPU数据窗口中的重定位地址都将添加下划线。(xing_xsz)


    Q:如果已经知道某一CALL的具体作用,能否把后面所有相同的CALL都改成函数名形式?

    [hide]A:比如 CALL 110000 此中已经知道110000是一个核心计算

    则如下操作,让光标停在CALL 110000 这个语句上,按回车键

    会跳到110000的地址上去显示,之后让光标停在110000上,按

    shift 和; (分号) 其实就是完成一个冒号)的动作,输入

    名称,这回所有的调用110000处,都会显示CALL 你刚才输入的

    名称了.(nig回答)


    Q:用OD调试一些加壳程序,如Themida等,可能你会发现下断后(包括硬件断点),程序跑到断点时,OD会出现假死现像。

    A:打开OD配置文件ollydbg.ini,你会发现:Restore windows= 123346 //这个Restore windows可能会是一个很大的值

    现在只需要将Restore windows=0,重新用OD调试程序,假死问题就消失了。 (kanxue)


    Qllydbg中如何调用pdb文件?

    A:

    pdb文件是VC++调试编译生成的文件。由编译器直接生成。

    pdb文件要配合源文件使用。不同的源文件pdb文件不同。

    用OD装入可执行文件后,点击CPU窗口中的注释段可出现源码。

    不过不是所有的源码都可以显示的。VC++6.0以下都可以显示。

    还有一种不显示的原因是缺少路径。点击OD主菜单的[查看]->[源文件]

    如果[源码]段出现(缺少)字样的话,说明此路径的源码是看不了的。设置正确的路径就可以了。

    (nantz回答)


    Q:运行A.exe,其会调用B.exe,如果用OD再附加B.exe,OD会死掉

    A:

    1.OD菜单,设置OD为即时调试器;

    2.将B.exe的入口改成CC,即INT 3指令,同时记下原指令

    3.运行A.exe,其调用B.exe,会导致异常,OD会自动启动加载B.exe,此时你将INT 3指令恢复原指令。

    4.到这步,你己可以任意调试B.exe了(kanxue)


    Q:用ollydbg调试的时候,断住kernel32.dll系统函数,然后”执行到用户代码“,就可以回到被调程序的代码。但有时候却回不来,不知道这又是为什么?

    A:

    多半是杀毒软件(如卡巴对LoadLibraryA)Hook API入口代码进入ring 0了,OllyDbg不能单步跟踪,这种情况下只要看堆栈返回地址,在返回地址上下端点,F9执行就可以了。(cyclotron回答)


    Q:OD的“复制可执行文件”后面没有 “所有修改”的菜单

    A:OD识别代码段范围失败后, 没有复制all modifications的选项, 因为这个是复制代码段内的修改的。(曾半仙回答)


    Q:OD里的patch窗口怎么用?

    A:patch窗口用来保存你在调试的程序中修改过的代码的。比如你前面调试了一个程序,在OD中把某处的JE改成了JMP,OD会在patch中记录这个修改,你下次再重新载入程序时,就能在OD的patch窗口中看到你原来改动的代码。按空格键就可以激活patch,就是在OD中还把原来位置的JE改成JMP。这个只是在OD中作更改,并没有实际保存到文件,主要是比较方便在OD中修改程序时测试。(CCDebuger回答)

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|1401软件安全 ( ICP备16034480号 )

    GMT+8, 2024-5-2 13:26 , Processed in 2.013322 second(s), 26 queries , Gzip On.

    Powered by Discuz! X3.5

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表