首页
社区
课程
招聘
[旧帖] [下载]OllyDbg 2.0 0.00雪花
发表于: 2008-8-12 12:57 32930

[旧帖] [下载]OllyDbg 2.0 0.00雪花

2008-8-12 12:57
32930
Last update: May 24, 2008

The last available version can be downloaded here. Don't expect too much, use v1.10 for serious work. Don't send me requests for features already available in v1.10. Please report only serious bugs and crashes. And, of course, new ideas are always welcome!

May 24, 2008
Internal emulation of simple commands (Options|Run trace|Allow fast command emulation) has made run and hit trace 15 (fifteen!) times faster. On my Athlon 4000+, standard run trace executes 35000 commands per second. With the emulation on, OllyDbg traces 500000 commands! For simple programs, this may be close to the real-time execution - in the step-by-step mode, with the full protocolling.
Emulation covers only the small subset of 80x86 commands - moves, PUSH/POP, arithmetical and boolean operations, comparisons, shifts, jumps, calls, returns and LEAs. No multiplications, prefixes, loops or string operations, no FPU or MMX; still, OllyDbg passes to the application less than two percents of commands.
Frequently one uses run trace together with the run trace condition, like: "stop trace when EAX==0x123456". Up to now, the inetrpreter parsed conditional expression on each step. However, this was too slow for the accelerated trace. Now I compile expressions to the simple pseudocode and use a very quick interpreter to estimate the condition. As a result, the above comparison is processed in only 130 nanoseconds. Not bad!
Oh yes, and command help now includes the string commands, too.

May 8, 2008
Improved and bug-fixed debugging engine. Help on all 8086 commands, except for string manipulations.

April 19, 2008
Pre-alpha 5: hit trace! Maybe you have tried to use hit trace in the version 1.10, only to discover that it doesn't work with non-trivial programs. Hit trace in version 2 is different: instead of replacing all recognized commands with INT3, I set breakpoints dynamically on all non-processed branches. It seems that 20-30 thousand breakpoints is not a problem for the new debugger. Also in this release: just-in-time debugging, command line, several bugfixes. Help on command is ready for all non-SSE/non-FPU commands till LEA.

March 11, 2008
Pre-alpha 4: name lists, search for text strings, floating-point constants and intermodular calls, run trace conditions, syntax highlighting (but default colours are not yet set), pause on thread, names of the arguments on the stack etc. The analysis of large modules is much faster now.

December 25, 2007
Pre-alpha 3: many different features like attaching to running process, detaching, run trace (as yet without fast stepping), real-time stack analysis, recognition of TLS callbacks, guarded memory, intermodular calls etc. Look at the comment column in the list of calls - you will enjoy it!

October 20, 2007
Removed 5 bugs; strongly improved functionality of existing windows; reduced number of false switches

October 09, 2007
First buggy pre-alpha code

--------------------------------------------------------------------------------

October 11, 2007 - First bug reports

Shame on me! In only one day, I have received 15 bug reports related to the v2.0 pre-alpha code! Most of them concentrate around the protection violation at address 477AC3 (a more or less obvious bug), but there are also other crashes reported. What should I say? Thank you! Without your steady help, OllyDbg 1.10 would never reach its actual quality. Hopefully, in some time second version will reach at least the same standards... Anyway, in the couple of weeks there will be update here. And - thank you again! Please keep it this way!

--------------------------------------------------------------------------------

October 09, 2007 - Pre-alpha version

The child is big enough to show it to the public, so download this and have a look. Is this version functional? Yes. Is it better than 1.10? Definitely not. Is it better than v1.00? In some aspects - maybe, but in general - no. Can you use it for debugging? Yes, but you will miss many, many features... So please don't be too critical and send me no emails - this version is not even a full-featured alpha, and will change dramatically in the next several weeks or monthes. But in the case that OllyDbg will crash and generate errorlog.txt, be kind and do send me this file - I will need it for debugging. And now - enjoy!

--------------------------------------------------------------------------------

July 08, 2007 - UDD files

