Giter Club home page Giter Club logo

Comments (10)

mrexodia avatar mrexodia commented on June 14, 2024

It doesn't matter because the latest x64dbg doesn't execute this function on attach anymore.

from scyllahide.

lupier avatar lupier commented on June 14, 2024

I dont think so, when I switch from running x64dbg process to ida64 process with ollymigrate plugin, this API was called and > failure.
So, where can I solve the problem - in the ida pro attachment code, in the scilla plugin or in the ollymigrate plugin?
p.s. when I manually restore API (remove hook) all work as expected

from scyllahide.

mrexodia avatar mrexodia commented on June 14, 2024

from scyllahide.

lupier avatar lupier commented on June 14, 2024

hook on the function establishes from protection once at the start and does not change anything else there.
For me, there is no problem with scripting to restore the code and not worry about anything at all. I only created an error issue because I thought anti-attach checkbox covered all the options + DgbUiRemoteBreakin.
If this is not a bug but feature, then I no longer have questions with this API.
Regards

from scyllahide.

mrexodia avatar mrexodia commented on June 14, 2024

from scyllahide.

lupier avatar lupier commented on June 14, 2024

My work chain: x64dbg > Ollymigrate plugin > IDA64. IDA64 failed at this API.
This API is used by IDA Pro when trying to get a migrating process.
Perhaps we misunderstood each other a little.
For me, the question is not whether the API is used in x64dbg, but that scyllahide does not remove protection hook from the API, and the API is not some random one like Beep from kernel32, but a function that is described in some anti-debugging research.
The logic is that API is used in anti-debugging, why is it ignored then with anti-attach? And the fact that the scylla connects to the processes differently is great, except that the standard attachment of another debugger to the process will lead to termination of the process.

from scyllahide.

mrexodia avatar mrexodia commented on June 14, 2024

There is no misunderstanding at all. I agree with you that this should work, here is the relevant code for you to debug why it's not working for you:

bool ApplyAntiAntiAttach(DWORD targetPid)

from scyllahide.

lupier avatar lupier commented on June 14, 2024

Ok, what I found:

  1. many places where WriteProcessMemory calls in a whole plugin not checked to be BOOL
  2. the ApplyAntiAntiAttach function is never called fully, since the checks carried out in the function prologue in compiled dp32 binary do not allow branching even to OpenProcess>GetModuleHandleW>GetProcAddress>VirtualProtectEx etc. sequence
    p.s.
    not sure (I'm not familiar with C++) but maybe problem is here
    #define DbgBreakPoint_FUNC_SIZE 2
    #ifdef _WIN64
    #define DbgUiRemoteBreakin_FUNC_SIZE 0x42
    #define NtContinue_FUNC_SIZE 11
    #else
    #define DbgUiRemoteBreakin_FUNC_SIZE 0x54
    #define NtContinue_FUNC_SIZE 0x18
    #endif

from scyllahide.

lupier avatar lupier commented on June 14, 2024

Any progress on this bug?

from scyllahide.

Mattiwatti avatar Mattiwatti commented on June 14, 2024

Not really I'm afraid, I remember running into this myself in the past (this was ages ago) and making an attempt to fix it, but as you can see I never did. From what I recall the code related to this was (still is) simply doing all kinds of things it really has no business doing, and the entire 'kill anti-attach' functionality should just be rewritten from scratch in order for it to be properly fixed or fixable.

I may have time to look into this again later this week, but don't hold your breath.

from scyllahide.

Related Issues (20)

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.