Giter Club home page Giter Club logo

dfir-orc-doc-src's Introduction

DFIR ORC

LGPL licensed

Documentation

https://dfir-orc.github.io

Build

Branch Status
main Build Status
release/10.1 Build Status
release/10.2 Build Status

Requirements

  • Visual Studio
    • From 2017 to 2022
    • English only (vcpkg limitation)
    • Use this installer configuration or alternatively use vstools
    • Check also "Desktop development with C++"
  • Kitware's CMake >= 3.25 or Visual Studio integrated version

Build environment can be setup quickly using Microsoft's developer virtual machines. Import this .vsconfig from Visual Studio Installer.

Commands

Both 32-bit and 64-bit versions should be built for maximum compatiliby before deployment. See https://dfir-orc.github.io for more details about deployment and configuration.

In a prompt like Developer Command Prompt for VS 2019 (prefer to avoid using cmd.exe):

git clone --recursive https://github.com/dfir-orc/dfir-orc.git
cd dfir-orc
mkdir build-x86 build-x64

cd build-x86
cmake -G "Visual Studio 17 2022" -A Win32 -T v141_xp ..
cmake --build . --config MinSizeRel -- -maxcpucount

cd ../build-x64
cmake -G "Visual Studio 17 2022" -A x64 -T v141_xp ..
cmake --build . --config MinSizeRel -- -maxcpucount
  • The -T v141_xp option will allow compatibility with Windows XP SP2 and later, it can safely be removed if this is not required.

  • The default ORC_BUILD_VCPKG=ON option will build vcpkg packages in 'external/vcpkg' subdirectory.

Important Always do a git submodule update after any git pull to update submodules aswell. Alternatively, always pull with git pull --recurse-submodules

Options

CMake option Default Description
ORC_DOWNLOADS_ONLY OFF Only download vcpkg dependencies
ORC_BUILD_VCPKG ON Build vcpkg dependencies
ORC_BUILD_APACHE_ORC OFF Build Apache Orc module
ORC_BUILD_COMMAND ON Build OrcCommand library
ORC_BUILD_FASTFIND OFF Build FastFind binary
ORC_BUILD_ORC ON Build Orc binary
ORC_BUILD_PARQUET OFF Build Parquet module (x64)
ORC_BUILD_SSDEEP OFF Build with ssdeep support
ORC_BUILD_JSON ON Build with JSON enabled
ORC_USE_STATIC_CRT ON Use static runtime
ORC_VCPKG_ROOT ${ORC}/external/vcpkg VCPKG root directory
ORC_XMLLITE_PATH XmlLite.dll path (xp sp2)
VCPKG_TARGET_TRIPLET Autodetect VCPKG triplet to use
CMAKE_TOOLCHAIN_FILE Autodetect VCPKG's toolchain file

[1] The xmllite.dll is native after patched Windows XP SP2

Note: Some combinations may be irrelevant.

License

The contents of this repository is available under LGPL2.1+ license. The name DFIR ORC and the associated logo belongs to ANSSI, no use is permitted without express approval.


Le contenu de ce dépôt est disponible sous licence LGPL2.1+, tel qu'indiqué ici. Le nom DFIR ORC et le logo associé appartiennent à l'ANSSI, aucun usage n'est permis sans autorisation expresse.

Acknowledgments

DFIR ORC is disclosing Microsoft source code with Microsoft's permission.

dfir-orc-doc-src's People

Contributors

blagny-anssi avatar fabienfl-orc avatar jgautier-anssi avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dfir-orc-doc-src's Issues

How to GetSamples with AutoRunsC?

Hello,

According to the documentation (https://dfir-orc.github.io/GetSamples.html#autoruns-element-autoruns-path-option), it is possible to load and execute embedded "autorunsc" binary from an ORC configured binary.

After several attempts, I succeeded in generating a binary which would call the embeded binary using the pair element within EmbedConfig XML file:

[...] 
  <!--  <autoruns>.\tools\autorunsc.exe</autoruns> didn't work -->

    <file name="WOLFLAUNCHER_CONFIG" path=".\config\WolfConfig.xml"/>
    <file name="GetSamples_config.xml" path=".\config\GetSamples_config.xml"/>
    <!-- <file name="autorunsc.exe" path=".\tools\autorunsc.exe"/> didn't work-->
    <!-- <file name="autorunsc" path=".\tools\autorunsc.exe"/> didn't work-->
    <!-- <file name="AutoRuns" path=".\tools\autorunsc.exe"/> didn't work-->
    <!-- <file name="autoruns" path=".\tools\autorunsc.exe"/> didn't work-->
    <!-- <file name="autoruns.exe" path=".\tools\autorunsc.exe"/> didn't work-->
    <!-- <file name="AUTORUNSC" path=".\tools\autorunsc.exe"/> didn't work-->
    <!-- <file name="AUTORUNS" path=".\tools\autorunsc.exe"/> didn't work -->
    <pair name="AUTORUNS" value="7z:#Tools|autorunsc.exe" />

    <archive name="Tools" format="7z" compression="Ultra">
        <file name="DFIR-Orc_x64.exe" path=".\tools\DFIR-Orc_x64.exe"/>
        <!-- <file name="autorunsc" path=".\tools\autorunsc.exe"/> didn't work-->
        <!-- <file name="AutoRuns" path=".\tools\autorunsc.exe"/> didn't work-->
        <!-- <file name="autoruns" path=".\tools\autorunsc.exe"/> didn't work-->
        <file name="autorunsc.exe" path=".\tools\autorunsc.exe"/>
        <!-- <file name="AUTORUNS" path=".\tools\autorunsc.exe"/> didn't work-->
    </archive>
[...]

I figured this out with the source code:

https://github.com/DFIR-ORC/dfir-orc/blob/b5f71fadbd2178f7c798fa73594fc29ac83bbfca/src/OrcCommand/GetSamples_Run.cpp#L57

However, the documentation of the pair element clearly states that user-created configuration should not have to use this kind of element:

This should not be necessary in a user-created configuration.

Is it the right way to call autorunsc from GetSamples? Or is there another way?

Thanks you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.