Now OllyDbg 2 can save analysis data to the .udd files. Comparing to the previous version, they are very big - two to three times larger, mainly due to the register predictions. For almost every command I keep ESP and EBP relative to the entry point. Many modern compilers don't use standard stack frames; instead, they address all arguments and local data over ESP. Predictions allow to decode the meanings of ESP-related offsets. They are also very helpful when tracing the call stack.

It takes significant time to load such a huge amounts of data. First version took between 0.1 and 0.7 seconds per module. With full analysis of all modules requested (and this will be the default option), startup took several seconds on my Athlon 4000+. Now, after several days of deep optimizations, this time got three times shorter.

--------------------------------------------------------------------------------

June 03, 2007 - Development continues

The progress in the last two weeks is enormous. List of Extremely Important Things To Do got five items shorter. But news of this kind are roughly equivalent to the summer headlines in the newspapers; now I want to tell you something different.

While testing MinGW compiler, I wrote a small console application:

   int main() {
     MessageBox(NULL,"I'm a little, little code in a big, big world... Hello, world!",
       "Hello, world",MB_OK);
     return 0;
   }

Highly optimized release version of this code looks this way:

MinGW reserves space on the stack and moves arguments instead of pushing. But note the following: The order of arguments for MessageBox() is hOwner, Text, Caption, Type. MinGW has changed this order; still, OllyDbg 2 was able to recognize the arguments.

MinGW (in fact, GNU) is an excellent compiler, its only weakness is that many exotic APIs are not yet in the headers.

That's all for this time, bye!

--------------------------------------------------------------------------------

May 18, 2007 - Happy birthday, Version 2?

What is the birthday for a program? The day when it becomes useful for the first time. Today it happened. I have finished the debugging engine.

Well, not really. There are no memory or hardware breakpoints yet. OllyDbg can only set single-step traps and INT3 breakpoints, and run trace is not yet implemented. But all this is unimportant. I can step in and over, set conditions and log results; in brief - OllyDbg 2.0 has become a DEBUGGER. On such happy event, everybody wants to have a look on the newborn - here is a full-size picture:

The baby is almost new and can't take a walk, and it is very weak. This means, you must wait a bit longer till doctors will allow you to take it into hands. In my ToDo list, there are more than twenty items of priority AAA+ - Things To Be Done Before One Is Allowed To Even Wonder About Alpha Release, like:

precompiled table of known functions as resource;
recognition of functions that play with return address on the stack (like allocation of huge local data) - important, because a lot of sensible analysis depends on it;
comment operands of assembler commands - currently it's just a stub without intellect;

save data to .udd file;
on-line analysis of stack data;
copy modifications to executable file;
and so on, and so forth. So be patient, as ever :)

--------------------------------------------------------------------------------

April 17, 2007 - Command search.

Finally I have finished the command search module. Basically, you supply a pattern, like XOR EAX,EAX, and OllyDbg locates all such commands in the memory block. Version 1.xx already featured this, but in a very limited form. For every supplied pattern, old program created the set of code/mask pairs and compared them with the binary code. This approach is simple and quick but features several drawbacks that strongly limited its usefullness. For example, if command is expected to have several prefixes, one must create models for any combination. But the main problem was that code/mask approach was unable to handle memory addresses. x86 addressing model is extremely complex and inhomogeneous, with many exceptions from the regular pattern. Let's take, for example, MOV EAX,[EBX]. There are 16 (sixteen) different binary encodings:

   8B03            - the simplest form
   8B43 00         - form without SIB with 1-byte zero displacement
   8B83 00000000   - form without SIB with 4-byte displacement
   8B0423          - form with SIB byte without scaled index
   8B0463          - same
   8B04A3          - same
   8B04E3          - same
   8B4423 00       - SIB byte, 1-byte displacement, no index
   8B4463 00       - same
   8B44A3 00       - same
   8B44E3 00       - same
   8B8423 00000000 - SIB byte, 4-byte displacement, no index
   8B8463 00000000 - same
   8B84A3 00000000 - same
   8B84E3 00000000 - same
   8B041D 00000000 - SIB byte, 4-byte displacement, scale 1, no base

