汉化不易,转载请注明出处,汉化未加壳,请勿修改汉化版权谢谢。
时隔一年多,再次汉化,修复以住版本里面感觉翻译有问题的地方,此版本尽可能的完善了汉化用语,当然我不能保证全部翻译正确,
如若大家在使用的过程中发现部分汉化错误的地方,请多多指点,我这边会第一时间修复。
本汉化版本未加壳,相信各使用者的人品及对本人汉化的尊重。
Version 3.5.0 (26 Jan 2022)
- Analysis: Disassembler support for the ARM pseudo instruction ADRL.
- Analysis: Add ARM64, ARM, x64 and x86 static library packages for MSVC 2022 (17.0).
- Analysis: Add export symbols for MFC140, MFC71 and MFC42 to resolve ordinals to names.
- GUI: Add a button to expand or collapse the analysis items list in the code view.
- Bugfix/Decompiler/TCG: Decompiler fails to handle CFG or XFG indirect calls as expected.
- Build: Update SQLite3 from 3.30.1 to 3.37.2.
- Build: Update DbgHelp and SymSrv redistributable from 10.0.16299.15 to 10.0.22000.1.
- Build: Update LibClang and RelyzeLLVM from 9.0 to 13.0.
- Build: Update Capstone from 4.0.1 to 4.0.2.
Version 3.4.0 (15 Nov 2021)
- Analysis: Parse IMAGEDEBUGTYPEEXDLLCHARACTERISTICS entries.
- GUI: Display the current selected address in each view below the navigation bar.
- Bugfix/GUI: UI should display tab indexes starting at one and not zero.
- Bugfix/GUI: Finding a node in the flow view should highlight the found node.
- Bugfix/Analysis: Saving an analysis to disk is now 20% faster.
- Bugfix/Analysis: Improve support for decompiling functions that call stack checking routines (eg. chkstk) as expected.
- Bugfix/Diff: A differential analysis may never complete.
- Bugfix/Diff: Use function symbol name signature for grouping and not matching.
- Bugfix/Diff: Instructions leveraging RIP relative memory operands (x64) may be marked as unexpectedly modified.
- Bugfix/Decompiler/TCG: Dead code elimination may occur unexpectedly after memory reads from imported data.
- Bugfix/Decompiler/TCG: Calls to leaf functions may not clobber expected registers.
- Bugfix/Decompiler/TCG: Do not coalesce stack locals that may be aliased.
Version 3.3.0 (12 Jan 2021)
- Bugfix/GUI: Access violation if exception 'scroll bar position out of range' is raised when creating a flat view for a model.
- Bugfix/GUI: The toggles for split view and syncing views should match the pivot colors.
- Bugfix/GUI: Enabling split view the first time may display an empty flat view.
- Bugfix/GUI: Manually changing data to code may fail when block has no references in.
- Bugfix/GUI: Changing from pseudo view to another view during decompilation fails to cancel decompilation.
- Bugfix/GUI: Fix two typos in the main menu.
- Bugfix/Input: Reconstructing a DT_JMPREL section header fails to identify the use of an addend for x64 and ARM64 ELF binaries.
- Bugfix/Input: Handle parsing the x64 PE exception unwind codes UWOPEPILOG and UWOPSPARE_CODE.
- Bugfix/Analysis: Some occurrences of unreferenced code may remain as data.
- Bugfix/Analysis: Making function names unique may rename function as func1, func11 instead of func1, func2.
- Bugfix/Analysis: Infinite loop during analysis when setting a structure data type that points back to itself and contains a modified string pointer.
- Bugfix/Analysis: Import data types can fail to propagate for ELF binaries with sections created via the program header.
- Bugfix/Diff: Improve matching code blocks containing inverted conditional jumps.
- Bugfix/Decompiler/TCG: Interpreter failing to sign extend the result of a signed load as expected.
- Bugfix/Decompiler/TCG: Phi simplification may introduce an unexpected register definition.
Version 3.2.0 (29 April 2020)
- Bugfix/Analysis: Resolving PE imports from ordinal to the expected symbol may fail.
- Bugfix/Analysis: Incorrect register sizes may be identified for memory operands during function data type analysis.
- Bugfix/Analysis: Honor the analysis option 'Generate Data Types from Mangled Names' for TDS symbols.
- Bugfix/Analysis: ASCII strings with a length less than a native pointer size may fail to be identified.
- Bugfix/Analysis: For mangled function names with no explicit return type, use FDTA to discover potential return type.
- Bugfix/Decompiler/TCG: Phi simplification to handle multiple dependent phi instructions.
- Bugfix/Decompiler/TCG: Dead store elimination may eliminate an aliased store.
- Bugfix/Decompiler/AST: AST can fail to emit expected anonymous member access.
Version 3.1.0 (20 April 2020)
- Bugfix/GUI: Exception thrown if Windows Start setting 'Show recently opened items in Jump Lists' is disabled.
Version 3.0.4 (16 April 2020)
- Analysis: Handle conditional return instructions as expected.
- Analysis: Update Windows IMAGELOADCONFIG_DIRECTORY parsing from latest SDK.
- Analysis: Disassembler support for Intel Control flow Enforcement Technology (CET) opcodes.
- GUI: Call graphs can now specify node size as either fixed, absolute name width or relative byte size.
- GUI: Support diffing the pseudo code of two matched functions.
- Plugin: Add loader plugin for Motorola S-Record (SREC) binaries.
- Plugin: Add Relyze::ExecutableFileModel::FunctionDataType.diff to diff a single function against another function.
- Plugin: Refactor plugin @information :minapplicationversion and :maxapplicationversion to :minappver and :maxappver.
- Plugin: Add helper method Relyze::Application::archs to return an array of all supported architectures.
- Plugin: Define a global variable RELYZE of type Relyze::Application, for static methods that cannot access the class instance @relyze.
- Plugin: By default, query the models default pre compiled header when getting a data type not found in the data type factory.
- Build: Relyze is now known as Relyze Desktop.
- Bugfix/TCMalloc: Access violation on older systems during application startup when accessing environment variables.
- Bugfix/GUI: Access violation due to lack of locking when generating a second call graph.
- Bugfix/GUI: Exporting a graph to either SVG or DOT should use current themes font name and size.
- Bugfix/Analysis: The x86 Windows kernel DDK pre compiled headers should default to __stdcall.
- Bugfix/Analysis: A functions noreturn modifier was not being propagated as expected.
- Bugfix/Decompiler/TCG: SSA destruction may introduce incorrect program behavior.
- Bugfix/Decompiler/TCG: Native instructions that cannot be translated to TCG will be lifted to an intrinsic call.
- Bugfix/Decompiler/TCG: Copy propagation may propagate to an aliased location unexpectedly (regression from 3.0.2).
- Bugfix/Decompiler/TCG: Peephole conditional rule could produce incorrect results.
- Bugfix/Decompiler/AST: AST may emit incorrect structure member access.
- Bugfix/Decompiler/AST: AST may unexpectedly emit signed decimals as hexadecimal or vice versa.
Version 3.0.3 Beta (4 February 2020)
- Analysis: Add disassembler, assembler and decompiler support for ARM64.
- Analysis: Add ARM64 static library packages for MSVC 2017 (15.9) and MSVC 2019 (16.0 and 16.4).
- Analysis: Add ARM64 PE and COFF loading support including exception directory and relocations.
- Analysis: Add ARM64 ELF loading support including relocations.
- Analysis: Add x86, x64 and ARM static library packages for MSVC 2019 (16.4).
- GUI: Holding Tab in the pseudo code view will flash the displaying of casts.
- GUI: Allow editing a structure or union member's name or type in the pseudo code view.
- Bugfix/Core: Deserializing RLZ archives generated by version 3.* whose build platform differed from the current build platform (win32/win64) could fail.
- Bugfix/Core: Editing a function prototype which has the same parameter types but different parameter names fails to update the parameter names.
- Bugfix/Core: An x86 cdecl function may be incorrectly identified as thiscall under certain circumstances.
- Bugfix/Core: Changing the data type for an implicit function parameter would fail.
- Bugfix/Decompiler/TCG: Several peephole optimizations produce unexpected results for size extended comparisons.
- Bugfix/Decompiler/TCG: Pointer analysis could process a negative offset incorrectly under certain conditions.
- Bugfix/Decompiler/TCG: Copy propagation may fail to propagate a graph local.
- Bugfix/Decompiler/TCG: Dead code elimination may eliminate a graph local which is aliased.
Version 3.0.2 Beta (11 December 2019)
- Analysis: Add x86, x64 and ARM static library packages for MSVC 2019 (16.0).
- Analysis: Improve function local analysis multi threaded performance.
- Analysis: Avoid excessive saving of state during some analysis passes leading to improved memory performance.
- Analysis: Remove the notion of strict static library analysis.
- Analysis: Implement all ELF RARMTHM_ type relocations.
- Analysis: Allow the function prototype used at an indirect call site to be edited.
- Analysis: Add typedefs for the most common fixed width integer types to a models data type factory.
- Diff: Add a signature for matching an instructions matched neighbors.
- Plugin: Add support for custom binary loader plugins.
- Plugin: Add loader plugin for MCLF binaries.
- Plugin: Add methods addentropymarker and entropy_markers to interact with a models entropy markers.
- Plugin: Add ability to optionally include or exclude a set of functions during differential analysis via the options hash parameter in Relyze::ExecutableFileModel::diff.
- Plugin: Add Relyze::ExecutableFileModel::signatures to iterate the Static Library Signatures applied during Static Library Analysis.
- GUI: Add a mini map overview to the pseudo code view.
- GUI: List cross references to local variables in the pseudo code view.
- GUI: Display a references flags in the cross references dialog.
- GUI: Display the Static Library Signatures applied during Static Library Analysis.
- GUI: Add right click menu item to edit a bookmark item or click bookmark icon to edit.
- GUI: Add right click menu item to disable displaying of cast expressions in pseudo code view.
- GUI: Add right click menu item to edit a direct or indirect call site function prototype.
- GUI: Add Windows task bar jump list support for recent files.
- Build: Ship a dedicated console application RelyzeCLI.exe
- Build: Rename the user interface application from Relyze.exe to RelyzeGUI.exe
- Build: Update SQLite3 from 3.26.0 to 3.30.1.
- Build: Update Ruby from 2.5.1 to 2.6.5.
- Build: Update Capstone from 3.0.5 to 4.0.1.
- Build: Update LibClang and RelyzeLLVM from 7.0 to 9.0.
- Bugfix/Analysis: Function graph walker should expose ordered list of blocks visited.
- Bugfix/Analysis: Basic blocks should store their references in a fixed order.
- Bugfix/Analysis: COFF object file section may be aligned incorrectly.
- Bugfix/Analysis: Incorrect detection of a function prototype during function data type analysis.
- Bugfix/Analysis: A function prototype's partial register parameter location could be incorrect for x64.
- Bugfix/Analysis: Indirect call analysis may incorrectly convert an import data block to code.
- Bugfix/Analysis: A NullReference object may be destroyed twice under certain conditions.
- Bugfix/Analysis: FDTA may fail to recognize a return value when analyzing a functions call site.
- Bugfix/Analysis: A functions register based parameter names were not enforced to be unique.
- Bugfix/Analysis: When adding entries to the .extern segment, query the exports symbols DB for a suitable data type.
- Bugfix/Analysis: Potential double free when clearing an existing data type via the UI.
- Bugfix/Analysis: Handle tail calls in a functions flow graph as expected.
- Bugfix/Diff: Fix how we preference mangled and unmangled symbol names for comparing binaries with conflicting symbol naming conventions.
- Bugfix/Diff: Should not cache matched call targets and exception ref owner signatures.
- Bugfix/Diff: A functions referenced data blocks should ignore pointers.
- Bugfix/Diff: Computing an instructions difference value could be incorrect.
- Bugfix/Diff: An instruction signature should not use a raw byte hash.
- Bugfix/Diff: Incorrectly caching some instruction signatures.
- Bugfix/Diff: Uncached signature we failing to be regenerated in certain conditions.
- Bugfix/Decompiler/TCG: Instruction propagation should propagate to phi operands.
- Bugfix/Decompiler/TCG: De-duplicate def_addressof instructions.
- Bugfix/Decompiler/TCG: Set a default value for the x86 and x64 direction flag.
- Bugfix/Decompiler/TCG: Handle generating a TCG graph containing branches into uninitialized code blocks.
- Bugfix/Decompiler/TCG: Edge condition reduction could fail for certain case table based switch statements.
- Bugfix/Decompiler/TCG: Pointer analysis could fail for a stack local under certain conditions.
- Bugfix/Decompiler/TCG: Array like indexing into address taken locals or structure data types could fail to analyze as expected.
- Bugfix/Decompiler/TCG: Edge condition immediate propagation could incorrectly propagate an immediate.
- Bugfix/Decompiler/AST: Statement duplication could leave redundant statements after a return.
- Bugfix/Decompiler/AST: Type analysis may fail to infer or propagate a type as expected.
- Bugfix/Decompiler/AST: Type analysis may resolve a pointer dereference to an incorrect LvalueExpression.
- Bugfix/Decompiler/AST: Propagate a call site targets parameter names where possible.
- Bugfix/Decompiler/AST: Pointer arithmetic must honor type size.
- Bugfix/GUI: When loading a binary, don't display plugins that are not capable of being run against the binary (as specified by the plugins require :type or :arch).
- Bugfix/GUI: Right click not displaying pop-up menu for custom colors in library tags or application themes for Win64 build.
Version 3.0.1 Beta (9 July 2019)
- Bugfix/Analysis: Reduce memory consumption during analysis with improved copy on write containers.
- Bugfix/Analysis: Excessive memory consumption due to stack segment data type splitting.
- Bugfix/Analysis: Potential memory leak if a data type fails to join to its adjacent type.
- Bugfix/Analysis: Memory leak in function stack pointer analysis pass.
- Bugfix/Analysis: Memory leak when destroying references during a basic block split.
- Bugfix/Analysis: Non deterministic use after free during concurrent access to a FunctionDataType local symbols.
- Bugfix/Decompiler/TCG: Dead code elimination eliminates a local unexpectedly.
- Bugfix/Decompiler/TCG: Dead code elimination should eliminate unused spilled registers.
- Bugfix/Decompiler/TCG: Variable coalescing can swap and coalesce a graph local into a temp.
- Bugfix/Decompiler/TCG: Phi simplification was failing to eliminate dead edges correctly.
- Bugfix/Decompiler/TCG: Incorrect behavior during phi operand copy propagation.
- Bugfix/Decompiler/AST: Memory leak in LvalueExpression.
- Bugfix/Decompiler/AST: Memory leak in IfStatementSimplify.
- Bugfix/Decompiler/AST: Memory leak in TCGGraphStatementGenerator.
- Bugfix/Decompiler/AST: Memory leak in StatementVisitor.
- Bugfix/Decompiler/AST: Memory leak in expression generation for a setcond with condition always.
- Bugfix/Plugin: Potential null pointer dereference in method Relyze::Graph::Graph.create_graph.
- Bugfix/GUI: Mouse wheel scrolling and Ctrl + mouse wheel to zoom not working for Win64 build.
- Bugfix/GUI: Scrolling to a destination graph node via double clicking an edge or label was incorrect in high DPI.
- Bugfix/GUI: File handle leak in batch analysis UI when processing a directory fails.
- Bugfix/GUI: Resolve license activation 422 error code.
Version 3.0.0 Beta (5 April 2019)
- GUI: System aware high DPI support.
- GUI: Option to automatically discover a function prototype when creating a new function.
- Decompiler: TCG intermediate representation support for ARM, x86 and x64.
- Decompiler: Immediate propagation optimization pass.
- Decompiler: Instruction simplification optimization pass.
- Decompiler: Copy propagation optimization pass.
- Decompiler: Edge condition immediate propagation optimization pass.
- Decompiler: Phi simplification optimization pass.
- Decompiler: Peephole optimization pass with rule sets for arithmetic, comparison, condition, control flow and pointer optimizations.
- Decompiler: Dead code elimination optimization pass.
- Decompiler: Dead call site elimination optimization pass.
- Decompiler: Dead edge elimination optimization pass.
- Decompiler: Pointer analysis optimization pass.
- Decompiler: Local analysis optimization pass.
- Decompiler: Dead store elimination optimization pass.
- Decompiler: Edge condition reduction optimization pass.
- Decompiler: Instruction propagation optimization pass.
- Decompiler: Edge condition combination optimization pass.
- Decompiler: Variable coalescing optimization pass.
- Plugin: Add method Relyze::ExecutableFileModel::FunctionDataType.to_pseudo to get pseudo code as a string
- Analysis: TCG based function decl analysis pass.
- Analysis: TCG based function stack pointer analysis pass.
- Analysis: TCG based indirect call analysis pass.
- Analysis: Support inline function modifier.
- Analysis: Support noclobber function modifier.
- Analysis: MSVC detect guard stack cookie and __securitycheckcookie in the absence of symbols.
- Bugfix/Analysis: PE32 IMAGEEXCEPTIONDIRECTORY EndAddress now flagged as code but not function during initial analysis.
Version 2.17.0 (20 February 2019)
- GUI: Refactor the overview information list to use a standard list control.
- Bugfix: Set stackchkfail and stackchkfail_local as noreturn.
- Bugfix: Plugin @relyze.tabdisplaygraph and @relyze.graph_dialog were not displaying edges correctly.
- Bugfix: Performance regression in static library analysis.
- Bugfix: Performance regression in analysis pipeline during function analysis.
- Bugfix: Memory leak in UI tab bar.
- Build: Split application into Relyze.exe for UI and RelyzeCore.dll for analysis engine.
- Build: Update SQLite3 from 3.25.0 to 3.26.0.
Version 2.16.0 (5 December 2018)
- Analysis: Add 32-bit Turbo Debugger Symbol (TDS) file loading support.
- GUI: Support backwards navigation in the code view when pressing mouse back button.
- Bugfix: Ignore NULL RVA pointers when processing CXX or SEH exception metadata.
- Bugfix: Hint thumb mode via .pdata entries for ARM PE binaries.
- Bugfix: Include the condition code when rendering the pseudo ARM instruction MOV32.
- Bugfix: Unhandled exception on Win64 during failed Delphi name unmangle.
- Bugfix: Improve Borland __fastcall detection under certain circumstances.
- Bugfix: Embedded COFF symbols processed incorrectly under certain circumstances.
- Bugfix: Allow a code block that falls through into adjacent data to convert to code under certain circumstances.
- Bugfix: Rewrite internal function control flow graph depth first search visitor algorithm.
- Bugfix: Link against dbghelp.dll by name and not ordinal, prevent unnecessary loading of imagehlp.dll.
Version 2.15.0 (20 September 2018)
- Bugfix: Support hosting a custom Ruby installation for Ruby version 2.4 and higher.
- Bugfix: Allow the creation of code blocks in uninitialized memory.
- Bugfix: Process call sites for noreturn function targets as expected.
- Bugfix: Access violation when going out of full screen in flat view via F11 key press.
- Bugfix: Favour ELF section header RWX flags over program header RWX flags when applicable.
- Bugfix: Process a relocations addend as expected when loading ELF object files.
- Bugfix: Honour section alignment when loading ELF object files.
- Bugfix: Incorrect detection of function epilogue in ARM under certain conditions.
- Bugfix: Create an unnamed user defined type via PDB symbols as expected.
- Bugfix: Prevent potential circular reference when resolving unknown data types.
- Bugfix: Mouse over number preview could fail under certain conditions.
- Build: Update Ruby from 2.2.0 to 2.5.1.
- Build: Update LLVM from 4.0.0 to 7.0.0.
- Build: Update Clang from 4.0.0 to 7.0.0.
- Build: Update SQLite3 from 3.18.0 to 3.25.0.
- Build: Update DbgHelp and SymSrv Redistributable from 6.3.9600.17298 to 10.0.16299.15.
- Build: Update Visual C++ Redistributable from 12.00.21005 to 14.15.26706.
Version 2.14.0 (10 April 2018)
- Bugfix: Fix several issues with ARM Auto processor mode.
- Bugfix: Handle $b and $p ELF symbols.
- Bugfix: Changing the processor mode in the UI for ARM PE binaries had no effect.
- Bugfix: Jump table analysis could crash under certain conditions.
Version 2.13.0 (11 December 2017)
- Bugfix: Correctly support the AMD64 ABI for x64.
- Bugfix: Static library package creation was failing.
- Bugfix: Correct a logic error in the function sub-graph pruner algorithm.
- Bugfix: Data types defined from external symbols could be overwritten.
- Bugfix: Infinite analysis loop under certain conditions.
- Bugfix: Recent Files menu item could flicker unexpectedly.
- Bugfix: Graph keyboard shortcuts Home and End were not working as expected.
Version 2.12.0 (2 November 2017)
- Bugfix: Stack pointer analysis was producing incorrect results under certain conditions.
- Bugfix: Batch Analysis could crash the main UI process.
- Bugfix: Navigating stack references in flow view could display incorrectly.
- Windows store appx fixes.
Version 2.11.0 (6 October 2017)
- Bugfix: ELF loading failed for certain shared object files.
Version 2.10.0 (5 October 2017)
- GUI: Add keyboard shortcut (defaults to space bar) to cycle between flat and flow views.
- Bugfix: AV under certain conditions when parsing a PE file with no rich header.
- Bugfix: Some modifications made via the flat view would not automatically be picked up when switching to flow view in the same location.
- Bugfix: Improve ELF loading when header entry is a physical address.
- Bugfix: Add a library archive to the recent files menu after opening.
- Bugfix: Resizing a list view column in the code view could fail to repaint items correctly.
- Bugfix: Win64 linker issue with SizeOfHeaders introducing non deterministic crash upon application loading on Windows 7 based systems.
Version 2.9.0 (8 August 2017)
- Bugfix: Potential Access Violation when navigating from flat view to graph view via Escape key press.
Version 2.8.0 (17 July 2017)
- Bugfix: Previewing references could fail due to GDI incompatibility with TCMalloc crossing allocation regions.
- Bugfix: Resolve memory leaks on some Direct2D objects.
- Bugfix: Make the call highlight plugin work on ARM.
Version 2.7.0 (13 July 2017)
- Bugfix: Batch analysis UI wizard tab panel was too wide.
- Bugfix: Improve Direct2D handling for high DPI resolutions.
- Bugfix: Converting client to Direct2D canvas coordinates on high DPI resolutions in flow view was incorrect.
- Bugfix: Prevent stack exhaustion for massive graphs during the layout.
- Bugfix: Relyze::ExecutableFileModel::FunctionDataType.to_graph was not creating implicit fall through edges.
- Bugfix: Improve parsing the PE GuardCFDispatchFunctionPointer entry.
Version 2.6.0 (24 June 2017)
- Bugfix: Correctly process UNWFLAGUHANDLER in a PE exception directory.
- Bugfix: Infinite analysis loop under certain conditions.
- Bugfix: Parse a PE based relocation table entry type correctly.
- Bugfix: Font width rounding issue under certain conditions.
- Bugfix: Flicker due to excessive view repainting after loading a model archive.
Version 2.5.0 (2 June 2017)
- Analysis: Multi threaded analysis support.
- Analysis: Improve how the diff algorithm matches code blocks used for exception filters or handlers.
- Analysis: Disable strict matching by default for static library analysis.
- Plugin: Support the analysis option multithreadedanalysis in Relyze::analyzefile and Relyze::analyzebuffer.
- GUI: Replace the main glass form with a standard form.
- GUI: Add a standard main menu to navigate the application.
- GUI: Remove the pinned application tab.
- Bugfix: Incorrect calculation of x86 and x64 operand references under certain conditions.
- Bugfix: The UI was not enabling or disabling an analysis sub option correctly.
- Bugfix: NULL pointer AV in Relyze::analyzefile or Relyze::analyzebuffer when analyzing a flat binary with no :arch option specified.
- Bugfix: Auto processor mode for ARM can misidentify Thumb code.
- Bugfix: Correctly process Thumb2 IT based instruction sequences.
- Bugfix: Processing pointer data types which contain a cycle could lead to an infinite analysis loop.
- Bugfix: Potential infinite loop during graph path finding.
Version 2.4.0 (6 April 2017)
- Analysis: Add x86, x64 and ARM static library packages for MSVC 2017.
- Analysis: Automatically set executable flag on non executable segment when converting data to code.
- Analysis: Display ELF .modinfo values in the overview.
- Analysis: Support latest PE IMAGELOADCONFIG_DIRECTORY entries, including export suppression and long jump guard tables.
- Analysis: Expose an analysis option to disable function discovery and analysis.
- Analysis: For x86 and x64 memory operands, render the 'ptr' keyword for compliance with the Intel syntax.
- Plugin: Add static method Relyze::ExecutableFileModel::Instruction.assemble to assemble a source buffer.
- Plugin: Add method Relyze::ExecutableFileModel.assemble to modify an existing CodeBlock's instruction sequence.
- Plugin: Add helper methods previousboundary, nearestboundary and next_boundary to Relyze::ExecutableFileModel::BasicBlock.
- GUI: Add menu option 'Block->Edit Instruction' when right clicking an instruction in either the flat or flow view.
- GUI: Add new default keyboard short-cut 'e' to edit an instruction.
- GUI: Add menu option 'Export to Raw File' when right clicking an analysis tab.
- GUI: Make several analysis options available in the UI after the initial analysis has completed.
- Bugfix: Selecting a path from a previous graph may cause an access violation.
- Bugfix: Access Violation when navigating from flat to flow view under certain conditions on Win64 build.
- Bugfix: Stop parsing PE delay load directory under certain conditions.
- Bugfix: Refactor several recursive graph algorithms as iterative to avoid stack exhaustion.
- Bugfix: Fix IL transformation of x86 enter.
- Bugfix: Process 'int 0x80' on x86 Linux targets and 'int 0x2E' on x86 Windows targets as expected.
- Bugfix: Serialize and de-serialize models greater than 2GB (uncompressed) correctly.
- Bugfix: ELF relocations for external symbols which include an addend were not applied correctly.
- Bugfix: Improve PE loader when VirtualSize is zero for all sections.
- Bugfix: Prevent a potential UI deadlock when terminating the application.
- Bugfix: Honour disabling the 'Load Embedded Symbols' model option for ELF binaries.
- Bugfix: Plugins run on the command line could not perform operations requiring text size calculation. (2.3.1)
- Bugfix: Destroying a graph node could result in subsequent graph operations being incorrect. (2.3.1)
- License: Support additional license types. (2.3.2)
- Build: Update LLVM to 4.0.0.
- Build: Update SQLite3 to 3.18.0.
- Build: Update OpenSSL to v1.0.2k.
Version 2.3.0 (2 November 2016)
- Analysis: Reconstruct stripped ELF section header entries where possible.
- GUI: Display hex viewer selected byte length in hexadecimal.
- Plugin: Add method Relyze::ExecutableFileModel.strings to enumerate all strings.
- Bugfix: Correctly color functions identified by static library analysis as library functions in a call graph.
- Bugfix: Concurrency issue when calculating text size during rendering operations.
- Bugfix: Prevent creating an unnecessary function when calling a fall through block.
- Bugfix: Rounding issue when rendering items in a flat view introducing off by 1 pixel issue.
- Bugfix: Double clicking on non main form tab bar background would maximise or restore the main form.
- Bugfix: An exception may occur when using Relyze::Application.tabgotorva if the Code view is not active.
Version 2.2.0 (26 October 2016)
- Plugin: Add method Relyze::ExecutableFileModel.analysisqueuepush to queue items for analysis.
- Bugfix: Potential UI Deadlock when clicking on an import.
- Bugfix: Navigation bar was not displaying cavities under certain conditions.
- Bugfix: Correctly create a new segment if no other segments exist.
- Bugfix: Prevent a NULL pointer dereference occurring when editing a jump table under certain conditions.
- Bugfix: Load ELF program headers when section headers present but not loaded.
Version 2.1.0 (20 October 2016)
- GUI: Add force directed graph layout to the call graph viewer.
- GUI: The edit jump table dialog now remembers previous user values.
- GUI: The edit jump table dialog now supports calculating expressions.
- GUI: Support a user supplied jump table entry base address when editing a jump table.
- GUI: Support creating a new segment.
- GUI: Support loading an arbitrary file into a new segment.
- GUI: Support deleting a reference via the UI right click menu.
- GUI: Improve left click drag to scroll in graphs with dense edges.
- Plugin: Add a new plugin 'x64dbg.rb' to import or export x64dbg databases.
- Plugin: Support :force layout in Relyze::Graph::Graph.layout.
- Plugin: Create new segments via Relyze::ExecutableFileModel.add_segment.
- Plugin: Add helper methods firstsegment and lastsegment to Relyze::ExecutableFileModel.
- Plugin: Add method Relyze::ExecutableFileModel.comments to enumerate user comments.
- Plugin: Add methods addoperandreference and removeoperandreference to Relyze::ExecutableFileModel::Instruction.
- Plugin: Add helper methods find_node and complexity to Relyze::Graph::Graph.
- Plugin: Add helper methods degree, indegree and outdegree to Relyze::Graph::Node.
- Plugin: Add display option :node_spacing to Relyze::Graph::Graph.
- Bugfix: Prevent Win32 build failing to run under WoW64 under certain conditions.
- Bugfix: Prevent a NULL pointer dereference occurring when closing a tab under certain conditions.
- Bugfix: Prevent "Control '' has no parent window" exception occurring.
- Bugfix: Correctly center text in Relyze::ExecutableFileModel.to_graph.
- Bugfix: Handle edge case where Relyze::ExecutableFileModel.auto_analyze was producing incorrect results.
- Bugfix: Correctly de-serialize an ARM model from a RLZ archive under certain conditions. (2.0.2)
- Bugfix: Correctly set a node or edge color during Relyze::ExecutableFileModel::FunctionDataType.to_graph. (2.0.2)
- Bugfix: When using the Relyze::Application.graph_dialog method, scroll to the root node if available. (2.0.1)
- Bugfix: If only performing structure loading in the GUI, don't attempt to run code analysis in background. (2.0.1)
- Bugfix: Correctly escape a white space character as and not in an exported SVG graph. (2.0.1)
- Build: Update Source Code Pro to 2.0.30.
- Build: Update SQLite3 to 3.15.0.
Version 2.0.0 (28 September 2016)
- Analysis: Add 32-bit ARM processor support, including Thumb and Thumb2 support.
- Analysis: Add ARM jump table analysis.
- Analysis: Add ARM function data type analysis.
- Analysis: Add IL based program counter relative analysis.
- Analysis: Support loading COFF32 ARM binaries.
- Analysis: Add ARM static library packages for MSVC 11, 12 and 14.
- Analysis: Support loading ELF binaries containing no section headers, only program headers.
- Analysis: Improve detection of non returning function calls.
- GUI: Add 'Perform Initial Analysis in Background' option to drop directly to the UI rather than blocking until initial analysis completes.
- GUI: Complete rewrite of the graph UI subsystem for improved performance and stability.
- GUI: Graph UI now supports hardware accelerated rendering via DirectX.
- GUI: Graph UI now supports finding nodes containing a text string.
- GUI: Graph UI now supports optionally highlight a selected nodes connected or directed neighbours for an improved navigation experience.
- GUI: Graph UI now supports zooming the graph to fit the visible client area.
- GUI: Graph UI now supports zooming out past a threshold no longer attempts to render a nodes text content.
- GUI: Graph UI now supports mouse hover tool tips for zoomed out graphs to help navigation.
- GUI: Graph UI now supports deleting a selected node.
- GUI: Graph UI now supports hiding the graph overview.
- GUI: Graph UI now supports exporting any graph to either SVG or DOT formats.
- GUI: Add an interactive call graph view.
- GUI: Replace the applications main top aligned pivot style menu with a compact left aligned viewer style menu.
- GUI: Right click popup menu on an analysis tab to save the analysis.
- GUI: Option to automatically close the task manager when all current tasks complete.
- Plugin: Custom graph creation with hierarchical and circular layout support.
- Plugin: Display custom graphs in the GUI.
- Plugin: Export custom graphs to either SVG or DOT formats.
- Plugin: Add method to_graph to ExecutableFileModel to generate a models call graph.
- Plugin: Add method to_graph to FunctionDataType to generate a functions control flow graph.
- Plugin: Add method Relyze::Application::graph_dialog to display a custom graph in a new dialog window.
- Plugin: Allow running a plugin on the command line via its file path and not just via its GUID.
- Plugin: Add example GUI plugin to let user manually change the processor mode after analysis.
- Plugin: Implement 'eql?', '==' and 'hash' methods for ruby object directly backed by a native objects.
- Plugin: No longer hold the Ruby GVL during Relyze::Application peek and analysis methods for the professional license batch analysis feature.
- Plugin: Expose license activation and deactivation to the plugin framework.
- Bugfix: Resolve method name collision in Relyze::ExecutableFileModel::DataTypeFactory for 'hash', re-factored to 'hash_name'.
- Bugfix: Plugin helper method Relyze::FileModel::child_structures should yield Structure items in an Array.
- Bugfix: Improve resolving ELF .got entries for shared objects.
- Bugfix: Correctly load ELF DT_STRTAB based symbols.
- Bugfix: Correctly process STB_WEAK symbol entries.
- Bugfix: Stack overflow due to recursion during static library analysis under certain conditions.
- Bugfix: Incorrect scaling on high DPI displays (Regression).
- Bugfix: Improve jump table analysis for x64 under certain conditions.
- Bugfix: Large reference graphs may not completely fit in the overview under certain conditions.
- Bugfix: NULL pointer dereference in function data type analysis under certain conditions.
- Bugfix: NULL pointer dereference in PDB symbol loader for union data types under certain conditions.
- Bugfix: Access violation in DbgHelp library under certain conditions.
- Bugfix: Re-entrancy issue in DbgHelp library under certain conditions.
- Build: Update SQLite3 to 3.14.2.
- Build: Update OpenSSL to v1.0.2h.
Version 1.7.0 (26 May 2016)
- Bugfix: Load 64-bit ELF binaries correctly.
Version 1.6.0 (15 May 2016)
- Analysis: Support loading an analyzing 32-bit and 64-bit ELF relocatable, executable and shared object binaries.
- Analysis: Add a new platform 'POSIX'. Include pre compiled header and export symbol support.
- Analysis: Support UTF-8, UTF-16 and UTF-32 string data types.
- GUI: Add a Home page to the application tab, listing recent files and release notes.
- GUI: Add right click menu to main tabs - copy file name and path to clipboard.
- GUI: The pinned application tab now shows the Relyze icon.
- Bugfix: Indirect call analysis was producing incorrect results under certain conditions.
- Bugfix: Fatal error in Win64 Ruby subsystem due to an interpreter divide by zero edge case.
- Bugfix: Access violation in the theme subsystem for scroll bars.
- Bugfix: Non active main tabs rendered their font badly (Regression).
- GUI: Updated application icon.
Version 1.5.0 (26 February 2016)
- Analysis: Static library analysis for common compiler runtimes and other statically linked library code.
- Plugin: Add plugin support to create, delete, query and apply static library packages.
- Analysis: Exception handler analysis support for x64 COFF object files.
- Analysis: Performance improvement when loading types from the PCH symbols.
- Analysis: Performance improvement to the internal memory manager and callback system.
- GUI: Expose enabling and disabling more parts of the analysis.
- GUI: Plugin editor dialog now offers to reload externally modified files.
- Bugfix: Destructing a data block containing a pointer data type could access violate when closing an analysis.
- Bugfix: Data types for mangled symbol names in embedded COFF symbols were not processed correctly.
- Bugfix: Jump table analysis failing for incomplete jump tables in certain x64 COFF files.
- Bugfix: Jump table analysis may incorrectly process a basic block causing an application crash.
- Bugfix: Null pointer dereference in goto dialog for a non executable file model.
- Bugfix: Correctly process PE section with invalid PointerToRelocations value.
- Bugfix: Win64 build pointer truncation issue during parsing embedded certificates.
- Bugfix: Win64 build pointer truncation issue during right click in hex viewer.
- Bugfix: Win64 build application loading issue on Windows 7 x64 under certain conditions due to Windows thread local storage initialization.
- Bugfix: The plugin options :minapplicationversion and :maxapplicationversion were handled incorrectly.
- Bugfix: Relyze::ExecutableFileModel::Segment was not returning correct length values.
- Bugfix: The Ruby OpenSSL library was failing to load correctly (Regression).
- Bugfix: Some dialogs were not correctly displaying a custom theme.
- Build: Double signing both the installer and application exe with a SHA1 and SHA256 signature.
- Build: Update SQLite3 to 3.11.0.
- Build: Update OpenSSL to v1.0.2f.
Version 1.4.0 (22 October 2015)
- Analysis: Support loading AR library files.
- Analysis: Support loading and analysing COFF object files.
- Analysis: Improve PE Load Configuration Directory parsing for Control Flow Guard and Code Integrity metadata.
- Plugin: Distribute the sqlite3 Ruby gem.
- GUI: Add a copy to clipboard option to all right click menus where applicable.
- Bugfix: Relyze::ExecutableFileModel::FunctionDataType.name was not working as expected.
- Bugfix: Relyze::ExecutableFileModel::FunctionDataType.length and size ambiguity.
- Bugfix: In the Structure view locating an offset inside a blob was failing.
- Bugfix: Application crash during shut down if a plugin was previously active.
Version 1.3.0 (7 September 2015)
- Build: Relyze now shipped as either a 32 bit or 64 bit Windows application. Both builds are feature compatible.
- GUI: Reference graphs now use a separate pivot entry for each graph. You can close and move them via right clicking the pivot.
- GUI: Moved the reference graph overview into the reference graph for consistency with function graphs.
- GUI: Improve the reference dialog, now using a virtual list view for performance and can filter by text.
- Analysis: Handle analysing PE files whose entry point is in a non executable section.
- Analysis: Improve how the diff algorithm matches functions.
- Analysis: Improve how the diff algorithm matches duplicate blocks from a switch statement.
- Bugfix: Improve parsing scope table entry handlers in PE32+ exception directories.
- Bugfix: Resolved several memory leaks.
- Bugfix: Plugin editor control updated, resolving several issues.
- Bugfix: Application crash during shut down under certain conditions.
- Build: Update SQLite3 to 3.8.11.1.
- Build: Update OpenSSL to 1.0.1p.
Version 1.2.0 (3 July 2015)
- Plugin: Support for analysis diffing.
- Plugin: Add example plugin to copy matched names and comments after a diff.
- GUI: Add right click menu support for plugin shortcuts to both code and diff views.
- Plugin: Add plugin method Relyze::ExecutableFileModel::BasicBlock.custom_name?
- Plugin: Add plugin method Relyze::FileModel.restart and helper method Relyze::Plugin::Base.restart_analysis
- Plugin: Add plugin method Relyze::FileModel.realloc_buffer to resize a models internal buffer
- Plugin: Add plugin method Relyze::FileModel.run_plugin to run a plugin against a model
- Plugin: Add plugin helper method Relyze::ExecutableFileModel::Instruction.disassemble_all
- Plugin: Add plugin helper method Relyze::ExecutableFileModel::Instruction.to_asm
- Plugin: Add plugin helper method Relyze::Application.getpluginguid
- Plugin: Add plugin support to Relyze::Application.analyzefile and Relyze::Application.analyzebuffer
- Plugin: Allow the headless running of plugins via the /run command line argument.
- Plugin: Remove the analyze/analyse spelling ambiguity in the plugin API in favour of analyze.
- Bugfix: Handle the PE file IMAGESCNCNT_CODE flag as expected.
- Bugfix: Deadlock in the Ruby plugin subsystem under certain conditions.
- Bugfix: TypeError in Ruby garbage collection under certain conditions.
- Bugfix: Thread safe access to cached MRU segment for multi threaded diffing.
- Bugfix: Ensure diff algorithm produces repeatable results across multiple runs.
Version 1.1.0 (12 June 2015)
- Analysis: Interactive Analysis Diffing.
- GUI: Reduce main pivot menu size.
- GUI: Performance improvement for tree control in structure view.
- GUI: Add Ctrl + Mouse wheel to zoom in and out of graphs.
- GUI: Add option to batch analysis to prevent saving the generated analysis archives to the library.
- Analysis: Report string lengths as character counts and not byte lengths in the code view.
- Analysis: Support AMD Trailing Bit Manipulation (TBM) and AVX512 mask instructions.
- Bugfix: Correctly decode immediate form of BEXTR instruction.
- Bugfix: Correctly report an exported items length if it is a function.
- Bugfix: Indirect call analysis was clobbering imports under certain conditions.
- Build: Update SQLite3 to 3.8.10.
Version 1.0.0 (7 May 2015)
- Initial Release.
原版下载地址:
https://www.relyze.com/Relyze_Desktop_3_5_0_win64.exe
https://www.relyze.com/Relyze_Desktop_3_5_0_win32.exe