|
[求助]初次发帖!HR 0012ffc0 断不下来
ESP定律不是机械定律,也并不对所有的壳都适用。 你这个壳如果PEiD查不出的话,应该是个私壳,哪能那么简单让你脱掉。 脱壳并不是一件简单的事情,所谓技巧也都是在明白壳的机理的前提下 如果你连原理性的东西都不明白,何来所谓“技巧”性的东西? 建议: 1.更新一下PEiD,看是否能查 2.使用其它查壳工具,如language2000,fi等 3.如果真查不到壳的类型,你又非分析这个程序不可,那就好好学习一下壳的基础知识,找一些教程,看明白了,真明白了,然后手脱吧。 祝你好运。 |
|
|
|
[已解决]关于OD数据窗口设置的一个问题
不明白你的 “地址——值——注释”是什么意思, 什么值,什么注释。 是不是指用十进制方式显示数据啊。如果是的话,你在数据窗口点右键,会有各种不同格式选择,选择自己需要的就行了。比如长整型有符号数等。 题外话:一般最常用的都是16进制格式的,所以默认是按16进制显示的。 对了,你说的是不是显示为反汇编格式啊?? |
|
[求助]求助!登陆蓝屏。。。
可能的情况 1.你用过所谓“优化”软件“优化”过系统,或使用所谓“精简”版,“特别”版系统,强制取消了开机的磁盘检查。 2.强制关掉电源,致使系统文件损坏,因而加载驱动时发生BSOD 3.系统中毒,有某恶意驱动在系统引导时加载搞的破坏。 4.强制断电致使硬件损伤(这种可能性微乎其微,除非你用的是台老爷机) 另外,spant.exe应该是spant.net开发的安全工具。 |
|
[求助]請問od如何使ESP==某值時中斷
楼上的算说对了一小点,但没说到点子上。 楼上没有理解楼主的问题,说的是脱壳的“esp定律”,答非所问了,呵呵。 你下hr 0012FFA0,是在0012FFA0处下硬件访问断点,也就是当访问内存地址0012FFA0时产生中断。 首先,如果不通过esp,而通过其它方式访问该地址,比如该地址是一个局部变量,也会产生中断。 其次,如果esp赋值但并不访存,是不会产生中断的,举例:假设esp = 0012FFA8,执行sub esp, 8指令后,esp的值已经是0012FFA0了,但并不中断。只有此时执行pop指令,或其它访问0012FFA0处变量的指令,才会触发断点。 我来回答楼主的问题。 楼主要的问题是监视一个寄存器(比如eax,或esp等)的值,这不能通过OD的通常的“断点”功能来实现,而是叫做“跟踪”功能。 跟踪可以实现此功能,但一般来说跟踪会比正常执行慢几个数量级。如果程序需要执行很久才能满足条件,或者根本不能满足条件,那么跟踪是不会停下来的,只能手动停止。 跟踪的办法,在OD中按CTRL+T,便会打开跟踪窗口,在“条件为真”(condition true)那里写上 esp==0012FFA0,点确定便开始跟踪了。 还有一种方法,是使用命令tc esp==0012FFA0,关于其它跟踪命令,请查看命令手册。 PS. 我回答的问题是不是楼主想要问的? 如果理解错了,请把问题重新描述一遍。 |
|
《天书夜读》与《寒江独钓》免费试读与勘误专贴
所谓懂行的不嫌贵,不懂行的也根本不知道贵与不贵。 另外,你的问题根本没问到点子上。 这本书不是汇编汇编语言的入门书,它是驱网的高人写的,自然主题是内核技术。 而汇编语言,是为了调试内核所必须掌握的。 这书不是讲用汇编语言编程,而是教你如何读懂大篇的汇编指令的意思,因为调试内核只能对着汇编指令,基本不可能从源码级调试。 |
|
|
|
[求助]OD 如何断点在 VB 软件的 Form.Caption
看下这篇文件有没有用。 我这里网页打不开,这是谷歌的缓存的。 http://203.208.39.99/search?q=cache:5DfNle4uPZ4J:tim37021.wordpress.com/2008/01/29/%E5%A6%82%E4%BD%95%E4%BF%AE%E6%94%B9-vb-%E7%A8%8B%E5%BC%8F%E5%AD%97%E4%B8%B2/+%E4%BF%AE%E6%94%B9VB&hl=zh-CN&ct=clnk&cd=7&gl=cn&st_usg=ALhdy28lwLAZl65yMxjWc-rZFim43vUqOA |
|
[求助]OD 如何断点在 VB 软件的 Form.Caption
说实话,VB的东西有它自己的一套结构,并不采用标准的对话框资源等。 如果GetVBRes不行,我记得不有一个VBLocalize的工具,不过这个没用过。 另外,我想起一个可能有用的事,VB里的字符串可不是C风格的以0结尾的字节数组 首先,VB用的是宽字符 其次,VB是弱类型的语言,所有数据类型都被转化为Variable类型(是叫这个名吧,记不清了,可以看看COM的书),所以直接修改字符串的方式是行不通的。 至于VB资源格式的解析,我没有找到公开的文章,但从VBExplorer等工具可以说明一定有人掌握了VB的资源解析。用VBExplorer甚至可以像VB开发环境那样有属性框等,不过我试了后发现不能保存。 如果能找到该软件的作者就好了。 |
|
[求助]请问哪里有PE格式下载的
http://www.pediy.com/Document.htm 以后遇到问题先自己试试搜索。 有微软文档说明,还有一个图解的,非常好,感谢rgbsky。 中文翻译的文档在论坛的资料区自己找。 |
|
[求助]关于OD怎么查找在按钮处下断点
笨办法就是下消息断点,但不一定对所有程序好使,因为有些程序使用“非标准”方式处理消息分发的过程。 如果被调试的是特殊的程序,比如Delphi,Borland C++ Builder,VB,那么就不必使用笨办法,而可以直接用专用工具分析它的结构,可以直接得到类似 OnBtnClk()这样的函数的地址,直接到那个地址下断点就行了。 |
|
[求助]怎么导出Ollydbg当前调试的进度
哈,你说的问题我理解,来说说 首先,你应该知道udd文件和被调试的文件名应该一样,比如a.exe对应a.udd文件 其次,你用UltraEdit打开一个udd文件,就会看到它的文件头部有什么内容了。 最开始是文件类型描述版本号等,下面会有程序的完整路径,比如 d:\debugee\unpacked.exe 最后,我试验成功的是程序移动功改名后,完整路径比原来短,先把udd文件名更正(如果程序改名的话),然后编辑udd文件,修改其中的路径,因为新路径比原来短,所以空下的地方用00补足。 好了,载入程序进行调试吧。 ps.据我猜测,OD应该会对程序进行其它校验,比如文件大小,或校验和等,而不仅仅是检查路径是否相符。所以如果你的程序修改过了,文件名还相同,那么再次载入时OD就会认为udd文件已经无效,会创建新的udd文件,则你以前的分析就会丢失。 所以在修改过程序后,一定要记得改名,比如加个_patched等等,防止以前的成果丢失。 个人经验,希望对你有所帮助 |
|
[求助]请问用od打开文件后要干嘛
如果你连OD是什么,干什么用的都不知道,就不要想要动手开始调试,要先学学软件开发和调试的基础知识。 如果你连程序都没写过,更不谈调试,那就暂时先不要搞逆向分析。 不会写程序你分析别人的程序,基本不可能。 |
|
[求助]请问在判断程序是否运行的地方,如何下断点?
如题如题,你题目就根本没说清楚。 你是要寻找什么关键代码,要在程序干什么的时候把它断下来,你详细说说。 问题说不清楚,就难有人来给你解答。 提问一定要把问题说清楚,啰嗦不怕,就怕太简略。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值