Ollydbg скачать с плагинами


OllyDbg 2.01 / Хабрахабр

[Settings] Check DLL versions=0 Topmost window=0 Show main menu items that don't apply=0 Show popup items that don't apply=0 Show toolbar=1 Use system colours in toolbar=0 Status in toolbar=0 Flash duration=1 Autoupdate interval=4 Mode of main window=0 Restore windows=236799 Restore window positions=1 Restore width of columns=0 Restore sorting criterium=1 Highlight sorted column=1 Right click selects=1 Index of default font=1 Index of default colours=0 Code highlighting=0 Horizontal scroll=0 Snow-free drawing=1 Append arguments=1 Allow diacritical symbols=0 Decode pascal strings=1 Use IsTextUnicode=0 String decoding=0 File graph mode=1 Dialog font mode=0 Font in dialogs=0 Align dialogs=1 Global search=1 Aligned search=0 Ignore case=0 Search direction=1 Floating search with margin=0 Allow extra commands in sequence=1 Allow jumps into the sequence=0 Keep size of hex edit selection=0 Sorting mode of error list=0 Modify FPU tag=0 MMX display mode=0 Show tooltips in dialog windows=1 X options coordinate=460 Y options coordinate=377 Last selected options pane=13 Last edited font in options=3 Last edited scheme in options=0 Last edited colour index in options=6 Last edited highlighting in options=1 Last edited highlighting index in options=16 Warnmode when not administrator=0 Warnmode for packed code in Analyzer=0 Warnmode when process is still running=6 Warnmode when INT3 breakpoint is corrupt=1 Warnmode when INT3 set on non-command=0 Warnmode when clipboard size too large=0 Warnmode when all threads are suspended=0 Warnmode when thread is changed=0 Warnmode when executable differs from udd=7 Warnmode when INT3 in udd has different cmd=0 Warnmode when fixups are modified=0 Warnmode when memory breakpoint on stack=0 Warnmode when modified debug registers=0 Only ASCII printable in dump=1 Underline fixups=1 Show jump direction=1 Show jump path=1 Show path if jump is not taken=1 Fill rest of command with NOPs=0 Action on letter key in Disassembler=2 Wide characters in UNICODE dumps=1 Automatically backup user code=0 IDEAL disassembling mode=0 Disassemble in lowercase=0 Separate arguments with TAB=0 Extra space between arguments=0 Show default segments=0 Always show memory size=1 NEAR jump modifiers=0 Use short form of string commands=0 Use RET instead of RETN=1 SSE size decoding mode=0 Jump hint decoding mode=0 Size sensitive mnemonics=1 Top of FPU stack=1 Show symbolic addresses=1 Show local module names=1 Demangle symbolic names=0 First pause=1 Pause on attach=1 Assume flat selectors=0 Ignore access violations in KERNEL32=1 Ignore INT3=1 Ignore TRAP=1 Ignore access violations=0 Ignore division by 0=1 Ignore illegal instructions=1 Ignore all FPU exceptions=1 Ignore custom exception ranges=1 Call UnhandledExceptionFilter=1 Report ignored exceptions to log=1 Autoreturn=0 Use DebugBreakProcess=0 Use ExitProcess=0 Warn when frequent breaks=1 Allow command emulation=0 Debug child processes=0 Animation delay index=0 Stop on new DLL=0 Stop on DLL unload=0 Stop on debug string=0 Stop on new thread=0 Stop on thread end=0 Run trace protocolling options=0 Run trace buffer size index=2 Trace over system DLLs=1 Trace over string commands=1 Save traced commands=0 Save accessed memory to trace=0 Save FPU registers to trace=0 Synchronize CPU and Run trace=1 Set breakpoints on callbacks in hit trace=0 Hit trace mode for indirect jumps=0 Stop hit trace if not command=0 Hit trace outside the code section=2 Show symbolic names in protocol range list=0 Use predictions in search=1 References include indirect jumps=1 Add origin to search results=0 Default resource language=9 Gray inactive windows=1 Gray register names=0 Center FOLLOWed command=1 Decode registers for any IP=0 Automatically select register type=0 Enable SSE registers=1 Label display mode=2 Highlight symbolic labels=0 Log buffer size index=2 Tabulate columns in log file=0 Append data to existing log file=0 Auto analysis=0 No predicted registers in system DLLs=0 Fuzzy analysis=1 Report problems during analysis=0 Decode tricks=1 Mark tricks=0 Decode ifs as switches=0 Functions preserve registers=1 Guess number of arguments=1 Guess arguments from mangled names=0 Guess meaning of guessed arguments=1 Show uncertain arguments=1 Rename value dependent arguments=0 Show predicted values=1 Show ARG and LOCAL in disassembly=1 Use symbolic names for ARG and LOCAL=1 Show ARG and LOCAL in comments=1 Show loops=1 Accept far calls and returns=0 Accept direct segment modifications=0 Accept privileged commands=0 Accept I/O commands=0 Accept NOPs=1 Accept shifts out of range=0 Accept superfluous prefixes=0 Accept default prefixes=1 Accept valid LOCK prefixes=1 Accept unaligned stack operations=1 Accept suspicious ESP operations=0 Accept non-standard command forms=1 Accept access to nonexisting memory=1 Accept interrupt commands=1 Index of default UNICODE font=1 Warnmode when unable to close process=0 Show grayed path if jump is not taken=1 Remove code hilite on register hilite=1 Ignore braces in udd path=1 List sorting mode=0 Warnmode when launching loaddll=6 Visible lines when scrolling disasm=1 Pause on Loaddll=1 Stop only on selected modules=0 Enable use of debugging data=1 Use dbghelp to walk stack=0 Use Microsoft Symbol Server=0 Hide missing source files=1 Hide internal compiler names=1 Skip leading spaces from source=1 Hide Call DLL window on call=0 Pause after call to DLL is finished=1 Mark only important operands=0 Block external WM_CLOSE=1 Activate speech=0 Translate commands and registers=1 Skip leading zeros in hex numbers=1 Bring OllyDbg to top on pause=1 Put ASCII text to clipboard=0 Warnmode when breakpoint set on non-command=6 Warnmode when EIP set on non-command=0 Warnmode when active when closing OllyDbg=6 Warnmode when copy of executable file changed=1 Warnmode when EIP inside the patch=0 Code page for ASCII dumps=1252 Use hardware breakpoints for stepping=0 Ignore all service exceptions=1 Allow .NET debugging=0 Scan registry for GUIDs on starup=0 Allow automatic SFX extraction=0 SFX extraction mode=0 Use real SFX entry from previous run=1 Ignore SFX exceptions=1 Monitor internal memory allocation=0 Alternative forms of conditional commands=1 Permanent breakpoints on system code=0 Ignore INT3 in MSCORWKS=1 Keep hit trace between sessions=1 GUI language=0 Search accuracy=0 Warnmode when IAT is copied back to exe=0 Warnmode when IAT is autocopied back to exe=0 Code page for multibyte dumps=65001 Disable GDI scripting support=0 Show call arguments=0 Type of break command=4 Hide unimportant handles=1 Show original handle names=0 Hide current registers warning=0 Search for library functions=1 [OllyDbg] Placement=449,140,1157,767,1 [History] Data directory=\udd Plugin directory=\plugin Standard library directory=\udl API help file= Executable[0]= Arguments[0]= Current dir[0]= Log file=log.txt Trace save file=trace.txt Last viewed file= Last keyboard shortcuts file=shortcuts.ini Previous JIT= Debug data directory[0]= Debug data directory[1]= Debug data directory[2]= Alternative initialization file= Last object or library file= Last image library file= [CPU] Placement=0,0,1005,610,3 Offset[0]=0 Offset[1]=-263 Offset[2]=1 Offset[3]=24 [CPU Disasm] Appearance=3,6,1,0,6 Columns=63,119,280,1792 [CPU Info] Appearance=7,6,0,0,0 [CPU registers] Appearance=3,6,0,0,0 Local=2,72448 [CPU Dump] Appearance=3,6,1,0,0 Columns=63,336,119 Local=00011001 [CPU Stack] Appearance=3,6,0,0,0 Columns=63,70,35,1792 Local=000A0104 [Attach] Appearance=7,6,1,0,0 Columns=63,84,196,1792 Sort=1 [Custom colours] Custom colour[0]=97,178,48 Custom colour[1]=175,175,175 Custom colour[2]=255,4,4 Custom colour[3]=12,16,33 Custom colour[4]=12,16,33 Custom colour[8]=12,16,33 Custom colour[3]=255,57,57 Custom colour[5]=63,116,31 Custom colour[9]=45,50,67 Custom colour[12]=65,121,197 Custom colour[7]=63,116,31 Custom colour[6]=171,224,139 Custom colour[10]=171,224,139 Custom colour[11]=65,121,197 Custom colour[13]=251,222,45 Custom colour[14]=174,156,235 [Log data] Placement=69,98,872,481,1 Appearance=3,6,1,0,0 Columns=63,1792 Sort=0 [Hardware breakpoints] Placement=64,162,823,239,1 Appearance=7,3,1,0,0 Columns=35,63,63,63,84,280,1792 Sort=0 [Memory breakpoints] Placement=3,310,883,239,1 Appearance=7,5,1,0,0 Columns=63,63,63,35,84,1792 Sort=0 [INT3 breakpoints] Placement=67,86,881,486,1 Appearance=7,0,1,0,0 Columns=63,63,84,280,1792 Sort=0 [Threads] Placement=78,23,632,239,1 Appearance=7,6,1,0,0 Columns=42,63,126,126,63,63,63,84,84,84 Sort=0 [Run trace data] Placement=154,154,632,239,1 Appearance=7,6,1,0,0 Columns=63,56,63,63,280,168,1792 Sort=0 [Modules] Placement=3,51,941,382,1 Appearance=7,6,1,0,0 Columns=63,63,63,112,84,112,280,1792 Sort=0 [Memory] Placement=55,99,773,239,1 Appearance=7,6,1,0,0 Columns=63,63,112,70,168,35,56,56,1792 Sort=0 [Dump] Appearance=7,6,1,0,0 Placement=43,43,902,417,1 [Filedump] Appearance=7,6,1,0,0 [Search] Placement=176,34,717,506,1 Appearance=7,6,1,0,0 [Watches] Placement=91,102,584,223,1 Appearance=7,6,1,0,0 Columns=280,280 Sort=0 [Namelist] Appearance=7,6,1,0,0 Sort=0 Placement=300,300,922,234,1 Columns=63,63,77,56,280,1792 [Command help] Placement=250,250,333,173,1 Appearance=1,6,0,0,0 [Window Maximizer] Plugin is active=1 [Vic Plug-In 2] Maximize ollydbg window=1 Maximize current MDI window=1 Transparent ollydbg window=255 Show toolbar on ollydbg title=2 Hide the PEB=0 [OllyExt] IsDebuggerPresent=1 NtGlobalFlag=0 HeapFlags=1 ForceFlags=1 CheckRemoteDebuggerPresent=1 OutputDebugString=1 CloseHandle=1 SeDebugPrivilege=1 BlockInput=1 ProcessDebugFlags=1 ProcessDebugObjectHandle=1 TerminateProcess=1 NtSetInformationThread=1 NtQueryObject=1 FindWindow=1 NtOpenProcess=1 Process32Next=1 ParentProcess=1 Caption=1 KillAntiAttach=1 GetTickCount=0 TimeGetTime=1 QueryPerformanceCounter=1 ZwGetContextThread=1 NtSetContextThread=1 Process32First=1 KdDebuggerNotPresent=1 KdDebuggerEnabled=1 NtSetDebugFilterState=1 ProtectDRX=1 HideDRX=1 DbgPrompt=1 RDTSC=0 RDTSC_DRV=0 CodeRipperSyntax=0 DataRipperSyntax=0 CreateThread=1 [Windows] Placement=14,78,793,182,1 Appearance=1,6,1,0,0 Columns=78,192,54,54,54,48,54,54,54,54,72 Sort=0 [Search tab] Appearance[3]=1,6,1,0,0 Columns[3]=54,240,1536 Sort[3]=0 Appearance=1,6,1,0,0 Columns=63,56,63,63,280,168,1792 Sort=0 Appearance[1]=1,0,1,0,0 Columns[1]=54,240,1536 Sort[1]=0 Appearance[8]=1,6,1,0,0 Columns[8]=54,240,54,210,1536 Sort[8]=3 [Bookmarks] Restore window=0 Show bookmarks in Disassembler=1 [Call Stack] Placement=99,84,668,182,1 Appearance=1,6,1,0,0 Columns=54,54,270,168,54 Sort=0 [Dialog placement] Enter string=2385,39 Select range of exception codes=1923,67 Assemble=2385,74 Set breakpoint=2697,169 Command search=2385,96 Search for data=3339,178 Edit register=3422,104 Known jumps and calls=667,75 Edit data=1069,368 Enter search string=3380,112 Shortcut editor=4,50 Enter new command line arguments=0,46 Create standard function library=163,79 Drive extent=0,46 Select structure=2441,429 [Goto] Appearance=1,0,0,0,0 [Multiline Ultimate Assembler] tabs_path=.\multiasm pos_x=283 pos_y=61 pos_w=490 pos_h=349 [OllySEH] Placement=154,203,595,182,1 Appearance=1,0,1,0,0 Columns=90,90,90,1536 Sort=0 [AAHWBP] AntiAntiHWBPOn=1 [Vic Plug-In 2] Maximize ollydbg window=1 Maximize current MDI window=0 Transparent ollydbg window=255 Show toolbar on ollydbg title=1 Hide the PEB=0 [Shortcut editor] Appearance=1,0,1,0,0 [OllySkin2] skinPath=.\Skin\kupo2o.msstyles Enable=0 [Trace API] Restore window=0 [List of libraries] Appearance=1,0,1,0,0 Columns=300,1536 Sort=0 [Patches] Placement=22,29,895,182,1 Appearance=1,0,1,0,0 Columns=54,54,30,48,192,192,1536 Sort=0 [Arguments] Current dir[0]= Current dir[1]= Current dir[2]= Current dir[3]= Current dir[4]= Current dir[5]= Current dir[6]= Current dir[7]= Current dir[8]= Current dir[9]= Current dir[10]= Current dir[11]= Current dir[12]= Current dir[13]= Current dir[14]= Current dir[15]= [Handles] Placement=260,260,1932,187,1 Appearance=1,6,1,0,0 Columns=54,90,36,54,24,120,1530 Sort=0 [Hit Trace Difference] Placement=300,300,567,186,1 Appearance=1,0,1,0,0 Columns=54,480 Sort=0 [Dump[2]] Placement=25,25,471,186,1 [Dump[2]] Appearance=1,0,1,0,0 [Dump[1]] Placement=0,0,477,186,1 [Dump[1]] Appearance=1,0,1,0,0 [Dump[9]] Placement=275,275,477,186,1 [Dump[9]] Appearance=1,0,1,0,0 [Dump[8]] Placement=250,250,477,186,1 [Dump[8]] Appearance=1,0,1,0,0 [Dump[7]] Placement=1284,319,477,186,1 [Dump[7]] Appearance=1,0,1,0,0 [Dump[6]] Placement=-16,609,477,186,1 [Dump[6]] Appearance=1,0,1,0,0 [Dump[4]] Placement=442,682,477,186,1 [Dump[4]] Appearance=1,0,1,0,0 [Dump[5]] Placement=175,175,477,186,1 [Dump[5]] Appearance=1,0,1,0,0 [Dump[3]] Placement=1252,132,477,186,1 [Dump[3]] Appearance=1,0,1,0,0 [Dump[2]] Placement=1030,577,477,186,1 [Dump[2]] Appearance=1,0,1,0,0 [Dump[1]] Placement=0,0,471,186,1 [Dump[1]] Appearance=1,6,1,0,6 [Registers] Placement=801,114,429,476,1 Appearance=1,6,1,0,0 Local=0,0 [SEH chain] Placement=300,300,297,186,1 Appearance=1,0,1,0,0 Columns=36,54,54,120 Sort=0 [Dump[4]] Placement=75,75,477,186,1 [Dump[4]] Appearance=1,0,1,0,0 [Dump[3]] Placement=50,50,477,186,1 [Dump[3]] Appearance=1,0,1,0,0 [Dump[2]] Placement=25,25,477,186,1 [Dump[2]] Appearance=1,0,1,0,0 [Dump[1]] Placement=0,0,477,186,1 [Dump[1]] Appearance=1,0,1,0,0 [Dump[9]] Placement=275,275,477,186,1 [Dump[9]] Appearance=1,0,1,0,0 [Dump[8]] Placement=250,250,477,186,1 [Dump[8]] Appearance=1,0,1,0,0 [Dump[7]] Placement=225,225,477,186,1 [Dump[7]] Appearance=1,0,1,0,0 [Dump[6]] Placement=200,200,477,186,1 [Dump[6]] Appearance=1,0,1,0,0 [Dump[5]] Placement=175,175,477,186,1 [Dump[5]] Appearance=1,0,1,0,0 [Dump[4]] Placement=150,150,477,186,1 [Dump[4]] Appearance=1,0,1,0,0 [Dump[3]] Placement=125,125,477,186,1 [Dump[3]] Appearance=1,0,1,0,0 [Dump[2]] Placement=100,100,477,186,1 [Dump[2]] Appearance=1,0,1,0,0 [Dump[1]] Placement=75,75,477,186,1 [Dump[1]] Appearance=1,0,1,0,0 [Dump[5]] Placement=125,125,477,186,1 [Dump[5]] Appearance=1,0,1,0,0 [Dump[4]] Placement=100,100,477,186,1 [Dump[4]] Appearance=1,0,1,0,0 [Dump[3]] Placement=75,75,477,186,1 [Dump[3]] Appearance=1,0,1,0,0 [Dump[2]] Placement=50,50,477,186,1 [Dump[2]] Appearance=1,0,1,0,0 [Dump[1]] Placement=25,25,477,186,1 [Dump[1]] Appearance=1,0,1,0,0 [Dump[9]] Placement=250,250,477,186,1 [Dump[9]] Appearance=1,0,1,0,0 [Dump[8]] Placement=225,225,477,186,1 [Dump[8]] Appearance=1,0,1,0,0 [Dump[7]] Placement=939,605,477,186,1 [Dump[7]] Appearance=1,0,1,0,0 [Dump[6]] Placement=339,477,477,186,1 [Dump[6]] Appearance=1,0,1,0,0 [Dump[5]] Placement=853,320,477,186,1 [Dump[5]] Appearance=1,0,1,0,0 [Dump[4]] Placement=125,125,477,186,1 [Dump[4]] Appearance=1,0,1,0,0 [Dump[3]] Placement=710,555,477,186,1 [Dump[3]] Appearance=1,0,1,0,0 [Dump[2]] Placement=295,497,477,186,1 [Dump[2]] Appearance=1,0,1,0,0 [Dump[1]] Placement=830,473,477,186,1 [Dump[1]] Appearance=1,0,1,0,0 [Dump[1]] Placement=25,25,477,186,1 [Dump[1]] Appearance=1,0,1,0,0 [Dump[3]] Placement=125,125,477,186,1 [Dump[3]] Appearance=1,0,1,0,0 [Dump[3]] Placement=150,150,477,186,1 [Dump[3]] Appearance=1,0,1,0,0 [Dump[2]] Placement=808,413,477,186,1 [Dump[2]] Appearance=1,0,1,0,0 [Dump[1]] Placement=75,75,477,186,1 [Dump[1]] Appearance=1,0,1,0,0 [Dump[1]] Placement=25,25,477,186,1 [Dump[1]] Appearance=1,0,1,0,0 [Dump[6]] Placement=718,489,477,186,1 [Dump[6]] Appearance=1,0,1,0,0 [Dump[5]] Placement=217,450,477,186,1 [Dump[5]] Appearance=1,0,1,0,0 [Dump[4]] Placement=150,150,477,186,1 [Dump[4]] Appearance=1,0,1,0,0 [Dump[3]] Placement=125,125,477,186,1 [Dump[3]] Appearance=1,0,1,0,0 [Dump[2]] Placement=100,100,477,186,1 [Dump[2]] Appearance=1,0,1,0,0 [Dump[1]] Placement=75,75,477,186,1 [Dump[1]] Appearance=1,0,1,0,0 [Dump[2]] Placement=75,75,477,186,1 [Dump[2]] Appearance=1,0,1,0,0 [Dump[4]] Placement=407,374,477,186,1 [Dump[4]] Appearance=1,0,1,0,0 [Dump[3]] Placement=125,125,477,186,1 [Dump[3]] Appearance=1,0,1,0,0 [Dump[2]] Placement=100,100,477,186,1 [Dump[2]] Appearance=1,0,1,0,0 [Dump[1]] Placement=50,50,477,186,1 [Dump[1]] Appearance=1,0,1,0,0 [Ignored exceptions] Range[0]=0 e06d7363 [Colour schemes] Scheme name[0]=Black on white Foreground_1[0]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[0]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[0]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[0]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[0]=0 Modified commands[0]=0 Scheme name[1]=Yellow on blue Foreground_1[1]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[1]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[1]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[1]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[1]=0 Modified commands[1]=0 Scheme name[2]=Marine Foreground_1[2]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[2]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[2]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[2]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[2]=0 Modified commands[2]=0 Scheme name[3]=Mostly black Foreground_1[3]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[3]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[3]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[3]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[3]=0 Modified commands[3]=0 Scheme name[4]=Scheme 4 Foreground_1[4]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[4]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[4]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[4]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[4]=0 Modified commands[4]=0 Scheme name[5]=Scheme 5 Foreground_1[5]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[5]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[5]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[5]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[5]=0 Modified commands[5]=0 Scheme name[6]=Blackboard Foreground_1[6]=F0F0F0,F0FBFF,AFAFAF,404FF,F0FBFF,F0FBFF,F0FBFF,F0FBFF,FFFFFF,F0FBFF,*,*,*,*,*,* Foreground_2[6]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[6]=21100C,21100C,21100C,21100C,3939FF,C57941,EB9CAE,C57941,21100C,43322D,*,*,*,*,*,* Background_2[6]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[6]=0 Modified commands[6]=0 Scheme name[7]=Scheme 7 Foreground_1[7]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[7]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[7]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[7]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[7]=0 Modified commands[7]=0 [Highlighting schemes] Scheme name[1]=Christmas tree Foreground_1[1]=*,*,*,*,*,*,*,*,*,*,*,*,0,0,*,* Foreground_2[1]=0,0,*,FF00FF,*,FF,*,*,0,*,*,800000,800000,*,808080,* Background_1[1]=*,*,*,*,*,*,*,*,*,*,*,*,FFFFFF,*,*,* Background_2[1]=FFFF00,FFFF00,*,A4A0A0,C0C0C0,808080,*,*,F0FBFF,*,*,*,F0FBFF,*,F0FBFF,* Operands[1]=1 Modified commands[1]=1 Scheme name[2]=Jumps and calls Foreground_1[2]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[2]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[2]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[2]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[2]=0 Modified commands[2]=0 Scheme name[3]=Memory access Foreground_1[3]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[3]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[3]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[3]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[3]=1 Modified commands[3]=1 Scheme name[4]=Hilite 4 Foreground_1[4]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[4]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[4]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[4]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[4]=0 Modified commands[4]=0 Scheme name[5]=Hilite 5 Foreground_1[5]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Foreground_2[5]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[5]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[5]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[5]=0 Modified commands[5]=0 Scheme name[6]=Blackboard Foreground_1[6]=*,*,*,*,*,*,*,*,*,*,*,*,FFF,3939FF,3939FF,FFFF Foreground_2[6]=3939FF,3939FF,*,*,*,*,*,*,C57941,C57941,*,8BE0AB,30B261,8BE0AB,30B261,* Background_1[6]=*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_2[6]=*,*,*,3939FF,*,*,*,*,*,*,*,*,*,*,*,* Operands[6]=1 Modified commands[6]=1 Scheme name[7]=Hilite 7 Foreground_1[7]=*,*,*,*,*,*,*,*,*,*,*,*,*,FF0000,30B261,* Foreground_2[7]=404FF,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Background_1[7]=*,*,*,*,*,*,*,*,*,*,*,*,*,21100C,21100C,* Background_2[7]=21100C,*,*,*,*,*,*,*,*,*,*,*,*,*,*,* Operands[7]=1 Modified commands[7]=1 [Fonts] Font name[0]=OEM fixed font Font data[0]=0,0,0,0,0,0,0,0,0,0,0,10 Face name[0]= Font name[1]=Terminal 6 Font data[1]=9,6,700,0,0,0,255,0,1,1,0,0 Face name[1]=Terminal Font name[2]=System fixed font Font data[2]=0,0,0,0,0,0,0,0,0,0,0,16 Face name[2]= Font name[3]=Courier (UNICODE) Font data[3]=14,0,400,0,0,0,1,2,5,-2,0,0 Face name[3]=Courier New Font name[4]=Lucida (UNICODE) Font data[4]=10,6,400,0,0,0,1,2,5,0,0,0 Face name[4]=Lucida Console Font name[5]=Font 5 Font data[5]=9,6,700,0,0,0,255,0,1,1,0,0 Face name[5]=Terminal Font name[6]=Font 6 Font data[6]=-12,0,400,0,0,0,255,1,49,0,0,0 Face name[6]=Terminal Font name[7]=Font 7 Font data[7]=14,0,400,0,0,0,1,2,5,-2,0,0 Face name[7]=Courier New [Shortcuts] Go to previous history location=01002D (Minus (-)) Go to next history location=01003D ('=') Set register to 1=040061 (Ctrl+Numeric 1) List jumps and calls to command=08004A (Alt+J)