Amazing, no?.. All attempts to reuse the old concept in the new OllyDbg version were in vain, so I was forced to throw it away. New model consists of the opcode, list of prefixes and  packed description of operands. Search routine disassembles executable code and compares result with the model. Due to the very fast disassembler, this approach is almost as fast as the old one, but unbelievably flexible!

New search supports more pseudoelements than in the previous version:

   R8        - any 8-bit register
   R16       - any 16-bit register
   R32       - any 32-bit register
   REG       - any general register (size is not important, assumed R32 in address)
   RA,RB     - semi-defined 32-bit registers
   SEG       - any segment register
   FPUREG    - any floating-point register
   MMXREG    - any MMX register
   SSEREG    - any SSE register
   CRREG     - any CR register
   DRREG     - any DR register
   CONST     - any constant
   ANY       - any operand or memory address (size is not important)

MOV ANY,ANY, for example, matches any MOV command:

MOV [ANY],ANY - all writes to the memory, dependless on the size:

Note that 16-bit address is included into the list. As you probably know, Windows reserves first 64 K of the process's memory as a trap for the NULL pointers, so flat-mode 16-bit access has no chances, with one important exception. Selector FS points to the thread's data block that keeps thread-dependent information available to the application.16-bit version is 1 byte shorter than its 32-bit countrepart (but may execute longer due to the additional prefix). By the way, first doubleword in TDB is the pointer to the Structured Exception Handling chain that implements try-catch constructs. It's easy to find all SEH chain changes with the single search for MOV [FS:ANY],ANY:

Search for XOR RA,RA finds all commands that zero some register by XORing:

whereas XOR XA,XB - cases where XOR just manipulates bits:

JMP [R32*4+CONST] will find table jumps, LEA RA,[RA*5] - fast multiplications of 32-bit register by 5 (of course, in reality this means [RA*4+RA]), and so on.

Oh, and I'm curious, how useful will you find this feature:

That's all for now, bye!

--------------------------------------------------------------------------------

February 24, 2007 - Progress.

The development of version 2.0 goes steadily forward. In the last three monthes I have written more than 350 K of debugged code. Backup, search, jumps, history, conditional expressions, watches, Assembler - all the stuff necessary for productive work. And - for the first time, 2.0 has paused on the breakpoint!

Yes, this is a big step. This means that the infrastructure is ... well, not yet completed, but is already so stable that it can support complex high-level functions. When I browse through the sources, I'm full of pride that the code is so well-structured, logical and clear. Unfortunately, this was not the case with 1.10. Initial design had several flaws - in 2000, I had no experience and was unable to foresee the requirements of the final version. Every small modification required significant efforts and lengthy testing. So finally I've decided to close the project and rewrite it almost from the scratch.

The first steps of any redesign are very hard psychologically. Maybe you've experienced similar problems - you write loads, heaps, piles of code, but your project is almost dead. All it can is some primitive stuff, like it was in my case - disassembling of several hardcoded binary sequences, dumps of memory blocks at fixed addresses, provisorical code and debugging outputs everywhere, and next to this garbage there is your old version, five years of successfull development, maybe also full of trash inside but at least functional and with shiny storefront...

Anyway, I'm past this stage. OllyDbg 2.0 lives, and it makes plenty of fun again to develop. You've waited for so long - so be patient, please, and sooner or later I'll introduce you my promising younger son :)

--------------------------------------------------------------------------------

November 12, 2006 - Analyser.

Almost two years are gone since the last update of this page. But you don't forget me. The counter has crossed the magic limit of 1,000,000 impressions. So I feel me a bit ashamed and now will try to make up for your patience. Starting from now, every two or three weeks I will inform you here about the actual state of my work.

I'm frequently asked: "What happened to OllyDbg 2.0? Why is it not here?" Well, it is mostly my immanent laziness and, to lower extent, lots of other tasks and projects that have stopped the development of the second version. Nevertheless, it is not dead. In the last month I wrote more than 100 K of code, and now want to show you some highlights of the future version, mainly its new powerful analyser.

Despite highly complex features, like full code prediction, new version is significantly faster than its predecessor. But speed does not influence the quality of recognition. See, for example, how many calls were decoded by old OllyDbg in a large 3-MB application:

