|
[求助]OD句柄后,如何断点
通过句柄是不能直接下断点的,提供一个参看做法:你可以拦截一下消息,在这个按钮的父窗口下消息断点看看。如果你不会,可以给我你的软件,我帮你。 |
|
[原创]进程中dll模块的隐藏
高手过招,看得我是眼花缭乱,佩服中。。。 |
|
[求助]找个汇编高手帮我分析一个程序,有报酬,不破解,只分析
我来试试,把文件发给我 |
|
[讨论]OD 2.01正式版快出来了,讨论一下插件开发
支持罗老师,我很喜欢OllyMachine,期待尽快见到新著,以便尽早学习。 |
|
[原创]为OllyDbg增添“内存硬件条件断点”功能(1)
感谢关注,但是,你知道这项功能在追踪过程中的作用吗?我期待着你的评价!!我感觉我做的工作插件解决不了的!!不恰当的比喻:插件给OD的手上放了一件工具,可以延伸OD的功能,我却给了OD一条小手,他和OD密不可分,它利用了OD能够被小手连通的部位。插件是隔着OD的衣服,我在OD的肌肉之内,差别仅仅如此。 |
|
[原创]为OllyDbg增添“内存硬件条件断点”功能(1)
[QUOTE=热火朝天;1013207]不错,有了想法就离成功不远了[/QUOTE 不是已经把附件放在网上了,下载的不多呀!真不知道还有多少人在使用OD,为啥?我可是下了功夫搞出来的,插件办不到的事情,我办到了!!! |
|
OD插件开发
请问,你想做什么事情?你把事情讲清楚具体一些,我也帮忙想想办法好吗? |
|
[原创]为OllyDbg增添“内存硬件条件断点”功能(1)
附件已经在第一篇帖子的回复中上传,请有兴趣者试用,不当之处望不惜赐教。顺便说一下,我本 人没受过计算机专业的系统教育,最好的也是最有价值的文凭是个计算机专业自学考 试专科文凭,也正是这个自学考试,BASIC、DOS、汇编语言等一系列的自学打下了一点基 础,我曾经为DOS中断下过功夫,但是无功而返,windows时代铺天盖地成了主流,win98是最 好的调试平台,可惜我没有看到罗云杉老师的的WIN32汇编教程,总是对窗口之类一头雾水,现 在,感谢看雪学院,给了我好多可以学习的东西,我想通过这篇帖子,一是叙述一下自己的做法, 如有不妥请高手大侠不惜赐教,更重要的我想给初学者提供一个样板,一个例子,如何开始调试, 当然这是解密的基本功,希望他们少走弯路,提高技能。由于我的专业知识不足,错误之处在所难 免,尤其是专业反方面欠缺一些,大家忍耐一下吧,但是我会尽一切可能,尽可能能的提供我认为 是较为“完美”的东西给大家,有时候叙述啰嗦,太菜了,请高手们见谅。言归正传,下面开工 了。 具体做法如下:使用工具OD、道具window自带的NOTEPAD记事本,为了避免 混乱,将OD所在文件夹copy一个副本,将副本中的OD换个图标,这一步不是必需的,但是这么做 了为后续的工作提供了便利,这个副本OD称为OD1,如何改造这个OD1呢?最拿手的还是使用 OD,真是那句话“以子之矛,攻子之盾”,现在是以子之矛,打造此矛,使其更加锋利。 运行OD,载入OD1,F9,使OD1跑起来,使用OD1,载入记事本,先别忙着F 9,我们不想调试记事本!要调试的是OD1,不要忘记。怎么会这么干?我想了:解密调试一个普 通软件,用OD载入,下断点、查API 、上百度查找API的用法等等,能用的功夫全都用 上,必然可以得到想要的东西,这个OD怎么弄?它本身是调试器,怎么调它?我没有别的办法,别 的也不会,就用OD来调试他自己吧,最初不知道行不行,但是试了一下竟然然成了,这要感谢OD 的作者,他没有拒绝调试,不像那个“XX游侠”,偶尔想开个玩笑查找个它本身的东西,他就说 “哼,大侠不吃这一套!",没有贬低的意思,我对这个东西十分佩服,该公司的系列产品我是大量 应用,当然都是免费的,该公司不因为免费就降低质量,而是兢兢业业,不断推陈出新,真是丽人 佩服呀。再说主题, 既然想给OD1增加条件硬件断点,当然需要在OD1的硬件断点设置部 分找到动手的地方。 目前有两个OD在跑,电脑的任务栏内有两个图标,为啥要更改OD1的图标,现在 明白了吧。点OD,来到DO1的领空,点OD1,来到的是NOTEPAD的领空,后续的工作需要不停 的在这两个领空切换,如果图标一样很容易混淆。OD1在哪部分处理硬件断点设置问题?武汉科锐 angelqkm的《OllyDBG分析报告系列》提供线索了, 00451CE3 . 6A 03 push 3 ; BreakPoint_Flag 00451CE5 . 6A 01 push 1 ; BreakPoint_Len 00451CE7 . 8B4D B0 mov ecx, dword ptr [ebp-50] ; 00451CEA . 51 push ecx ; BreakPoint_Addr 00451CEB . E8 A069FBFF call _Sethardwarebreakpoint ; \_Sethardwarebreakpoint 当然了,找到这段就不错了,下断点,跟踪,还会找到另一处更好的好地方: 00408690 >/$ 55 PUSH EBP 00408691 |. 8BEC MOV EBP,ESP 00408693 |. 81C4 24FDFFFF ADD ESP,-2DC 00408699 |. 53 PUSH EBX 0040869A |. 56 PUSH ESI 0040869B |. 57 PUSH EDI 0040869C |. E8 F36F0A00 CALL OllyDBG.004AF694;此代码已经改写为接口了,调用 添加的代码 004086A1 |. 90 NOP 为啥是个好地方,请看下文,408690是一个过程的入口,在此处F2设一断点,切换回到 NOTEPAD领空,来到数据窗口,选一位置例如01009010处,右键鼠标,设置硬件写入断点,你 发现了什么?在OD1的领空408690处断下了,观察CPU的各个寄存器,大有来头,例如: EAX 01009010;什么东西似曾相识?就是刚才在NOTEPAD数据窗口设 置硬件断 点的地方 再观察堆栈窗口,此时的ESP指向一个返回地址参考价值不大,忽略,从ESP+ 4开始都是 好东西,过程参数呀! 0012CA88 |01009010 ;NOTEPAD数据区断点地址 0012CA8C |00000004 ;断点长度4字节 0012CA90 |00000003 ;断点类型3,硬件写入断点, 这些好东西当然有用,要保存下来,为此在40869C处开口, 0040869C CALL 004AF694 004AF694是什么地方,要去干嘛?大家心知肚明,我要在此处添加代码,记下堆栈中的3个数 据,我还有设法弹出一个窗口,输入01009010处应该断下的数值,并设法影响OD1,让它只有 这个数值时可以断下,其他数值继续跑,这不就实现硬件条件断点的功能了吗? 这个想法没错,当然实现这个想法还有一段路要走,大家要记住的是,我找到了一个好地方,” “找到好地方”,定位到关键点,是从事解密工作不可缺少的一关,也是解密成功的关键,这是基 本功,否则一切都无从谈起。 |
|
[原创]为OllyDbg增添“内存硬件条件断点”功能(1)
先把附件放上来,回头再详细解释具体做法。用法:附件解压后放到你正在使用的OD所在文件夹直 接运行OD即可。本想把整个文件夹压缩后放上,但是附件太大帖子不接受按只好如此。照正常操作 在追踪代码时,在设置完内存硬件断点(访问、写入)时会弹出对话框,此时输入16进制数据例如 “23db5e6f"、" EF340068"等均是合法的16进制数,注意根据设置断点类型是字节、字、还是 双字,正确输入数值,不要加前后缀,16进制数以字母开头时,前面不加0,输入完按“确定”, 即完成添加条件设置,在弹出对话框时,直接按“取消”,就没有设置任何条件。为了区别原版我 用eXescope换了一下图标,这些图标均取自OD本身,不足之处欢迎提出宝贵意。 |
|
[原创]为OllyDbg增添“内存硬件条件断点”功能(1)
对不起大家,排版太菜了,我也不会写插件,用的是直接在OD上面增加代码的方式 |
|
[原创]打造自己的反汇编引擎——Intel指令编码学习报告(七)
好的,学习中。。。 |
|
[求助]弱问跪求高手指点破解入门小疑惑!
买本好书《 加密与解密(第三版) 》,照葫芦画瓢,绝对是学破解的“捷径”,我就是这样学的。。。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值