habrahabr.ru

OLLY.Tools 2014 - Olly Debugger

Сборка плагинов,скриптов,интсрументов для ОllyDbg 2014

В состав входят:

1)Плагины для OllyDbg 1.10

2)Плагины для OllyDbg 2.01

3)Патчи для OllyDbg 1.10

4)Мануалы по работе с OllyDbg

5)Инструменты для OllyDbg

6)Плагины конвертеры для OllyDbg

7)Плагины для обнаружение и скрытия OllyDbag

8)Мануалы для работы с скриптами OllyDbg

9)Сами отладчики с уже интегрироваными плагинами

10)Скрипты для распоковки упаковщиков,протекторов.

Плагины для OllyDbg 1.10

+BP-Olly V2.0 Beta 4

aadp4olly v0.1.1

Address to File Offset v1.0

AdvancedOlly v1.25

AdvancedOlly v1.26 beta 8

AdvancedOlly v1.26 beta 10

AdvancedOlly v1.26 beta 12

AJunk v1.0

Analyze This v0.1

AnalyzeThis+ v0.24

Anti DRX v1.0

Anti-Anti Hardware Breakpoint v0.1

Anti-Anti v0.11

AntiDetectOlly v2.2.4

API Break v0.2

API Finder v0.3

API Helper v1.0.0.1