and by new:

Impressive, isn't it? Note that list of known functions in v2.0 currently includes only three system DLLs.
New version has strongly improved prediction of registers (especially ESP) and stack contents:

is able to recognize and decode register variables:

functions with variable number of arguments, like formats:

and cases when parameters are copied, rather than pushed, to the stack:

It determines loop variables, i.e. registers or memory items that change by the same amount on each loop iteration:

To help user, it even can rename and change decoding of arguments in some argument-depending cases:

New Analyser features also more reliable distinguishing between code and data. All in one, when OllyDbg will be ready, it will make debugging easier and understandable... I hope.

Part two will come in a couple of weeks. Bye

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (31)
雪    币: 261
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
先来坐个沙发先!
2008-8-12 13:12
0
雪    币: 4419
活跃值: (894)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
下来看看哈`````````````````
2008-8-12 13:54
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
问个弱智的问题,这个版本的没有命令窗口,该怎样下断点啊!!!!
2008-8-12 14:20
0
雪    币: 317
活跃值: (93)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
5
还是不支持插件,没有意思!
2008-8-12 14:33
0
雪    币: 194
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
命令行工具好像是通过插件实现的。
2008-8-12 15:19
0
雪    币: 175
活跃值: (2326)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
应该还不是正式版吧。
2008-8-12 19:43
0
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不错 希望早日汉化 并且要能在里面使用插件就更好了
2008-8-12 20:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
Last update: May 24, 2008
2008-8-12 20:53
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
10
插件估计要到正式版出来才有,现在都是在专心收集OD2.0本身有什么BUG
2008-8-12 20:54
0
雪    币: 201
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
有待汉化,没有插件
2008-8-12 21:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
还英文版 的。俺记不清楚。
2009-7-18 22:33
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
这个版本不向下兼容插件。。。感觉就象缺胳膊少腿一样!
2009-7-29 17:21
0
雪    币: 1753
活跃值: (840)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
14
没汉化,没插件
2009-7-29 19:30
0
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不知何时才有汉化版出来?支持插件,就好了。
2009-7-29 21:41
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
支持一下,谢谢分享。
2009-8-17 16:31
0
雪    币: 204
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
罗聪的ultratext不知道能不能在2.0上用
2009-8-21 09:01
0
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
先不下了等待正式版的
2009-8-21 09:11
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
最后更新: 2008年5月24日

最后一个可用的版本可以在这里下载。不要期望太多,使用v1.10的认真工作。不要给我要求的功能已经可以在v1.10 。请仅报告严重错误和崩溃。 ,当然,新的想法总是欢迎您!

2008年5月24日
内部仿真简单的命令(选项|运行追踪|允许快速指挥仿真)已运行和打击痕量15 ( 15 ! )倍的速度。我的速龙4000 + ,标准执行追踪执行命令每秒3.5万。随着仿真, OllyDbg痕迹500000命令!简单的程序,这可能是接近实时执行-在一步一步模式,充分protocolling 。
仿真只包括很小的子80x86命令-行动,推/持久性有机污染物,算术和布尔运算,比较,转移,跳跃,电话,返回和租赁。没有乘法,前缀,循环或字符串行动,没有浮点运算单元或MMX ;尽管如此, OllyDbg通行证申请不到两年的百分数的命令。
经常使用的一个运行轨迹与运行轨迹的条件,如: “停止跟踪时的EAX == 0x123456 ” 。直至目前为止, inetrpreter解析条件表达式的每一步。然而,这是过于缓慢加速追查。现在,我编译的简单表达伪代码,并使用一个非常快速翻译估计条件。因此,上述比较是处理中,只有130纳秒。不坏!
啊,指挥帮助现在包括字符串命令,太。
  
2008年5月8日
改进和错误固定调试引擎。帮助所有8086命令,除了字符串操作。
  
2008年4月19号
预阿尔法5 :打击痕迹!也许您有试图利用打击痕迹的版本1.10 ,却发现它不工作,不平凡的节目。打击痕迹在第2版是不同的:不是取代所有命令INT3承认,我设置断点动态所有非加工分行。看来,断点20-30万是没有问题的新的调试器。此外,本新闻稿中:准时调试,命令行,一些错误修正。说明命令已准备好所有的LEA non-SSE/non-FPU命令到。
  
2008年3月11日
预阿尔法4 :名称列表,搜索文本字符串,浮点常量和intermodular打电话,运行轨迹条件,语法高亮(但默认颜色尚未确定) ,暂停线程,名字的论点栈等在分析大型模块快得多了。
  
07年12月25日
预阿尔法3 :许多不同的功能,如附带的运行过程中,分离,运行轨迹(还没有快速步进) ,实时叠加分析,认识到TLS的回调,守卫内存, intermodular电话等查看评论栏清单的要求-你会喜欢它!
  
二○○七年十月二十○号
删除5错误;大力改进现有的Windows功能;减少一些虚假开关
  
2007年10月9号
第一车前阿尔法代码
  

-------------------------------------------------- ------------------------------

二〇 〇七年十月十一号-第一错误报告

可耻的是我自己!只有一天,我收到了15个bug报告涉及到2.0版前阿尔法代码!其中大多数集中在保护在处理违反477AC3 (或多或少明显的错误) ,但也有其他事故报告。我应该怎么说呢?谢谢您!没有你们的稳定的帮助, OllyDbg 1月10日绝不会达到其实际的质量。希望在一段时间内第二个版本将至少达到相同的标准...无论如何,在几周内将有更新这里。和-再次感谢你!请保持下去!

-------------------------------------------------- ------------------------------

2007年10月9号-预alpha版

这孩子是大到足以表明它向公众,所以下载这个看看。是这个版本的功能?是。它优于10月1日?当然不是。它优于v1.00 ?在某些方面-也许,但在一般-没有。你可以用它进行调试?是的,但你会错过许多功能...所以请不要太危急,送我没有电子邮件-这个版本甚至没有一个全功能的阿尔法,将发生重大变化在未来几个星期或个月。但在案件OllyDbg会崩溃并产生errorlog.txt ,是实物,也给我这个文件-我将需要进行调试。现在-享受!

-------------------------------------------------- ------------------------------

2007年7月8日- UDD文件

现在OllyDbg 2可以节省分析数据的。 udd文件。相对于以前的版本,他们是非常大- 2至3倍大,主要是由于登记的预测。几乎所有的命令我把ESP和EBP相对切入点。许多现代的编译器不使用标准栈框架;相反,他们处理所有的论点和地方数据的电除尘器。预测允许解码意义电除尘器有关抵消。他们也很有助于追查调用堆栈。

它需要大量的时间来加载如此庞大的数据量。第一个版本了0.1和0.7秒每个模块。在充分分析所有模块要求(这将是默认选项) ,启动了几秒钟我的速龙4000 + 。现在,经过数天的深优化,这个时间缩短了3倍。

-------------------------------------------------- ------------------------------

2007年6月3日-发展继续

的进展,在过去两个星期,是巨大的。清单中极为重要的必做之事了五个项目短。但是,这种消息是大致相当于夏季在报纸的头条,现在我要告诉你一些不同的事。

虽然测试MinGW编译器,我就写一个小控制台应用程序:

   国际主要( ) (
      2会(空, “我一点点,很少代码很大,很大的世界...你好,世界! ”
        “哈罗,世界! ” , MB_OK ) ;
     返回0 ;
    )

高度优化的发行版本的此代码看起来这样:

MinGW储备栈上的空间和动作的论点不是推。但是请注意以下几点:该命令的理由2会( )是hOwner ,文字,标题,类型。 MinGW改变这个秩序;尽管如此, OllyDbg 2是能够认识到的论据。

MinGW (事实上的GNU )是一个出色的编译器,其唯一的缺点是,许多外来的API尚未标题。

这就是这个时候,再见!

-------------------------------------------------- ------------------------------

2007年5月18号-生日快乐,第2版?

什么是生日的一个程序?有一天,它成为有益的第一次。今天,它发生了。我已经完成了调试引擎。

嗯,不是真的。没有记忆或硬件断点尚未。 OllyDbg只能单步陷阱和INT3断点,并运行轨迹尚未落实。但是这一切并不重要。我可以一步以上,设置条件和记录的结果;在简短- OllyDbg 2.0已成为一个调试器。这种喜事,大家都希望看到的新生-这是一个全尺寸图片:

婴儿几乎是新的,不能走,这是非常薄弱。这意味着,您必须稍等一下,直到医生将允许您是否可以将手中。在我的待办事项列表,共有超过20项优先AAA级+ -事情需要做,才能被允许甚至怀疑alpha版本,如:

预表的已知功能资源;
承认职能,发挥返回地址栈(如分配巨大的本地数据) -重要的是,因为有很多合理的分析取决于它;
评论运算的汇编指令-目前这只是一个存根没有智慧;

保存数据。 udd文件;
在线分析堆栈的数据;
复制修改可执行文件;
等等,等等。因此,耐心等待,因为任何时候都: )

-------------------------------------------------- ------------------------------

2007年4月17号-命令搜索。

最后,我已经完成命令搜索模块。基本上,您提供的模式,如异或的EAX ,的EAX和OllyDbg位于所有这些命令中的内存块。版本1.xx已经精选本,但在非常有限的形式。对于每一个供应模式,旧的计划建立了一套代码/掩码对,并将它们与二进制代码。这种方法是简单,快速的特点,但一些弊端,坚决限制其usefullness 。例如,如果命令预计有几个前缀,必须创造一个模式,任意组合。但主要的问题是代码/遮罩的办法是无法处理内存地址。的X86处理模型极为复杂,非均质,许多例外的规律。让我们来,例如,传送的EAX , [ EBX ] 。有16 ( 16 )不同的二进制编码:

    8B03 -最简单的形式
    8B43 00 -形式的银行总监1字节零位移
    8B83 00000000 -形式的银行总监与4字节位移
    8B0423 -形式与银行总监字节没有缩减指数
    8B0463 -相同
    8B04A3 -相同
    8B04E3 -相同
    8B4423 00 -银行总监字节, 1字节的位移,无索引
    8B4463 00 -相同
    8B44A3 00 -相同
    8B44E3 00 -相同
    8B8423 00000000 -银行总监字节, 4字节的位移,无索引
    8B8463 00000000 -同
    8B84A3 00000000 -同
    8B84E3 00000000 -同
    8B041D 00000000 -银行总监字节, 4字节的位移,规模1 ,没有基础

惊人的,不是吗? ..所有企图重复使用旧的概念在新的OllyDbg版本是徒劳的,所以我不得不扔掉。新的模式由操作码,的前缀列表和包装说明操作。搜索例行disassembles可执行代码,并比较结果与模型。由于速度非常快拆装,这种做法几乎是一样快旧的,但令人难以置信的灵活!

新的搜索支持更多pseudoelements比以前的版本:

   奥迪R8 -任何8位注册
    R16 -任何16位注册
    R32的-任何32位注册
   注册-任何普通注册(大小并不重要,假定R32的地址)
   类风湿性关节炎,包-半定义的32位寄存器
   赛格-任何部分注册
    FPUREG -任何浮点寄存器
    MMXREG -任何MMX寄存器
    SSEREG -任何上证所登记
    CRREG -任何责任登记
    DRREG -任何何锦辉登记
   常量-任何常数
   任何-任何操作或内存地址(大小并不重要)

传送任何任何例如,符合任何传送的命令:

传送[任何] ,任何-所有写入内存, dependless的大小:

请注意, 16位地址是列入名单。您可能知道,第一次的Windows储量64 K的进程的内存作为一个陷阱的空指针,所以平板模式下的16位Access没有机会,其中一个重要的例外。选择财政司司长指出,线程的数据块,让线程依赖的信息提供给application.16位版本是1字节少于32位countrepart (执行长,但可能因额外的前缀) 。顺便说一下,在贸发理事会第一次doubleword是指针的结构化异常处理链,实现审判的副渔获物结构。可以很容易地找到所有脑室链变化的单一搜索传送[财政司司长:任何] ,任何:

搜索异或关节炎,类风湿性关节炎认为所有的命令,零一些注册XORing :

而异或的XA ,预算外-异或公正的情况下操纵比特率:

就业选配计划[ R32的* 4 +常量]将找到表跳跃的LEA类风湿性关节炎, [维甲酸* 5 ] -快速乘法的32位寄存器5 (当然,在现实中,这意味着[维甲酸* 4 +类风湿性关节炎] ) ,因此对。

噢,我很好奇,您将如何找到有用此功能:

这就是现在,再见!

-------------------------------------------------- ------------------------------

2007年2月24日-进展。

发展2.0版不用稳步向前发展。在过去的3个月我已经写了350多个K的调试代码。备份,搜索,跳跃,历史,条件表达式,手表,汇编-所有的东西必须为生产性工作。和-第一次, 2.0已经暂停的断点!

是的,这是迈出了一大步。这就是说,基础设施...嗯,尚未完成,但已经非常稳定,它可以支持复杂的高级别职能。当我浏览来源,我充满了自豪感,代码是结构严谨,逻辑性和明确的。不幸的是,情况不是这样,与1月10日。初步设计有几个缺陷-在2000年,我没有经验,是无法预见的要求,最后的版本。每一个小改动需要大量的努力和长时间的测试。所以最后我已经决定关闭该项目,并改写几乎从零做起。

第一个步骤,任何重新设计很难在心理上。也许你遇到类似的问题-你写负载,堆成堆的代码,但您的项目几乎是死了。一切可能是一些原始的东西,就像是在我的案例-拆卸的几个硬编码的二进制序列,转储内存块的固定地址, provisorical代码和调试产出无处不在,和旁边的这个垃圾是旧版本,五年成功的发展,也许又充满了垃圾桶内,但至少在功能和光泽店面...

无论如何,我过去的这个阶段。 OllyDbg 2.0的生命,它使大量的乐趣再次发展。您等待很长时间-如此有耐心,请,迟早我会为你介绍我的前途的小儿子: )

-------------------------------------------------- ------------------------------

2006年11月12号-分析仪。

近两年来都消失了自上次更新的这一页。但是你不要忘了我。柜台已经跨越了神奇的限制1,000,000展示。所以我觉得我有点不好意思,现在会尽量弥补您的耐心等待。从现在开始,每两个或三个星期,我会告诉你这里的实际情况我的工作。

我经常问: “发生了什么事OllyDbg 2.0 ?为什么不呢? ”当然,这里首先是我的内在和懒惰,降低的程度上,很多其他的任务和项目,已停止发展的第二个版本。然而,它不是死了。上个月我写100多K的代码,现在想向您展示某些突出的未来版本,主要是其新的强大的分析仪。

尽管十分复杂的功能,如:代码预测,新版本的速度大大高于它的前身。但不影响速度的质量认可。例如,见多少呼吁解码岁OllyDbg大3 MB的应用:

和新的:

令人印象深刻的,是不是?请注意,列出已知的职能2.0目前只包括三个系统DLL 。
新版本已强烈改善预测登记(特别是西班牙)和堆栈内容:

是能够识别和解码寄存器变量:

职能与可变数目的参数,如格式:

和参数的情况下,复制,而不是推到堆栈:

它确定循环变量,即寄存器或存储器项目改变了相同数额的每个循环迭代:

为了帮助用户,它甚至可以重命名和更改解码在某些论点的论据,视案件的情况:

新的分析仪的功能也更可靠区分代码和数据。在同一个时, OllyDbg将准备,那将会使调试更加容易和理解...我希望。

第二部分将在几个星期。附属的
===========================================
我翻译了一下 方便我得阅读
2009-8-21 11:20
0
雪    币: 237
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
英文版的吧?估计是没啥插件的,自己去找插件下载去了
2009-8-21 13:10
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
好东西,谢谢拉。
2009-8-22 02:54
0
雪    币: 237
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
看看,这个工具
2009-8-22 09:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
要是能安装插件就好咯!现在真的又2.0版本的OD吗?
2009-10-5 02:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
这东西别想有汉化的。。。
2009-10-5 17:10
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
正式版啥时候才能出啊
2009-10-6 09:52
0
游客
登录 | 注册 方可回帖
返回
//