al-khaser | Public malware techniques used in the wild : Virtual Machine | Reverse Engineering library

 by   LordNoteworthy C++ Version: Current License: GPL-2.0

kandi X-RAY | al-khaser Summary

kandi X-RAY | al-khaser Summary

al-khaser is a C++ library typically used in Utilities, Reverse Engineering applications. al-khaser has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has medium support. You can download it from GitHub.

al-khaser is a PoC "malware" application with good intentions that aims to stress your anti-malware system. It performs a bunch of common malware tricks with the goal of seeing if you stay under the radar.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              al-khaser has a medium active ecosystem.
              It has 4850 star(s) with 1093 fork(s). There are 232 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 35 open issues and 63 have been closed. On average issues are closed in 113 days. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of al-khaser is current.

            kandi-Quality Quality

              al-khaser has 0 bugs and 0 code smells.

            kandi-Security Security

              al-khaser has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              al-khaser code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              al-khaser is licensed under the GPL-2.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              al-khaser releases are not available. You will need to build from source code and install.
              Installation instructions are available. Examples and code snippets are not available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of al-khaser
            Get all kandi verified functions for this library.

            al-khaser Key Features

            No Key Features are available at this moment for al-khaser.

            al-khaser Examples and Code Snippets

            No Code Snippets are available at this moment for al-khaser.

            Community Discussions

            QUESTION

            Same binary but different assembly instructions at runtime - Windows 7
            Asked 2019-Dec-06 at 09:59

            For a bit of background, I was playing around with anti-debug techniques. To prevent software breakpoints, one can search at runtime for 0xCC inside a memory segment. Code example here -> https://github.com/LordNoteworthy/al-khaser/blob/master/al-khaser/AntiDebug/SoftwareBreakpoints.cpp

            Instead of checking for only one function, I wanted to test the whole .text section at runtime and compute the hash of the section. After some research I ended up with something like that.

            ...

            ANSWER

            Answered 2019-Dec-06 at 09:59

            @PeterCordes is right (look in the comments). It's because of ASLR, I just tested the code with ASLR Off and the sum is always the same.

            Source https://stackoverflow.com/questions/59199388

            QUESTION

            Understanding some Antidebug inline asm for Windows / MSVC in C/C++
            Asked 2018-Aug-30 at 04:20

            I'm trying to understand some of the anti-debugger functions in https://github.com/nemesisqp/al-khaser/blob/0f74c40dde8ba060807e031271f81457a187fa08/DebuggerDetection.cpp#L603

            Would

            ...

            ANSWER

            Answered 2018-Aug-30 at 04:11

            Both of those techniques are relatively old. I think they were in use in the early 2000s, if not the late 90s.

            The first uses the fact that the Thread-Information Block (TIB) resides at fs:[0] for windows processes (at least as late as WinXP...I haven't looked since then).

            Offset 0x30 into the TIB is a pointer to the Process Environment Block (PEB). From that link, we see that offset 0x2 into the PEB is the 'being debugged' flag. This is the value that is read by the API call IsDebuggerPresent.

            The second example demonstrates two detection mechanisms:

            This answer gives good detail on the function of int 0x2d on windows. For the moment, we'll just note that it's part of Windows' built-in debugging support.

            The simpler mechanism is this: Structured exception handling in Windows would catch things that the language-based exceptions couldn't, because it was hooked into the OS's exception handling framework, not the language-runtime's.

            So the int 0x2d would generate a fault; any debugger present would handle the fault, and because this interrupt is for debugging, the debugger would return to control-flow as usual. Thus the structured-exception handling mechanism wouldn't be invoked...so the 'catch' would never be reached, and the return value of the function would thereby change. This method was pretty trivially defeated by later SEH-aware debuggers, by telling the debugger to pass the exception to the program, in which case the SEH would fire.

            The other mechanism is based in the detail of the of way int 0x2d is processed by windows, which was apparently not emulated perfectly by OllyDbg (a once phenomenal debugger that went defunct and came back full of malware). I am not personally familiar with this method, so I would direct you to the linked answer.

            Just for context, the early days of anti-debugger techniques were studies of particularly popular debug tools. In whatever document you've dug these techniques from, you will no doubt also see ones dedicated to detecting NuMega Softice --- probably the first kernel debugger for Windows (circa NT 4.0). The instruction sequence from whence my handle is derived was used as a method of detecting this debugger.

            Thanks for the trip down memory lane ;)

            Source https://stackoverflow.com/questions/52087716

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install al-khaser

            ~~You can download the latest release here: x86 | x64.~~.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/LordNoteworthy/al-khaser.git

          • CLI

            gh repo clone LordNoteworthy/al-khaser

          • sshUrl

            git@github.com:LordNoteworthy/al-khaser.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Reverse Engineering Libraries

            ghidra

            by NationalSecurityAgency

            radare2

            by radareorg

            ILSpy

            by icsharpcode

            bytecode-viewer

            by Konloch

            ImHex

            by WerWolv

            Try Top Libraries by LordNoteworthy

            cpu-internals

            by LordNoteworthyC

            windows-internals

            by LordNoteworthyC

            windows-exploitation

            by LordNoteworthyC++

            chrome-extension-downloader

            by LordNoteworthyGo

            workspider

            by LordNoteworthyPython