ApiBreak Nonameo

Apihlp

aRC-Olly Admin v1.01

Ariadne Optimizer v0.1

ArmaDetach v1.01

AsciiTable v1.1

Asm2clipboard v0.4

ASProtect v1.20

Asprotect_1.2x

Attach Anyway v0.1

AttachAnyway v0.3

AttachExtended v0.1

AttachHelper v0.1

AttachTo v0.1

AutoPath v0.1

Base64 v1.00

BlkLabel v1.0

Bookmark v1.06

Break On Execution v1.1b

Break On Load v0.1

Calculator v0.1

Catcha! v1.0

CheatUtility 1.0

CLBPlus! v1.0

CleanUpex v1.12

ClearUDD v1.0

CmdBar v3.20.110

Cmdline modified

Code (Delphi) Helper v0.5

Code Ripper v1.3

CodeDoctor v0.90

Command Bar v1.08.02

Conditional Branch Logger v1.0

CopyHexCode v0.20

CPU Initialization Patch v1.0.0.1

Crypto Scanner 0.5b

DataChage (2011-03-01)

DataRipper 1.3

DataRipper v1.2

Debug Help v0.1

Debug Privilege v1.0

DebugActiveProcessStop v0.1

DebugAsUser v0.2b

DebugPlugin v1.0

