OD快捷键例子
DUMP窗口快捷鍵功能
-------------------------------------------------------------------------------------------
1:在DUMP窗口按“CTRL + 鼠標雙擊”,表示在ASM窗口顯示選中的第一個字節(jié)開始地址的代碼
0040399D ?89 0D 78 6E 42 00 C1 E1 08 03 CA 89 0D 74 6E 42 ?..xnB.玲..?.tnB
004039AD ?00 C1 E8 10 A3 70 6E 42 00 6A 01 E8 8B 48 00 00 ?.凌.nB.j.?H..
004039BD ?59 85 C0 75 08 6A 1C E8 C3 00 00 00 59 E8 9D 2F ?Y.纔.j.杳...Y铦/
按“CTRL + 鼠標雙擊”后ASM窗口顯示下面數(shù)據(jù)
0040399D ?|. ?890D 786E4200 mov ? ? [426E78], ecx
004039A3 ?|. ?C1E1 08 ? ? ? shl ? ? ecx, 8
004039A6 ?|. ?03CA ? ? ? ? ?add ? ? ecx, edx ? ??
004039A8 ?|. ?890D 746E4200 mov ? ? [426E74], ecx
004039AE ?|. ?C1E8 10 ? ? ? shr ? ? eax, 10
004039B1 ?|. ?A3 706E4200 ? mov ? ? [426E70], eax
-------------------------------------------------------------------------------------------
2:DUMP窗口按“CTRL +ENTER”表示復制選中的第一個字節(jié)開始的DWORD值(6E780D89)到剪貼板
0040399D ?89 0D 78 6E 42 00 C1 E1 08 03 CA 89 0D 74 6E 42 ?..xnB.玲..?.tnB
004039AD ?00 C1 E8 10 A3 70 6E 42 00 6A 01 E8 8B 48 00 00 ?.凌.nB.j.?H..
004039BD ?59 85 C0 75 08 6A 1C E8 C3 00 00 00 59 E8 9D 2F ?Y.纔.j.杳...Y铦/
-------------------------------------------------------------------------------------------
3:DUMP窗口按“ENTER”時,表示在DUMP跟隨選中的第一個字節(jié)開始的DWORD值
0041C214 ?C1 B6 80 7C C0 AD 80 7C 18 9C 80 7C F4 A0 80 7C ??.|?.|.?|?.|
0041C224 ?D6 BD 80 7C 9A 97 80 7C 86 97 80 7C A2 FE 80 7C ??.|?.|...|.?|
0041C234 ?4F FC 80 7C B7 CC 80 7C A9 BE 80 7C D5 9F 80 7C ?O?|.?|┚.|諢.|
在0041C214按“ENTER”后DUMP窗口顯示下面數(shù)據(jù)
7C80B6C1 >8B FF 55 8B EC 83 7D 08 00 74 18 FF 75 08 E8 C0 ?..U.?}..t..u.櫪
7C80B6D1 ?29 00 00 85 C0 74 08 FF 70 04 E8 7D 2D 00 00 5D ?)...纓..p.鑮-..]
7C80B6E1 ?C2 04 00 64 A1 18 00 00 00 8B 40 30 8B 40 08 EB ??.d......@0.@.
-------------------------------------------------------------------------------------------
4:按“ESC”鍵,等于按小鍵盤的減號“-”,即顯示上一個記憶地址
5:按“~”鍵,等于按小鍵盤的減號“+”,即顯示下一個記憶地址
-------------------------------------------------------------------------------------------
6:按“INSERT”鍵,等于把DUMP窗口選中的數(shù)據(jù)填寫為“00”
7:按“DELETE”鍵,等于把DUMP窗口選中的數(shù)據(jù)填寫為“90”
-------------------------------------------------------------------------------------------
8:按“Shift+C”鍵,把選中的區(qū)域的二進制代碼復制到剪貼板中(兩個字節(jié)之間有一個空格)
? ?C1 B6 80 7C C0 AD 80 7C 18 9C 80 7C F4 A0 80 7C?
9:按“Shift+X”鍵,把選中的區(qū)域的二進制代碼復制到剪貼板中(兩個字節(jié)之間有無空格)
? ?C1B6807CC0AD807C189C807CF4A0807C
10:按“Shift+V”鍵,把剪貼板中的二進制代碼粘貼到指定的起始地址中(只需要選中起始地址即可)
-------------------------------------------------------------------------------------------
11:按“Ctrl+X”鍵,把選中的第一個字節(jié)的地址復制到剪貼板中
0041C214 ?C1 B6 80 7C C0 AD 80 7C 18 9C 80 7C F4 A0 80 7C ??.|?.|.?|?.|
0041C224 ?D6 BD 80 7C 9A 97 80 7C 86 97 80 7C A2 FE 80 7C ??.|?.|...|.?|
按“Ctrl+X”鍵,把7C80B6C1復制到剪貼板中
-------------------------------------------------------------------------------------------
12:按“T”鍵,在ASM窗口中跟隨選中的第一個字節(jié)開始的DWORD值,然后把DUMP窗口光標移動到下一個DWORD
0041C000 >E7 EB DA 77 F4 EA DA 77 1B C4 DC 77 1B 76 DA 77 ?珉趙縶趙.能w.v趙
0041C010 >4A CF DB 77 F0 6B DA 77 00 00 00 00 CF 65 17 5D ?J羨w餶趙....蟚.]
0041C020 ?00 00 00 00 36 8B EF 77 70 8A EF 77 70 5B EF 77 ?....6.飛p婏wp[飛
按“T”鍵,在ASM窗口中看到下面數(shù)據(jù),光標自動從0041C000移動到0041C004
77DAEBE7 > ?6A 2C ? ? ? ? ? push ? ?2C
77DAEBE9 ? ?68 28EDDA77 ? ? push ? ?77DAED28
77DAEBEE ? ?E8 267DFFFF ? ? call ? ?77DA6919
77DAEBF3 ? ?33DB ? ? ? ? ? ?xor ? ? ebx, ebx
77DAEBF5 ? ?895D E4 ? ? ? ? mov ? ? [ebp-1C], ebx
77DAEBF8 ? ?817D 08 0400008>cmp ? ? dword ptr [ebp+8], 80000004
-------------------------------------------------------------------------------------------
13:按 “alt+1 ~ alt+5”,對應多個內存窗口的快速切換
14:當光標在DUMP窗口移動時,在OLLYDBG的信息提示條中顯示DUMP窗口選中區(qū)域的信息( Start:End:Size:Value)
-------------------------------------------------------------------------------------------
15:按“Shift + ENTER”鍵,在ASM窗口中跟隨選中的第一個字節(jié)開始的DWORD值
0041C000 >E7 EB DA 77 F4 EA DA 77 1B C4 DC 77 1B 76 DA 77 ?珉趙縶趙.能w.v趙
0041C010 >4A CF DB 77 F0 6B DA 77 00 00 00 00 CF 65 17 5D ?J羨w餶趙....蟚.]
0041C020 ?00 00 00 00 36 8B EF 77 70 8A EF 77 70 5B EF 77 ?....6.飛p婏wp[飛
按“Shift + ENTER”鍵,在ASM窗口中看到下面數(shù)據(jù)
77DAEBE7 > ?6A 2C ? ? ? ? ? push ? ?2C
77DAEBE9 ? ?68 28EDDA77 ? ? push ? ?77DAED28
77DAEBEE ? ?E8 267DFFFF ? ? call ? ?77DA6919
77DAEBF3 ? ?33DB ? ? ? ? ? ?xor ? ? ebx, ebx
77DAEBF5 ? ?895D E4 ? ? ? ? mov ? ? [ebp-1C], ebx
77DAEBF8 ? ?817D 08 0400008>cmp ? ? dword ptr [ebp+8], 80000004
-------------------------------------------------------------------------------------------
Asm窗口快捷鍵
-------------------------------------------------------------------------------------------
1:在ASM窗口按“CTRL + 鼠標雙擊”或者“CTRL + ENTER”,表示在DUMP窗口顯示選中的第一個字節(jié)開始地址的代碼
0040399D ?|. ?890D 786E4200 mov ? ? [426E78], ecx
004039A3 ?|. ?C1E1 08 ? ? ? shl ? ? ecx, 8
004039A6 ?|. ?03CA ? ? ? ? ?add ? ? ecx, edx ? ??
004039A8 ?|. ?890D 746E4200 mov ? ? [426E74], ecx
004039AE ?|. ?C1E8 10 ? ? ? shr ? ? eax, 10
004039B1 ?|. ?A3 706E4200 ? mov ? ? [426E70], eax
按按“CTRL + 鼠標雙擊”或者“CTRL + ENTER”后DUMP窗口顯示下面數(shù)據(jù)
0040399D ?89 0D 78 6E 42 00 C1 E1 08 03 CA 89 0D 74 6E 42 ?..xnB.玲..?.tnB
004039AD ?00 C1 E8 10 A3 70 6E 42 00 6A 01 E8 8B 48 00 00 ?.凌.nB.j.?H..
004039BD ?59 85 C0 75 08 6A 1C E8 C3 00 00 00 59 E8 9D 2F ?Y.纔.j.杳...Y铦/
-------------------------------------------------------------------------------------------
2:在ASM窗口按“ ENTER”鍵,有兩種選擇情況
一:當只有寄存器和內存地址的指令中,在DUMP窗口顯示內存地址
004039B1 ?|. ?A3 706E4200 ? mov ? ? [426E70], eax ? ?//在這行按“ ENTER”鍵
在DUMP窗口顯示
00426E70 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E80 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E90 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
二:當有內存地址和立即數(shù)同時存在的指令中,在DUMP窗口跟隨立即數(shù)
0040399D ? ? ?C705 786E4200>mov ? ? dword ptr [426E78], 00421234 ? ?//在這行按“ ENTER”鍵
在DUMP窗口顯示
00421234 ?72 73 74 46 69 6C 65 41 00 00 63 00 44 75 70 6C ?rstFileA..c.Dupl
00421244 ?69 63 61 74 65 48 61 6E 64 6C 65 00 F7 00 47 65 ?icateHandle...Ge
00421254 ?74 43 75 72 72 65 6E 74 50 72 6F 63 65 73 73 00 ?tCurrentProcess.
注意:當內存地址和立即數(shù)其中一個的內存數(shù)據(jù)不存在的話,ENTER鍵能智能選擇另外一種數(shù)據(jù)在DUMP窗口跟隨
例如
0040399D ? ? ?C705 786E4200>mov ? ? dword ptr [426E78], 123 ? ?//在這行按“ ENTER”鍵
因為[123]的內存數(shù)據(jù)不存在,隨意按ENTER鍵后,strongOD能智能地選擇[426E78]跟隨
00426E78 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E88 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E98 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
-------------------------------------------------------------------------------------------
3:在ASM窗口按“ALT + ENTER”,有2種選擇情況
一:當為跳轉指令(jmp, call,retn)時,DUMP跟隨到目的地址
004039C0 ?|. /75 08 ? ? ? ? jnz ? ? short 004039CA ? //在這行按“ALT + ENTER”
DUMP窗口顯示
004039CA ?E8 9D 2F 00 00 85 C0 75 08 6A 10 E8 B2 00 00 00 ?铦/...纔.j.?...
004039DA ?59 33 F6 89 75 FC E8 A7 46 00 00 FF 15 DC C0 41 ?Y3?u....芾A
004039EA ?00 A3 98 85 42 00 E8 65 45 00 00 A3 60 6E 42 00 ?.?.B.鑕E..nB.
二:當有內存地址和立即數(shù)同時存在的指令中,在DUMP窗口跟隨內存地址
004039A7 ? ? ?C705 746E4200>mov ? ? dword ptr [426E74], 00411200 ? //在這行按“ALT + ENTER”
DUMP窗口顯示
00426E74 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E84 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E94 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
-------------------------------------------------------------------------------------------
4:在ASM窗口按“Shift + ENTER”,有3種選擇情況
一:當為跳轉指令(jmp, call,retn)時,ASM窗口跟隨到跳轉目的地址
004039B8 ? ? ?E8 8B480000 ? call ? ?00408248 ? //在這行按“Shift + ENTER”
ASM窗口顯示
00408248 ?/$ ?33C0 ? ? ? ? ?xor ? ? eax, eax
0040824A ?|. ?6A 00 ? ? ? ? push ? ?0 ? ? ? ? ? ?
0040824C ?|. ?394424 08 ? ? cmp ? ? [esp+8], eax?
00408250 ?|. ?68 00100000 ? push ? ?1000 ? ? ? ??
二:當只有內存地址或者立即數(shù)中的一個存在的指令,在ASM窗口跟隨內存地址或立即數(shù)
00408261 ?|. ?A3 5C824200 ? mov ? ? [42825C], eax ? //在這行按“Shift + ENTER”
00408266 ? ? ?B8 5C824200 ? mov ? ? eax, 0042825C ? //在這行按“Shift + ENTER”
ASM窗口顯示
0042825C ? ?0000 ? ? ? ? ? ?add ? ? [eax], al
0042825E ? ?0000 ? ? ? ? ? ?add ? ? [eax], al
00428260 ? ?0000 ? ? ? ? ? ?add ? ? [eax], al
00428262 ? ?0000 ? ? ? ? ? ?add ? ? [eax], al
三:當有內存地址和立即數(shù)同時存在的指令,在ASM窗口跟隨立即數(shù)
00408261 ? ? ?C705 5C824200>mov ? ? dword ptr [42825C], 00421680 ? //在這行按“Shift + ENTER”
ASM窗口顯示
00421680 ? ?0000 ? ? ? ? ? ?add ? ? [eax], al
00421682 ? ?F0:0047 65 ? ? ?lock add [edi+65], al
00421686 ? ?74 43 ? ? ? ? ? je ? ? ?short 004216CB
00421688 ? ?6C ? ? ? ? ? ? ?ins ? ? byte ptr es:[edi], dx
-------------------------------------------------------------------------------------------
5:按“ESC”鍵,等于按小鍵盤的減號“-”,即顯示上一個記憶地址
6:按“~”鍵,等于按小鍵盤的減號“+”,即顯示下一個記憶地址
-------------------------------------------------------------------------------------------
7:按“INSERT”鍵,等于把ASM窗口選中的數(shù)據(jù)填寫為“00”
8:按“DELETE”鍵,等于把ASM窗口選中的數(shù)據(jù)填寫為“90”
-------------------------------------------------------------------------------------------
9:按“Shift+C”鍵,把選中的區(qū)域的二進制代碼復制到剪貼板中(兩個字節(jié)之間有一個空格)
? ?C1 B6 80 7C C0 AD 80 7C 18 9C 80 7C F4 A0 80 7C?
10:按“Shift+X”鍵,把選中的區(qū)域的二進制代碼復制到剪貼板中(兩個字節(jié)之間有無空格)
? ?C1B6807CC0AD807C189C807CF4A0807C
11:按“Shift+V”鍵,把剪貼板中的二進制代碼粘貼到指定的起始地址中(只需要選中起始地址即可)
-------------------------------------------------------------------------------------------
12:按“Ctrl+X”鍵,把選中的第一個字節(jié)的地址復制到剪貼板中
1000481A mov dword ptr ds:[10001000],40304C ?//在這行按“Ctrl+X”鍵
按Ctrl+X,則地址01000481A 復制到剪貼板
-------------------------------------------------------------------------------------------
13:按數(shù)字鍵1--9,在選中地把填入相應的個數(shù)的“0x90”
0040397F ? ? ?53 ? ? ? ? ? ?push ? ?ebx
00403980 ? ? ?56 ? ? ? ? ? ?push ? ?esi ? ?//選中這行,按“2”
00403981 ? ? ?57 ? ? ? ? ? ?push ? ?edi ? ? ? ? ? ? ? ? ? ? ? ? ? ?
00403982 ? ? ?8965 E8 ? ? ? mov ? ? [ebp-18], esp
在ASM窗口中得到
0040397F ? ? ?53 ? ? ? ? ? ?push ? ?ebx
00403980 ? ? ?90 ? ? ? ? ? ?nop
00403981 ? ? ?90 ? ? ? ? ? ?nop
00403982 ? ? ?8965 E8 ? ? ? mov ? ? [ebp-18], esp
-------------------------------------------------------------------------------------------
STACK窗口快捷鍵
-------------------------------------------------------------------------------------------
1:按“ESC”鍵,在STACK窗口跟隨到ESP指針處
2:按“~”鍵,在STACK窗口跟隨到ESP指針處
3:STACK窗口按“CTRL +ENTER”在ASM窗口跟隨選中第一個字節(jié)所在地址
0012FFC4 ? 7C816FF7 ? //這行按“CTRL +ENTER”
0012FFC8 ? 7C930738?
0012FFCC ? FFFFFFFF
ASM窗口得到
0012FFC4 ? ?F76F 81 ? ? ? ? imul ? ?dword ptr [edi-7F]
0012FFC7 ?- 7C 38 ? ? ? ? ? jl ? ? ?short 00130001
0012FFC9 ? ?07 ? ? ? ? ? ? ?pop ? ? es
-------------------------------------------------------------------------------------------
4:STACK窗口按“ALT +ENTER”在DUMP窗口跟隨選中第一個字節(jié)所在地址
0012FFC4 ? 7C816FF7 ? //這行按“ALT +ENTER”
0012FFC8 ? 7C930738?
0012FFCC ? FFFFFFFF
DUMP窗口得到
0012FFC4 ?F7 6F 81 7C 38 07 93 7C FF FF FF FF 00 50 FD 7F ?.o.|8..|.....P?
0012FFD4 ?B8 C5 54 80 C8 FF 12 00 08 D6 72 81 FF FF FF FF ?.臫.?...謗.....
0012FFE4 ?30 9A 83 7C 00 70 81 7C 00 00 00 00 00 00 00 00 ?0?|.p.|........
-------------------------------------------------------------------------------------------
5:STACK窗口按“Shift +ENTER”在DUMP跟隨選中的第一個字節(jié)開始的DWORD值
0012FFC4 ? 7C816FF7 ? //這行按“Shift +ENTER”
0012FFC8 ? 7C930738?
0012FFCC ? FFFFFFFF
DUMP窗口得到
7C816FF7 ?50 E8 7B 50 FF FF 90 90 90 FF FF FF FF B2 37 84 ?P鑬P..........7.
7C817007 ?7C C8 37 84 7C 90 90 90 90 90 8B FF 55 8B EC 81 ?|?.|.......U.?
7C817017 ?EC C8 00 00 00 A1 CC 46 88 7C 53 56 8B 75 0C 57 ?烊....蘁.|SV.u.W
-------------------------------------------------------------------------------------------
6:STACK窗口按“ENTER”在ASM跟隨選中的第一個字節(jié)開始的DWORD值
0012FFC4 ? 7C816FF7 ? //這行按“Shift +ENTER”
0012FFC8 ? 7C930738?
0012FFCC ? FFFFFFFF
ASM窗口得到
7C816FF7 ? ?50 ? ? ? ? ? ? ?push ? ?eax
7C816FF8 ? ?E8 7B50FFFF ? ? call ? ?ExitThread
7C816FFD ? ?90 ? ? ? ? ? ? ?nop
7C816FFE ? ?90 ? ? ? ? ? ? ?nop
-------------------------------------------------------------------------------------------
7:STACK窗口按 “alt +1”鍵,在STACK窗口跟隨到ESP指針處
8:STACK窗口按 “alt +2”鍵,在STACK窗口跟隨到EBP指針處
9:STACK窗口按 “alt +3”鍵,在STACK窗口跟隨到NONE指針處
-------------------------------------------------------------------------------------------
CPU REG窗口快捷鍵
1:“ESC”和“`”鍵實現(xiàn)View FPU,View MMX,View 3D Now!,View Debug的快速切換.
2:“SHIFT+數(shù)字鍵1至8”(分別對應EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI)將其內容顯示在CPUASM窗口中
3:“CTRL+數(shù)字鍵1至8”(分別對應EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI)將其內容顯示在CPUDUMP窗口中
-------------------------------------------------------------------------------------------
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
-------------------------------------------------------------------------------------------
1:在DUMP窗口按“CTRL + 鼠標雙擊”,表示在ASM窗口顯示選中的第一個字節(jié)開始地址的代碼
0040399D ?89 0D 78 6E 42 00 C1 E1 08 03 CA 89 0D 74 6E 42 ?..xnB.玲..?.tnB
004039AD ?00 C1 E8 10 A3 70 6E 42 00 6A 01 E8 8B 48 00 00 ?.凌.nB.j.?H..
004039BD ?59 85 C0 75 08 6A 1C E8 C3 00 00 00 59 E8 9D 2F ?Y.纔.j.杳...Y铦/
按“CTRL + 鼠標雙擊”后ASM窗口顯示下面數(shù)據(jù)
0040399D ?|. ?890D 786E4200 mov ? ? [426E78], ecx
004039A3 ?|. ?C1E1 08 ? ? ? shl ? ? ecx, 8
004039A6 ?|. ?03CA ? ? ? ? ?add ? ? ecx, edx ? ??
004039A8 ?|. ?890D 746E4200 mov ? ? [426E74], ecx
004039AE ?|. ?C1E8 10 ? ? ? shr ? ? eax, 10
004039B1 ?|. ?A3 706E4200 ? mov ? ? [426E70], eax
-------------------------------------------------------------------------------------------
2:DUMP窗口按“CTRL +ENTER”表示復制選中的第一個字節(jié)開始的DWORD值(6E780D89)到剪貼板
0040399D ?89 0D 78 6E 42 00 C1 E1 08 03 CA 89 0D 74 6E 42 ?..xnB.玲..?.tnB
004039AD ?00 C1 E8 10 A3 70 6E 42 00 6A 01 E8 8B 48 00 00 ?.凌.nB.j.?H..
004039BD ?59 85 C0 75 08 6A 1C E8 C3 00 00 00 59 E8 9D 2F ?Y.纔.j.杳...Y铦/
-------------------------------------------------------------------------------------------
3:DUMP窗口按“ENTER”時,表示在DUMP跟隨選中的第一個字節(jié)開始的DWORD值
0041C214 ?C1 B6 80 7C C0 AD 80 7C 18 9C 80 7C F4 A0 80 7C ??.|?.|.?|?.|
0041C224 ?D6 BD 80 7C 9A 97 80 7C 86 97 80 7C A2 FE 80 7C ??.|?.|...|.?|
0041C234 ?4F FC 80 7C B7 CC 80 7C A9 BE 80 7C D5 9F 80 7C ?O?|.?|┚.|諢.|
在0041C214按“ENTER”后DUMP窗口顯示下面數(shù)據(jù)
7C80B6C1 >8B FF 55 8B EC 83 7D 08 00 74 18 FF 75 08 E8 C0 ?..U.?}..t..u.櫪
7C80B6D1 ?29 00 00 85 C0 74 08 FF 70 04 E8 7D 2D 00 00 5D ?)...纓..p.鑮-..]
7C80B6E1 ?C2 04 00 64 A1 18 00 00 00 8B 40 30 8B 40 08 EB ??.d......@0.@.
-------------------------------------------------------------------------------------------
4:按“ESC”鍵,等于按小鍵盤的減號“-”,即顯示上一個記憶地址
5:按“~”鍵,等于按小鍵盤的減號“+”,即顯示下一個記憶地址
-------------------------------------------------------------------------------------------
6:按“INSERT”鍵,等于把DUMP窗口選中的數(shù)據(jù)填寫為“00”
7:按“DELETE”鍵,等于把DUMP窗口選中的數(shù)據(jù)填寫為“90”
-------------------------------------------------------------------------------------------
8:按“Shift+C”鍵,把選中的區(qū)域的二進制代碼復制到剪貼板中(兩個字節(jié)之間有一個空格)
? ?C1 B6 80 7C C0 AD 80 7C 18 9C 80 7C F4 A0 80 7C?
9:按“Shift+X”鍵,把選中的區(qū)域的二進制代碼復制到剪貼板中(兩個字節(jié)之間有無空格)
? ?C1B6807CC0AD807C189C807CF4A0807C
10:按“Shift+V”鍵,把剪貼板中的二進制代碼粘貼到指定的起始地址中(只需要選中起始地址即可)
-------------------------------------------------------------------------------------------
11:按“Ctrl+X”鍵,把選中的第一個字節(jié)的地址復制到剪貼板中
0041C214 ?C1 B6 80 7C C0 AD 80 7C 18 9C 80 7C F4 A0 80 7C ??.|?.|.?|?.|
0041C224 ?D6 BD 80 7C 9A 97 80 7C 86 97 80 7C A2 FE 80 7C ??.|?.|...|.?|
按“Ctrl+X”鍵,把7C80B6C1復制到剪貼板中
-------------------------------------------------------------------------------------------
12:按“T”鍵,在ASM窗口中跟隨選中的第一個字節(jié)開始的DWORD值,然后把DUMP窗口光標移動到下一個DWORD
0041C000 >E7 EB DA 77 F4 EA DA 77 1B C4 DC 77 1B 76 DA 77 ?珉趙縶趙.能w.v趙
0041C010 >4A CF DB 77 F0 6B DA 77 00 00 00 00 CF 65 17 5D ?J羨w餶趙....蟚.]
0041C020 ?00 00 00 00 36 8B EF 77 70 8A EF 77 70 5B EF 77 ?....6.飛p婏wp[飛
按“T”鍵,在ASM窗口中看到下面數(shù)據(jù),光標自動從0041C000移動到0041C004
77DAEBE7 > ?6A 2C ? ? ? ? ? push ? ?2C
77DAEBE9 ? ?68 28EDDA77 ? ? push ? ?77DAED28
77DAEBEE ? ?E8 267DFFFF ? ? call ? ?77DA6919
77DAEBF3 ? ?33DB ? ? ? ? ? ?xor ? ? ebx, ebx
77DAEBF5 ? ?895D E4 ? ? ? ? mov ? ? [ebp-1C], ebx
77DAEBF8 ? ?817D 08 0400008>cmp ? ? dword ptr [ebp+8], 80000004
-------------------------------------------------------------------------------------------
13:按 “alt+1 ~ alt+5”,對應多個內存窗口的快速切換
14:當光標在DUMP窗口移動時,在OLLYDBG的信息提示條中顯示DUMP窗口選中區(qū)域的信息( Start:End:Size:Value)
-------------------------------------------------------------------------------------------
15:按“Shift + ENTER”鍵,在ASM窗口中跟隨選中的第一個字節(jié)開始的DWORD值
0041C000 >E7 EB DA 77 F4 EA DA 77 1B C4 DC 77 1B 76 DA 77 ?珉趙縶趙.能w.v趙
0041C010 >4A CF DB 77 F0 6B DA 77 00 00 00 00 CF 65 17 5D ?J羨w餶趙....蟚.]
0041C020 ?00 00 00 00 36 8B EF 77 70 8A EF 77 70 5B EF 77 ?....6.飛p婏wp[飛
按“Shift + ENTER”鍵,在ASM窗口中看到下面數(shù)據(jù)
77DAEBE7 > ?6A 2C ? ? ? ? ? push ? ?2C
77DAEBE9 ? ?68 28EDDA77 ? ? push ? ?77DAED28
77DAEBEE ? ?E8 267DFFFF ? ? call ? ?77DA6919
77DAEBF3 ? ?33DB ? ? ? ? ? ?xor ? ? ebx, ebx
77DAEBF5 ? ?895D E4 ? ? ? ? mov ? ? [ebp-1C], ebx
77DAEBF8 ? ?817D 08 0400008>cmp ? ? dword ptr [ebp+8], 80000004
-------------------------------------------------------------------------------------------
Asm窗口快捷鍵
-------------------------------------------------------------------------------------------
1:在ASM窗口按“CTRL + 鼠標雙擊”或者“CTRL + ENTER”,表示在DUMP窗口顯示選中的第一個字節(jié)開始地址的代碼
0040399D ?|. ?890D 786E4200 mov ? ? [426E78], ecx
004039A3 ?|. ?C1E1 08 ? ? ? shl ? ? ecx, 8
004039A6 ?|. ?03CA ? ? ? ? ?add ? ? ecx, edx ? ??
004039A8 ?|. ?890D 746E4200 mov ? ? [426E74], ecx
004039AE ?|. ?C1E8 10 ? ? ? shr ? ? eax, 10
004039B1 ?|. ?A3 706E4200 ? mov ? ? [426E70], eax
按按“CTRL + 鼠標雙擊”或者“CTRL + ENTER”后DUMP窗口顯示下面數(shù)據(jù)
0040399D ?89 0D 78 6E 42 00 C1 E1 08 03 CA 89 0D 74 6E 42 ?..xnB.玲..?.tnB
004039AD ?00 C1 E8 10 A3 70 6E 42 00 6A 01 E8 8B 48 00 00 ?.凌.nB.j.?H..
004039BD ?59 85 C0 75 08 6A 1C E8 C3 00 00 00 59 E8 9D 2F ?Y.纔.j.杳...Y铦/
-------------------------------------------------------------------------------------------
2:在ASM窗口按“ ENTER”鍵,有兩種選擇情況
一:當只有寄存器和內存地址的指令中,在DUMP窗口顯示內存地址
004039B1 ?|. ?A3 706E4200 ? mov ? ? [426E70], eax ? ?//在這行按“ ENTER”鍵
在DUMP窗口顯示
00426E70 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E80 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E90 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
二:當有內存地址和立即數(shù)同時存在的指令中,在DUMP窗口跟隨立即數(shù)
0040399D ? ? ?C705 786E4200>mov ? ? dword ptr [426E78], 00421234 ? ?//在這行按“ ENTER”鍵
在DUMP窗口顯示
00421234 ?72 73 74 46 69 6C 65 41 00 00 63 00 44 75 70 6C ?rstFileA..c.Dupl
00421244 ?69 63 61 74 65 48 61 6E 64 6C 65 00 F7 00 47 65 ?icateHandle...Ge
00421254 ?74 43 75 72 72 65 6E 74 50 72 6F 63 65 73 73 00 ?tCurrentProcess.
注意:當內存地址和立即數(shù)其中一個的內存數(shù)據(jù)不存在的話,ENTER鍵能智能選擇另外一種數(shù)據(jù)在DUMP窗口跟隨
例如
0040399D ? ? ?C705 786E4200>mov ? ? dword ptr [426E78], 123 ? ?//在這行按“ ENTER”鍵
因為[123]的內存數(shù)據(jù)不存在,隨意按ENTER鍵后,strongOD能智能地選擇[426E78]跟隨
00426E78 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E88 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E98 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
-------------------------------------------------------------------------------------------
3:在ASM窗口按“ALT + ENTER”,有2種選擇情況
一:當為跳轉指令(jmp, call,retn)時,DUMP跟隨到目的地址
004039C0 ?|. /75 08 ? ? ? ? jnz ? ? short 004039CA ? //在這行按“ALT + ENTER”
DUMP窗口顯示
004039CA ?E8 9D 2F 00 00 85 C0 75 08 6A 10 E8 B2 00 00 00 ?铦/...纔.j.?...
004039DA ?59 33 F6 89 75 FC E8 A7 46 00 00 FF 15 DC C0 41 ?Y3?u....芾A
004039EA ?00 A3 98 85 42 00 E8 65 45 00 00 A3 60 6E 42 00 ?.?.B.鑕E..nB.
二:當有內存地址和立即數(shù)同時存在的指令中,在DUMP窗口跟隨內存地址
004039A7 ? ? ?C705 746E4200>mov ? ? dword ptr [426E74], 00411200 ? //在這行按“ALT + ENTER”
DUMP窗口顯示
00426E74 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E84 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
00426E94 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?................
-------------------------------------------------------------------------------------------
4:在ASM窗口按“Shift + ENTER”,有3種選擇情況
一:當為跳轉指令(jmp, call,retn)時,ASM窗口跟隨到跳轉目的地址
004039B8 ? ? ?E8 8B480000 ? call ? ?00408248 ? //在這行按“Shift + ENTER”
ASM窗口顯示
00408248 ?/$ ?33C0 ? ? ? ? ?xor ? ? eax, eax
0040824A ?|. ?6A 00 ? ? ? ? push ? ?0 ? ? ? ? ? ?
0040824C ?|. ?394424 08 ? ? cmp ? ? [esp+8], eax?
00408250 ?|. ?68 00100000 ? push ? ?1000 ? ? ? ??
二:當只有內存地址或者立即數(shù)中的一個存在的指令,在ASM窗口跟隨內存地址或立即數(shù)
00408261 ?|. ?A3 5C824200 ? mov ? ? [42825C], eax ? //在這行按“Shift + ENTER”
00408266 ? ? ?B8 5C824200 ? mov ? ? eax, 0042825C ? //在這行按“Shift + ENTER”
ASM窗口顯示
0042825C ? ?0000 ? ? ? ? ? ?add ? ? [eax], al
0042825E ? ?0000 ? ? ? ? ? ?add ? ? [eax], al
00428260 ? ?0000 ? ? ? ? ? ?add ? ? [eax], al
00428262 ? ?0000 ? ? ? ? ? ?add ? ? [eax], al
三:當有內存地址和立即數(shù)同時存在的指令,在ASM窗口跟隨立即數(shù)
00408261 ? ? ?C705 5C824200>mov ? ? dword ptr [42825C], 00421680 ? //在這行按“Shift + ENTER”
ASM窗口顯示
00421680 ? ?0000 ? ? ? ? ? ?add ? ? [eax], al
00421682 ? ?F0:0047 65 ? ? ?lock add [edi+65], al
00421686 ? ?74 43 ? ? ? ? ? je ? ? ?short 004216CB
00421688 ? ?6C ? ? ? ? ? ? ?ins ? ? byte ptr es:[edi], dx
-------------------------------------------------------------------------------------------
5:按“ESC”鍵,等于按小鍵盤的減號“-”,即顯示上一個記憶地址
6:按“~”鍵,等于按小鍵盤的減號“+”,即顯示下一個記憶地址
-------------------------------------------------------------------------------------------
7:按“INSERT”鍵,等于把ASM窗口選中的數(shù)據(jù)填寫為“00”
8:按“DELETE”鍵,等于把ASM窗口選中的數(shù)據(jù)填寫為“90”
-------------------------------------------------------------------------------------------
9:按“Shift+C”鍵,把選中的區(qū)域的二進制代碼復制到剪貼板中(兩個字節(jié)之間有一個空格)
? ?C1 B6 80 7C C0 AD 80 7C 18 9C 80 7C F4 A0 80 7C?
10:按“Shift+X”鍵,把選中的區(qū)域的二進制代碼復制到剪貼板中(兩個字節(jié)之間有無空格)
? ?C1B6807CC0AD807C189C807CF4A0807C
11:按“Shift+V”鍵,把剪貼板中的二進制代碼粘貼到指定的起始地址中(只需要選中起始地址即可)
-------------------------------------------------------------------------------------------
12:按“Ctrl+X”鍵,把選中的第一個字節(jié)的地址復制到剪貼板中
1000481A mov dword ptr ds:[10001000],40304C ?//在這行按“Ctrl+X”鍵
按Ctrl+X,則地址01000481A 復制到剪貼板
-------------------------------------------------------------------------------------------
13:按數(shù)字鍵1--9,在選中地把填入相應的個數(shù)的“0x90”
0040397F ? ? ?53 ? ? ? ? ? ?push ? ?ebx
00403980 ? ? ?56 ? ? ? ? ? ?push ? ?esi ? ?//選中這行,按“2”
00403981 ? ? ?57 ? ? ? ? ? ?push ? ?edi ? ? ? ? ? ? ? ? ? ? ? ? ? ?
00403982 ? ? ?8965 E8 ? ? ? mov ? ? [ebp-18], esp
在ASM窗口中得到
0040397F ? ? ?53 ? ? ? ? ? ?push ? ?ebx
00403980 ? ? ?90 ? ? ? ? ? ?nop
00403981 ? ? ?90 ? ? ? ? ? ?nop
00403982 ? ? ?8965 E8 ? ? ? mov ? ? [ebp-18], esp
-------------------------------------------------------------------------------------------
STACK窗口快捷鍵
-------------------------------------------------------------------------------------------
1:按“ESC”鍵,在STACK窗口跟隨到ESP指針處
2:按“~”鍵,在STACK窗口跟隨到ESP指針處
3:STACK窗口按“CTRL +ENTER”在ASM窗口跟隨選中第一個字節(jié)所在地址
0012FFC4 ? 7C816FF7 ? //這行按“CTRL +ENTER”
0012FFC8 ? 7C930738?
0012FFCC ? FFFFFFFF
ASM窗口得到
0012FFC4 ? ?F76F 81 ? ? ? ? imul ? ?dword ptr [edi-7F]
0012FFC7 ?- 7C 38 ? ? ? ? ? jl ? ? ?short 00130001
0012FFC9 ? ?07 ? ? ? ? ? ? ?pop ? ? es
-------------------------------------------------------------------------------------------
4:STACK窗口按“ALT +ENTER”在DUMP窗口跟隨選中第一個字節(jié)所在地址
0012FFC4 ? 7C816FF7 ? //這行按“ALT +ENTER”
0012FFC8 ? 7C930738?
0012FFCC ? FFFFFFFF
DUMP窗口得到
0012FFC4 ?F7 6F 81 7C 38 07 93 7C FF FF FF FF 00 50 FD 7F ?.o.|8..|.....P?
0012FFD4 ?B8 C5 54 80 C8 FF 12 00 08 D6 72 81 FF FF FF FF ?.臫.?...謗.....
0012FFE4 ?30 9A 83 7C 00 70 81 7C 00 00 00 00 00 00 00 00 ?0?|.p.|........
-------------------------------------------------------------------------------------------
5:STACK窗口按“Shift +ENTER”在DUMP跟隨選中的第一個字節(jié)開始的DWORD值
0012FFC4 ? 7C816FF7 ? //這行按“Shift +ENTER”
0012FFC8 ? 7C930738?
0012FFCC ? FFFFFFFF
DUMP窗口得到
7C816FF7 ?50 E8 7B 50 FF FF 90 90 90 FF FF FF FF B2 37 84 ?P鑬P..........7.
7C817007 ?7C C8 37 84 7C 90 90 90 90 90 8B FF 55 8B EC 81 ?|?.|.......U.?
7C817017 ?EC C8 00 00 00 A1 CC 46 88 7C 53 56 8B 75 0C 57 ?烊....蘁.|SV.u.W
-------------------------------------------------------------------------------------------
6:STACK窗口按“ENTER”在ASM跟隨選中的第一個字節(jié)開始的DWORD值
0012FFC4 ? 7C816FF7 ? //這行按“Shift +ENTER”
0012FFC8 ? 7C930738?
0012FFCC ? FFFFFFFF
ASM窗口得到
7C816FF7 ? ?50 ? ? ? ? ? ? ?push ? ?eax
7C816FF8 ? ?E8 7B50FFFF ? ? call ? ?ExitThread
7C816FFD ? ?90 ? ? ? ? ? ? ?nop
7C816FFE ? ?90 ? ? ? ? ? ? ?nop
-------------------------------------------------------------------------------------------
7:STACK窗口按 “alt +1”鍵,在STACK窗口跟隨到ESP指針處
8:STACK窗口按 “alt +2”鍵,在STACK窗口跟隨到EBP指針處
9:STACK窗口按 “alt +3”鍵,在STACK窗口跟隨到NONE指針處
-------------------------------------------------------------------------------------------
CPU REG窗口快捷鍵
1:“ESC”和“`”鍵實現(xiàn)View FPU,View MMX,View 3D Now!,View Debug的快速切換.
2:“SHIFT+數(shù)字鍵1至8”(分別對應EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI)將其內容顯示在CPUASM窗口中
3:“CTRL+數(shù)字鍵1至8”(分別對應EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI)將其內容顯示在CPUDUMP窗口中
-------------------------------------------------------------------------------------------
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
總結
- 上一篇: 反汇编程序导致程序crash的解决思路
- 下一篇: 汇编跳转指令总结