Dejunk v0.13

Delphi Library Call Importer v1.0

DetachMe v2.0

Dirty Banditos v0.1

DLLBreakEx v1.2

E Junk Code v1.0

EasyController v.1.0.3

excounter v0.1b

ExtraCopy v1.0

FindAddress v1.0.0.3

FindCrypt v0.1

Force Allocate v0.1

FullDisasm_OllyDbg v3.0.1.172

Games Invader v2.1

GoDup v1.2

HanOlly Plugin v0.1

Hash Sniffer v2.0

HiddenThreads v0.1

Hide Debugger v1.2.4

HideCapt v1.00

HideDebugger v1.24

hideod 0.17

HideOD v0.181

HitTrace v0.1

HOlly v0.2

HookSysCalls v0.1

Hyde OD2.xx & CleanupEx 2.0.0d

HzorInline Helper Plugin v1.0

ICanAttach v0.2

IDA Sigs v1.0 Beta3

IDAFicator v2.0.11.45

ILLY v0.1 Beta 5

ImmLabel v1.3

ImmSoftice v0.1

InjectHookLib v0.1

IsDebugExtraHide v1.4

IsDebuggerPresent v1.4

j10n (Font Changer) v1.40.106

Kernel Disassembler v1.0

Labeler v1.33

Labelmaster

Launcer v0.1

LCB Plugin v0.10

Load Map v0.1

LoadDLL 1.1

Loadsome2

MagicHideOllyDbg v1.01

MapConv v1.4

Mapimp v0.8

MarkAllAsSystem v0.1

MD5 Sniffer v1.0 Beta

Memory Backup v0.1

Memory Watch v1.0

MemoryDump v0.9

MemoryFollow v1.0

MemoryManage

MnemonicHelp v1.1

Modified CmdLine v2442007

ModuleBCL v1.0

ModuleBpx v0.1

Multiline Ultimate Assembler v2.1

NameChanger v1.1

Nonawrite v1.1

NonaWrite v1.2

noSound v0.01

NotePad Topmost 1.1

NTGlobalFlag v1.1

ODBJScript v1.1.956

ODDragAttach v1.1

oDump v0.1

Olly Advanced v1.27

Olly BP Mannager

Olly Detach v0.2

Olly Fader v0.1

Olly Heap Vis

Olly Helper v1.3

Olly Hittrace

Olly Invisible v0.9.11

Olly Machine v0.2

Olly Module bpx

Olly Sync v0.2

Olly Toolbar Manager Gold

OllyBkmrX v1.9

OllyBone v0.1

OllyBugFix v0.1

OllyCallTrace v1.0

OllyCopy v0.3

OllyDbg De-Attach Helper v0.1

OllyDbg PE Dumper v3.03

OllyDemangler v0.1

OllyDump v3.00.110

OllyEmbellisher v0.1

OllyEye v0.1

OllyFlow v0.71 + OllyGraph v0.1

OllyGetObj v0.1

ollyghost++

OllyGuard v0.1.2

OllyMemScan v0.01

OllyMoreMenu v1.3b

OllyPad v1.1

OllyMSDN

OllyPython v0.12 (Wushi)

OllySafe v0.1

OllyScript 1.48 CH

OllyScript v0.93_x86_build

OllySkin v0.1

OllySnake v0.1

OllySocketTrace v1.0

OllySSEH - SafeSEH Module Scanner v0.1 \

OllyStepNSearch v0.6.1

OllyStructs v1.0

OllySymbolServer v0.0

OllyTiper.2.0

OllyUni v0.07

OllyVB v0.1

OllyVBHelper v0.1

OllyWow64 v0.1

Oreans.UnVirtualizer.v1.5

PhantOm Plugin v1.54

Plugin Loader v0.1

Plugins Manager v1.2

Point Events in Delphi Executables v1.0

Poison v0.1

Polymorphic Breakpoint v0.1

Punto H v0.1

PuntosMagicos v0.1

PushTracer v0.1

Python Plugin v0.3

RemoveCriticality v0.2

Robin v0.01

Scripad v1.0

SehSpy 0.1

SerialCounter v1.00

SigMaker v0.4

SkyPatch v1.0

Sleepp v0.5

StayOnTop v1.0

Stealth64 v1.2 (Beta)

StrongOD_v0.4.8.872

Suspicious Breakpoint Fix v1.0

Table Exporter v1.0

TLSCatch v0.3

TracKid v1.20

TransOlly v1.0a

Turbo Debug v1.0

Ultra String Reference v0.12

UnHandled Exception Filter v0.22p

Universal Hooker v1.3

VEHWalk v0.3

Virtual2Physical v0.1

VMSweeper v1.5 Beta 2

Watchman v1.00

Weasle v0.6

Window Infos v0.1

Window Juggler v0.06

Window Maximizer v1.00

X_CRYPTO 1.2

AdvancedOlly v1.26 beta 12

Analyze This v0.1

AntiAsprotect v1.2x

AntiDetectOlly v2.2.4

API_Break

ApiBreak Nonameo

APIFinder v0.2

Apihlp

Asm2Clipboard

CleanupEx 1.12.108

CleanUpex v1.12

cleanupex112

CmdBar v3.201.10

Cmdline modified

Code Ripper v1.3

FullDisasm v1.0

ExtraCopy v1.0

GoDup v1.2

Uhooker v1.2

StrongODV0.4.5

Universal Hooker v1.1

VMP Analysis Plugin v1.4

VMSweeper v1.5 Beta 2

Zeus v0.2

и т/д.......

Скрипты для снятия упаковщиков протекторов и т.д

!EPack

12311134

32Lite

Acprotect

ActiveMark

AHpack

AHTeam EP Protector

AIO_Scripts900 by LCF-AT

Alawar Games

Alex Protector

ANDpakk

Armadillo

AsCrypt

ASDPack

Aspack

Asprotect

At4re Asm Protecter

AverCryptor

Backdoor PE Compress Protector

BamBam

Bastards Tools

Beria

C.I. Crypt

CDS SS

Code Cave Finder

Code Redirect Remover

COOLcryptor

Crunch

CRYPT

CrypToCrack Pe Protector

CSDSJKK Protector

D1S1G++

DalKrypt

DBPE

DetachFarther

DexCrypt

DotFix NiceProtect

DragonArmor

Duals eXe

DXPack

EmbedPE

Encrypt PE

EncryptPE

Enigma

Escargot

eXcalibur

EXE Evil

Exe32Pack

EXECrypt

ExeCryptor

ExeFog

ExeSax

ExeShield

ExeStealth

ExeStealth Protector & Packer

eXPressor

Ezip

FatMike

fEaRz Crypter

FishPE

Flexlm

French Layor

FSG

G!X Protector

GameHouse

GHF Protector

Hide & Protect

Hmimys Packer

Hying

ID Application Protector

JDPack - JDProtect

JExeCompressor

KaOs PE-DLL eXecutable Undetecter

KByS Packer

Krypton

LAMECRYPT

LARP

MEW

mfPacker

Mimoza

MKFPack

MoleBox

Morphine

Morphnah

mPack

MPress

Mr Undectetable

MSLRH

NakedPacker

NeoLite

NOmeR1

nPack

nProtect GameGuard

NsPack

NTkrnl Packer

Obsidium

Orien

OTHER SCRIPTS

Packman

PC PeSHRINKER

PC-Guard

PE Diminisher

PE Lock NT

PE-Armor

Pe123

PEBundle

PeCancer

PeCompact

PEncrypt

PePack

Pepsi

PeShield

PeSpin

Pestil

Pet i t e

PeX

PKLite32

Pohernah

Poly!Crypt

PolyCrypt

PolyEnE

Private EXE Protector

Private Personal Packer

Protection Plus

QrYPt0r

QuickPack

README.txt

RLPack

SafeCast

SafeDics

SDProtector Pro

SecuROM

Shegerd EXE Protector

Simple pack

SimplePack

SLVc Protector

SoftSentry

Software Compress

Softwrap

SPLayer

SVKP

tElock

The Best Cryptor

Themida

Thinstall

Thunderbolt

Undetector

UnDo Crypter

Unopix Scrambler

UProtector

Upx

UPX Lock

UPX Mutanter

UPX Protector

Upx s h i t

UPX Scrambler

USSR

VBox

VGCrypt PE Encryptor

Virogen Crypt

VirProtector

visual protect

VPacker

Wind of Crypt

WinKripT

WinLicence

winunpack

WinUpack

WWPack32

XComp-XPack

Yodas Crypter

Yodas Protector

YZPack

Плагины для OllyDbg 2.01

AntiDebugTimePlugin v0.1

BinaryCopyEx v1.1.0

DragAttach v2.01

Holyshit v0.3.3

Multiline Ultimate Assembler v2.1.2

OD2-ExPlug v201.09

OllyDbg2FixeR v201.02

OllyExt v1.6.1

OllyID v0.5.0

OllyMigrate v0.80

OllySpelunk v0.1.0

Playtime v1.0.0.r57

VicPlug-In-2 v2.05

VicPlugIn2.05 CHS

Патчи для OllyDbg 1.10

Anti EXECryptor

Anti Detetion of OllyDbg Class Names

Anti DetectOlly

Anti DetectOlly.sr

Anti DetectOllyPatch-2

Anti DetectOlly_v2.2.4

anti dtolly2.2.3

NewBdbg v1.11.Patcher

ollydbg 1.xxpatch

OLLYDBG ClassName Patch

Ollydg FLDpatch [AoRE]

re-pair

SnD - invisible ollydbg and known plugins v1.0

Редакторы для написания скриптов для OllyDbg

Olly Script Editor 1.03

Olly Script Editor 2.00

OllyScriptEditor v0.35

OllySubScript v1.0 beta 3

OllySubScript v1.4.1

 

Скачать - https://yadi.sk/d/hG5dLLPTcgm6t

gamehacklab.ru

Введение в крэкинг с нуля, используя OllyDbg - Глава 1

Введение в крэкинг с нуля, используя OllyDbg - Глава 1 — Архив WASM.RU

Целью данного «Введения в крэкинг с нуля, используя OllyDbg», является дать тем, кто только начал осваивать искусство крэкнинга, базовые знания и, вместе с тем, сделать это так, чтобы эти знания позволили в дальнейшем читать и понимать более продвинутые туториалы – такие, которые можно встретить в «Новом курсе от CracksLatinos», который, разумеется, остаётся открытым для новых добавлений и пополнений.

Идея создания курса родилась из-за того, что многие туториалы в «Новом курсе от CracksLations» оказывались слишком сложными для новичков, и те, не сумев достигнуть нужного уровня, оказывались разочарованными и во многих случаях отказывались продолжать. Поэтому целью данного «Введения...» является не повторение прекрасных туториалов из «Нового курса...», число которых уже перевалило за 500, но заложить основу, чтобы те, кто закончит данный курс, смогли читать более сложные пособия. Это, как и всё в нашем ремесле, требует значительных усилий, и главной задачей является сократить их количество, дав базовые знания и позволив в дальнейшем понимать более сложный материал.

Почему OLLYDBG?

Мы не будем здесь рассуждать о вечном противостоянии Soft-Ice против OllyDbg, думаю, что даже фанатики от Soft-Ice признают, что проще начать с OllyDbg, так как о нём много информации и его проще изучать. Нам нужно войти в мир крэкинга через дверь под названием «OllyDbg», а уже потом тот, кому нужно, сможет перейти на любой другой отладчик, который потребуется, так как меняются лишь их способы использования, но суть остаётся неизменной.

Начнём с начала

Сначала нужно вооружиться инструментом, который мы собираемся в основном использовать, для чего кликните тут и скачайте его.

Поскольку мы начинаем с нуля, то для начала нам нужно распаковать скачанный архив в такую папку на жёстком диске, до которой можно легко добраться. Хорошей идеей будет создать папку на диске C:/. Хотя будет работать и в любом другом месте, я буду исходить из того, что выбран диск C:/.

После того, как файл был распакован, заходим в созданную папку и видим:

В ней находится исполняемый файл OLLYDBG.exe, который нам и нужно запустить и ярлык которого я для удобства сделал на своём рабочем столе.

Ок, всё готово к запуску. Кликаем на OllyDbg:

Перед нами повляется сообщение о том, что DLL, находящаяся в библиотеке, старше, чем такая же системная DLL, и если выберем «Да», то тогда старая DLL будет стёрта из папки, а использоваться будет системная. Хотя я не вижу особых различий между этими двумя, тем не менее, предпочитаю ту, которая идёт с дистрибутивом, и поэтому всегда нажимаю «Нет».

Это чистый OllyDbg, и первой программой, которую мы откроем только для того, чтобы ознакомиться с OllyDbg, станет знаменитый CrackMe CrueHead’а, который приложен к данному туториалу.

Чтобы открыть файл в OllyDbg, идём в File -> Open или нажимаем на иконку:

Откроется окно, с помощью которого можно найти нужный файл, в данном случае это crackme CrueHead’а.

Откроется вышеупомянутый crackme, и на данный момент неважно, что совершенно непонятно, что означает открывшийся нам вид – пока мы только пройдёмся по различным частям и функциям OllyDbg и некоторым настройкам, чтобы когда в последующих туториалах будет написано, скажем, «зайдите в DUMP», вы, по крайней мере, знали, где находится эта опция.

Здесь мы рассмотрим четыре части главного окна OllyDbg:

1) Дизассемблированный код

Также называется листингом. Тут Олли показывает нам дизассемблированный код программы, которую мы собираемся отлаживать; по умолчанию Олли сконфигурирована так, чтобы анализировать программу при её открытии. Это можно изменить в Options -> DEBUGGING OPTIONS.

То есть, если отмечена галочка «AUTO START ANALISIS OF MAIN MODULE», OllyDbg проанализирует программу и покажет о ней дополнительную информацию.

Это начало проанализированного листинга крэкми CrueHead’а, и если мы откроем его без анализа, то сможем увидеть разницу.

В окне анализа содержится множество информации, которая, несмотря на то, что пока нам не очень понятна, выглядит весьма интересной. В то же время приятно знать, что её можно в любой момент убрать, если анализ оказался не слишком точным или в него закралась какая-то ошибка.

Зачастую OllyDbg отображает некоторые части программы некорректно, так как ошибочно интерпретирует исполняемый код как данные, и тогда она отображает примерно следующее:

В этом случае можно вручную убрать анализ, кликнув на листинге правой кнопкой мыши и выбрав «ANALISIS -> REMOVE ANALYSIS FROM MODULE».

И тогда листинг отобразится корректно.

Другой опцией, которой вы можете воспользоваться для облегчения раобты и которая мне лично не очень нравится (но вкусы бывают разные), является подсветка jump (переходов) и call (вызовов) – кликните на листинге правой кнопкой мыши и выберите «APPEARENCE -> HIGHLIGHTING -> JUMPS AND CALLS».

Получится следующее:

Здесь мы видим, что call’ы подсвечены лазурным цветом, а переходы – жёлтым.

Теперь листинг стал более читаемым, но пока у нас нет ни малейшей идеи, что это означает, но хорошо иметь инструмент подготовленным к дальнейшему использованию.

2) Регистры

Второе важное окно – это окно регистров.

Вспомним, что окно регистров находится в самой правой части OllyDbg, и там отображается значительное количество информации.

Есть значительно больше информации, которую мы не видим, но можно устанавливать режим отображения в три состояния («VIEW FPU REGISTERS» – отображать FPU-регистры, «VIEW 3D NOW REGISTERS» – отображать “3D NOW”-регистры и «VIEW DEBUG REGISTERS» – отображать отладочные регистры). По умолчанию отображаются первые.

3) Стек или «куча»

Теперь переходим к «стеку или куче». Здесь не слишком много конфигурационных опций – разве что возможность отобразить информацию, касающуюся регистров ESP и EBP.

По умолчанию стоить режим отображения информации, связанной с ESP (и он же является самым полезным), но его можно сменить на режим отображения информации, связанной с EBP, для чего необходим кликнуть в этом окне правой кнопкой мыши и выбрать пункт «GO TO EBP», а дальнейшее использование пункта «GO TO ESP» вернёт нас в прежний режим.

В дальнейших главах я объясню подробнее функциональность стека, но пока мы рассматриваем только то, что можно изменить с помощью конфигурации.

4) Дамп

У окно дампа есть много режимов отображения, которые можно менять, кликнув правую кнопку мыши в окне дампа и выбрав тот, который нужен. По умолчанию используется используется режим 8-ми байтовый Hex/ASCII.

Режим, используемый по умолчанию, также является и чаще всего используемым, но вместе с тем, у нас есть возможность изменять его на показ дизассемблированного кода (DISASSEMBLE), текста (TEXT) и других форматов (SHORT, LONG, FLOAT).

И, накоец, опция SPECIAL -> PE HEADER, которая, как мы это увидим в ближайших главах, может быть очень полезной.

Теперь мы знаем основные части главного окна OllyDbg, но есть ещё окна, которые недоступны напрямую, но могут быть вызваны как через меню, так и через кнопки на панели управления.

Рассмотрим каждую из них.

Кнопка L или VIEW->LOG показывает нам то, что OllyDbg пишет в окне лога. Его можно сконфигурировать на отображение различного рода информации, а по умолчанию в окне лога сохраняется вся информация о запуске, а также информация, связанная с «BREAKPOINTS CONDICIONAL LOGS» (условными логами точек останова). С последней мы встретимся гораздо позднее, а пока давайте посмотрим информацию о запущенном процессе (в нашем случае это крэкми CrueHead’а) и библиотеках, которые он загружает.

Одна из самых главных опций данного окна – это ведение лога в файле на тот случай, если мы хотим сохранять информацию в текстовом файле. Чтобы активировать эту опцию, нажмите на правую кнопку мыши и выберите «LOG TO FILE».

Кнопка E или VIEW->EXECUTABLES показывает нам список модулей, которые использует программа: exe, dll, ocx и прочие.

Здесь также правая кнопка мыши вызывает множество опций, которые пока мы смотреть не будем, но которые мы уже видели при исследовании главного окна OllyDbg.

Кнопка M или VIEW->MEMORY отображает память, занятую нашей программой. Здесь мы видим секции приложения, библиотеки, использующиеся процессом, стек и различные секции, занятые системой, и зачастую программы в процессе выполнения занимают новые секции памяти.

Кликнув правой кнопкой мыши можем сделать SEARCH в памяти, чтобы найти в ней строки различных родов (текстовые, шестнадцатиричные, юникодовые), также есть возможность подстветить точки останова в секциях, равно как и возможность изменить права доступа к последним (выберите SET ACCESS).

Кнопка T или VIEW->THREADS показывает нам список нитей (потоков) программы.

Хотя сейчас мы не знаем что это такое, а узнаем это лишь в последующих главах, ознакомиться с каждым из окон лишним не будет. Пользоваться ими мы научимся позднее.

Кнопка W или VIEW->WINDOWS отображает нам окна программы, но поскольку она ещё не выполняется, то и список окон остаётся пустым.

Кнопка H или VIEW->HANDLES отображает хэндлы, позже я объясню, для чего они служат.

Кнопка C или VIEW->CPU возвращает нас к главному окно OllyDbg.

Кнопка / или VIEW->PATCHES показывает список наложенных патчей, если программа была изменена. Поскольку пока никаких изменений не вносилось, сейчас окно остаётся пустым.

Кнопка K или VIEW->CALL STACK отображает «call stack», списко вызовов, которые нам встретились до того места, где программа остановилась.

Кнопка B или VIEW->BREAKPOINTS вызывает список обычных точек останова, расположенных в программе. Здесь нет ни точек останова аппаратного обеспечения, ни точек останова памяти, только обычные.

Кнопка R или VIEW->REFERENCES показывает окно ссылок, полученных нами в результате поиска ссылок в Олли.

Кнопка «…» или VIEW->RUN TRACE отображает результат выполнения команды RUN TRACE. Здесь мы также можем выбрать опцию LOG TO FILE), чтобы сохраненить результаты трассировки в текстовом файле.

Мы рассмотрели панель с самыми важными кнопками, чтобы вы были знакомы с возможностями, которые они предоставляют, когда мы начнём их более глубокое изучение в последующих главах.

Как сконфигуровать OllyDbg стала JIT (JUST IN TIME DEBUGGER)

Конечно, мы не будем всё время использовать JIT, а только в специальных случаях, так как если случится ошибка с какой-либо запущенной программой на нашей машине, то нам совсем не нужно, чтобы использовалась Олли (по умолчанию в качестве JIT используется dr.watson).

Чтобы сделать OllyDbg JIT-отладчиком, нужно перейти в OPTIONS->JUST IN TIME DEBUGGING

и нажать последовательно кнопки MAKE OLLYDBG JUST IN TIME DEBUGGER y DONE

Чтобы убрать эту функцию, нужно в том же месте нажать на RESTORE JUST IN TIME DEBUGGER и DONE.

Подключение плагинов в OllyDbg

OllyDbg позволяет подключать плагины, которые могут оказаться полезными для решения той или иной задачи. Пока мы ограничимся подключением плагина COMMAND BAR, чтобы научиться как это делать.

Скачиваем данный плагин отсюда (ссылка, указанная в оригинальной статье, умерла, поэтому я скачал плагин из инета и разместил её на wasm.ru - прим.пер.).

После этого распаковываем плагин и смотрим содержимое папки, где это было сделано:

Прежде всего нужно создать папку для плагинов. Я создам её на C:/ и назову PLUGINS.

Разумеется, плагины могут находиться где угодно, но мне нравится размещать всё на C. Как бы то ни было, теперь мы должны сконфигурировать OllyDbg, чтобы она распознавала эту папку как местонахождение всех плагинов.

Для этого идём в OPTIONS->APPEARANCE.

И в открывшемся окне открываем вкладку DIRECTORIES.

Видим, что в качестве пути к плагинам указана директория, где находится сам OllyDbg.exe, и можно было бы помещать плагины туда, но мне нравится держать их отдельно, и тогда нажимем на PLAGIN PATH->BROWSE, чтобы найти созданную нами папку.

Выбираем папку PLUGINS и сохраняем изменения.

То есть нужно перезапустить Олли, чтобы она признала новую папку с плагинам, но сначала следует скопировать в последнюю скачанный плагин.

Копируем всё содержимое архива в папку PLUGINS.

Теперь все файлы плагина «Command Bar» находятся в папке PLUGINS, в неё же следует помещать и остальные (зачастую можно копировать не все файлы в архиве, а только dll).

Теперь закрываем OllyDbg, если она всё ещё была закрыта, и запускаем по новой. Видим, что в меню PLUGINS появился COMMAND BAR и его опции.

В нижней части OllyDbg видим установленный COMMAND BAR.

Это текстовое поле для ввода команд, которые нам могут пригодиться во многих случаях, и позднее мы увидим их применение, а пока важно научиться подключать плагины.

Чтобы деинсталлировать PLUGIN достаточно просто стереть соответствующую dll из папки PLUGINS и перезапустить OllyDbg, и плагин исчезнет. Вместе с тем, благоразумно всегда держать COMMAND BAR включённым.

Снова открываем крэкми CrueHead’в в OllyDbg.

Наиболее полезные клавиши в OllyDbg следующие:

F7: Выполняет одну строку кода (если находимся на CALL, то переходим внутрь вызванного участка кода)

F8: Выполняет одну строку кода (если находимся на CALL, то просто выполняет вызов без перехода внутрь и переходит на следующую за CALL строку).

Это два вида ручной трассировки очень разные и в каких случаях использовать каждую из них мы рассмотрим позже.

F2: устанавливает обычную точку останова на отмеченной линии. Чтобы убрать эту точку останова, надо ещё раз нажать F2.

Например:

Хотим установить точку установа в позиции 40101A, поэтому отмечаем эту линию с помощью мыши.

С помощью одного клика мыши она помечается и становится серого цвета как на картинке. Затем нажимаем F2.

Видим, что соответствующая позиция в первой колонке становится красной, что говорит о том, что здесь есть точка останова. Нажав F2 ещё раз можно её убрать.

F9: Запускает программу, которая будет выполняться до тех пор, пока не встретить точку останова, не совершиться какое-либо исключение или же просто прекратит работу по каким-либо причинам. Когда программа запущена, в нижнем правом угле OllyDbg отображается слово RUNNING.

Запустив крэкми CrueHead’а, мы увидим следующее:

Чтобы временно прекратить выполнение программы, нужно нажать F12 или DEBUG->PAUSE.

Видим, что OllyDbg отображает слово PAUSED (пауза). Продолжить выполнение программы можно нажав F9 или DEBUG->RUN.

Чтобы закрыть отлаживаемую программу выберите DEBUG->CLOSE.

Это был краткий обзор OllyDbg, более глубокое изучение множества опций и возможностей которой мы продолжим изучать в последующих главах. Главное, чтобы вы скачали программу, сконфигурировали, ещё раз посмотрели всё, о чём было рассказано в этом туториале, так же подключили плагин, позапускали и поостанавливали крэкми CrueHead’а, попробовали поставить точки останова, чтобы в следующей главе все эти вещи не вызывали у вас колебаний и сомнений. © Рикардо Нарваха, пер. Aquila

wasm.in

[W A S M . R U] СТАТЬИ ⇒ Исследование программ ⇒ Введение в крэкинг с нуля, используя OllyDbg

Целью данного «Введения в крэкинг с нуля, используя OllyDbg», является дать тем, кто только начал осваивать искусство крэкнинга, базовые знания и, вместе с тем, сделать это так, чтобы эти знания позволили в дальнейшем читать и понимать более продвинутые туториалы – такие, которые можно встретить в «Новом курсе от CracksLatinos», который, разумеется, остаётся открытым для новых добавлений и пополнений.

Идея создания курса родилась из-за того, что многие туториалы в «Новом курсе от CracksLations» оказывались слишком сложными для новичков, и те, не сумев достигнуть нужного уровня, оказывались разочарованными и во многих случаях отказывались продолжать. Поэтому целью данного «Введения...» является не повторение прекрасных туториалов из «Нового курса...», число которых уже перевалило за 500, но заложить основу, чтобы те, кто закончит данный курс, смогли читать более сложные пособия. Это, как и всё в нашем ремесле, требует значительных усилий, и главной задачей является сократить их количество, дав базовые знания и позволив в дальнейшем понимать более сложный материал.

Почему OLLYDBG?

Мы не будем здесь рассуждать о вечном противостоянии Soft-Ice против OllyDbg, думаю, что даже фанатики от Soft-Ice признают, что проще начать с OllyDbg, так как о нём много информации и его проще изучать. Нам нужно войти в мир крэкинга через дверь под названием «OllyDbg», а уже потом тот, кому нужно, сможет перейти на любой другой отладчик, который потребуется, так как меняются лишь их способы использования, но суть остаётся неизменной.

Начнём с начала

Сначала нужно вооружиться инструментом, который мы собираемся в основном использовать, для чего кликните тут и скачайте его.

Поскольку мы начинаем с нуля, то для начала нам нужно распаковать скачанный архив в такую папку на жёстком диске, до которой можно легко добраться. Хорошей идеей будет создать папку на диске C:/. Хотя будет работать и в любом другом месте, я буду исходить из того, что выбран диск C:/.

После того, как файл был распакован, заходим в созданную папку и видим:

В ней находится исполняемый файл OLLYDBG.exe, который нам и нужно запустить и ярлык которого я для удобства сделал на своём рабочем столе.

Ок, всё готово к запуску. Кликаем на OllyDbg:

Перед нами повляется сообщение о том, что DLL, находящаяся в библиотеке, старше, чем такая же системная DLL, и если выберем «Да», то тогда старая DLL будет стёрта из папки, а использоваться будет системная. Хотя я не вижу особых различий между этими двумя, тем не менее, предпочитаю ту, которая идёт с дистрибутивом, и поэтому всегда нажимаю «Нет».

Это чистый OllyDbg, и первой программой, которую мы откроем только для того, чтобы ознакомиться с OllyDbg, станет знаменитый CrackMe CrueHead’а, который приложен к данному туториалу.

Чтобы открыть файл в OllyDbg, идём в File -> Open или нажимаем на иконку:

Откроется окно, с помощью которого можно найти нужный файл, в данном случае это crackme CrueHead’а.

Откроется вышеупомянутый crackme, и на данный момент неважно, что совершенно непонятно, что означает открывшийся нам вид – пока мы только пройдёмся по различным частям и функциям OllyDbg и некоторым настройкам, чтобы когда в последующих туториалах будет написано, скажем, «зайдите в DUMP», вы, по крайней мере, знали, где находится эта опция.

Здесь мы рассмотрим четыре части главного окна OllyDbg:

1) Дизассемблированный код

Также называется листингом. Тут Олли показывает нам дизассемблированный код программы, которую мы собираемся отлаживать; по умолчанию Олли сконфигурирована так, чтобы анализировать программу при её открытии. Это можно изменить в Options -> DEBUGGING OPTIONS.

То есть, если отмечена галочка «AUTO START ANALISIS OF MAIN MODULE», OllyDbg проанализирует программу и покажет о ней дополнительную информацию.

Это начало проанализированного листинга крэкми CrueHead’а, и если мы откроем его без анализа, то сможем увидеть разницу.

В окне анализа содержится множество информации, которая, несмотря на то, что пока нам не очень понятна, выглядит весьма интересной. В то же время приятно знать, что её можно в любой момент убрать, если анализ оказался не слишком точным или в него закралась какая-то ошибка.

Зачастую OllyDbg отображает некоторые части программы некорректно, так как ошибочно интерпретирует исполняемый код как данные, и тогда она отображает примерно следующее:

В этом случае можно вручную убрать анализ, кликнув на листинге правой кнопкой мыши и выбрав «ANALISIS -> REMOVE ANALYSIS FROM MODULE».

И тогда листинг отобразится корректно.

Другой опцией, которой вы можете воспользоваться для облегчения раобты и которая мне лично не очень нравится (но вкусы бывают разные), является подсветка jump (переходов) и call (вызовов) – кликните на листинге правой кнопкой мыши и выберите «APPEARENCE -> HIGHLIGHTING -> JUMPS AND CALLS».

Получится следующее:

Здесь мы видим, что call’ы подсвечены лазурным цветом, а переходы – жёлтым.

Теперь листинг стал более читаемым, но пока у нас нет ни малейшей идеи, что это означает, но хорошо иметь инструмент подготовленным к дальнейшему использованию.

2) Регистры

Второе важное окно – это окно регистров.

Вспомним, что окно регистров находится в самой правой части OllyDbg, и там отображается значительное количество информации.

Есть значительно больше информации, которую мы не видим, но можно устанавливать режим отображения в три состояния («VIEW FPU REGISTERS» – отображать FPU-регистры, «VIEW 3D NOW REGISTERS» – отображать “3D NOW”-регистры и «VIEW DEBUG REGISTERS» – отображать отладочные регистры). По умолчанию отображаются первые.

3) Стек или «куча»

Теперь переходим к «стеку или куче». Здесь не слишком много конфигурационных опций – разве что возможность отобразить информацию, касающуюся регистров ESP и EBP.

По умолчанию стоить режим отображения информации, связанной с ESP (и он же является самым полезным), но его можно сменить на режим отображения информации, связанной с EBP, для чего необходим кликнуть в этом окне правой кнопкой мыши и выбрать пункт «GO TO EBP», а дальнейшее использование пункта «GO TO ESP» вернёт нас в прежний режим.

В дальнейших главах я объясню подробнее функциональность стека, но пока мы рассматриваем только то, что можно изменить с помощью конфигурации.

4) Дамп

У окно дампа есть много режимов отображения, которые можно менять, кликнув правую кнопку мыши в окне дампа и выбрав тот, который нужен. По умолчанию используется используется режим 8-ми байтовый Hex/ASCII.

Режим, используемый по умолчанию, также является и чаще всего используемым, но вместе с тем, у нас есть возможность изменять его на показ дизассемблированного кода (DISASSEMBLE), текста (TEXT) и других форматов (SHORT, LONG, FLOAT).

И, накоец, опция SPECIAL -> PE HEADER, которая, как мы это увидим в ближайших главах, может быть очень полезной.

Теперь мы знаем основные части главного окна OllyDbg, но есть ещё окна, которые недоступны напрямую, но могут быть вызваны как через меню, так и через кнопки на панели управления.

Рассмотрим каждую из них.

Кнопка L или VIEW->LOG показывает нам то, что OllyDbg пишет в окне лога. Его можно сконфигурировать на отображение различного рода информации, а по умолчанию в окне лога сохраняется вся информация о запуске, а также информация, связанная с «BREAKPOINTS CONDICIONAL LOGS» (условными логами точек останова). С последней мы встретимся гораздо позднее, а пока давайте посмотрим информацию о запущенном процессе (в нашем случае это крэкми CrueHead’а) и библиотеках, которые он загружает.

Одна из самых главных опций данного окна – это ведение лога в файле на тот случай, если мы хотим сохранять информацию в текстовом файле. Чтобы активировать эту опцию, нажмите на правую кнопку мыши и выберите «LOG TO FILE».

Кнопка E или VIEW->EXECUTABLES показывает нам список модулей, которые использует программа: exe, dll, ocx и прочие.

Здесь также правая кнопка мыши вызывает множество опций, которые пока мы смотреть не будем, но которые мы уже видели при исследовании главного окна OllyDbg.

Кнопка M или VIEW->MEMORY отображает память, занятую нашей программой. Здесь мы видим секции приложения, библиотеки, использующиеся процессом, стек и различные секции, занятые системой, и зачастую программы в процессе выполнения занимают новые секции памяти.

Кликнув правой кнопкой мыши можем сделать SEARCH в памяти, чтобы найти в ней строки различных родов (текстовые, шестнадцатиричные, юникодовые), также есть возможность подстветить точки останова в секциях, равно как и возможность изменить права доступа к последним (выберите SET ACCESS).

Кнопка T или VIEW->THREADS показывает нам список нитей (потоков) программы.

Хотя сейчас мы не знаем что это такое, а узнаем это лишь в последующих главах, ознакомиться с каждым из окон лишним не будет. Пользоваться ими мы научимся позднее.

Кнопка W или VIEW->WINDOWS отображает нам окна программы, но поскольку она ещё не выполняется, то и список окон остаётся пустым.

Кнопка H или VIEW->HANDLES отображает хэндлы, позже я объясню, для чего они служат.

Кнопка C или VIEW->CPU возвращает нас к главному окно OllyDbg.

Кнопка / или VIEW->PATCHES показывает список наложенных патчей, если программа была изменена. Поскольку пока никаких изменений не вносилось, сейчас окно остаётся пустым.

Кнопка K или VIEW->CALL STACK отображает «call stack», списко вызовов, которые нам встретились до того места, где программа остановилась.

Кнопка B или VIEW->BREAKPOINTS вызывает список обычных точек останова, расположенных в программе. Здесь нет ни точек останова аппаратного обеспечения, ни точек останова памяти, только обычные.

Кнопка R или VIEW->REFERENCES показывает окно ссылок, полученных нами в результате поиска ссылок в Олли.

Кнопка «…» или VIEW->RUN TRACE отображает результат выполнения команды RUN TRACE. Здесь мы также можем выбрать опцию LOG TO FILE), чтобы сохраненить результаты трассировки в текстовом файле.

Мы рассмотрели панель с самыми важными кнопками, чтобы вы были знакомы с возможностями, которые они предоставляют, когда мы начнём их более глубокое изучение в последующих главах.

Как сконфигуровать OllyDbg стала JIT (JUST IN TIME DEBUGGER)

Конечно, мы не будем всё время использовать JIT, а только в специальных случаях, так как если случится ошибка с какой-либо запущенной программой на нашей машине, то нам совсем не нужно, чтобы использовалась Олли (по умолчанию в качестве JIT используется dr.watson).

Чтобы сделать OllyDbg JIT-отладчиком, нужно перейти в OPTIONS->JUST IN TIME DEBUGGING

и нажать последовательно кнопки MAKE OLLYDBG JUST IN TIME DEBUGGER y DONE

Чтобы убрать эту функцию, нужно в том же месте нажать на RESTORE JUST IN TIME DEBUGGER и DONE.

Подключение плагинов в OllyDbg

OllyDbg позволяет подключать плагины, которые могут оказаться полезными для решения той или иной задачи. Пока мы ограничимся подключением плагина COMMAND BAR, чтобы научиться как это делать.

Скачиваем данный плагин отсюда (ссылка, указанная в оригинальной статье, умерла, поэтому я скачал плагин из инета и разместил её на wasm.ru - прим.пер.).

После этого распаковываем плагин и смотрим содержимое папки, где это было сделано:

Прежде всего нужно создать папку для плагинов. Я создам её на C:/ и назову PLUGINS.

Разумеется, плагины могут находиться где угодно, но мне нравится размещать всё на C. Как бы то ни было, теперь мы должны сконфигурировать OllyDbg, чтобы она распознавала эту папку как местонахождение всех плагинов.

Для этого идём в OPTIONS->APPEARANCE.

И в открывшемся окне открываем вкладку DIRECTORIES.

Видим, что в качестве пути к плагинам указана директория, где находится сам OllyDbg.exe, и можно было бы помещать плагины туда, но мне нравится держать их отдельно, и тогда нажимем на PLAGIN PATH->BROWSE, чтобы найти созданную нами папку.

Выбираем папку PLUGINS и сохраняем изменения.

То есть нужно перезапустить Олли, чтобы она признала новую папку с плагинам, но сначала следует скопировать в последнюю скачанный плагин.

Копируем всё содержимое архива в папку PLUGINS.

Теперь все файлы плагина «Command Bar» находятся в папке PLUGINS, в неё же следует помещать и остальные (зачастую можно копировать не все файлы в архиве, а только dll).

Теперь закрываем OllyDbg, если она всё ещё была закрыта, и запускаем по новой. Видим, что в меню PLUGINS появился COMMAND BAR и его опции.

В нижней части OllyDbg видим установленный COMMAND BAR.

Это текстовое поле для ввода команд, которые нам могут пригодиться во многих случаях, и позднее мы увидим их применение, а пока важно научиться подключать плагины.

Чтобы деинсталлировать PLUGIN достаточно просто стереть соответствующую dll из папки PLUGINS и перезапустить OllyDbg, и плагин исчезнет. Вместе с тем, благоразумно всегда держать COMMAND BAR включённым.

Снова открываем крэкми CrueHead’в в OllyDbg.

Наиболее полезные клавиши в OllyDbg следующие:

F7: Выполняет одну строку кода (если находимся на CALL, то переходим внутрь вызванного участка кода)

F8: Выполняет одну строку кода (если находимся на CALL, то просто выполняет вызов без перехода внутрь и переходит на следующую за CALL строку).

Это два вида ручной трассировки очень разные и в каких случаях использовать каждую из них мы рассмотрим позже.

F2: устанавливает обычную точку останова на отмеченной линии. Чтобы убрать эту точку останова, надо ещё раз нажать F2.

Например:

Хотим установить точку установа в позиции 40101A, поэтому отмечаем эту линию с помощью мыши.

С помощью одного клика мыши она помечается и становится серого цвета как на картинке. Затем нажимаем F2.

Видим, что соответствующая позиция в первой колонке становится красной, что говорит о том, что здесь есть точка останова. Нажав F2 ещё раз можно её убрать.

F9: Запускает программу, которая будет выполняться до тех пор, пока не встретить точку останова, не совершиться какое-либо исключение или же просто прекратит работу по каким-либо причинам. Когда программа запущена, в нижнем правом угле OllyDbg отображается слово RUNNING.

Запустив крэкми CrueHead’а, мы увидим следующее:

Чтобы временно прекратить выполнение программы, нужно нажать F12 или DEBUG->PAUSE.

Видим, что OllyDbg отображает слово PAUSED (пауза). Продолжить выполнение программы можно нажав F9 или DEBUG->RUN.

Чтобы закрыть отлаживаемую программу выберите DEBUG->CLOSE.

Это был краткий обзор OllyDbg, более глубокое изучение множества опций и возможностей которой мы продолжим изучать в последующих главах. Главное, чтобы вы скачали программу, сконфигурировали, ещё раз посмотрели всё, о чём было рассказано в этом туториале, так же подключили плагин, позапускали и поостанавливали крэкми CrueHead’а, попробовали поставить точки останова, чтобы в следующей главе все эти вещи не вызывали у вас колебаний и сомнений.

  [C] Рикардо Нарваха, пер. Aquila

vxlab.info


Смотрите также