Pavel Yosifovich
Pavel Yosifovich
  • 39
  • 41 912
Simple COM Server (Part 1)
Переглядів: 309

Відео

Life Of CoCreateInstanceLife Of CoCreateInstance
Life Of CoCreateInstance
Переглядів 40719 днів тому
(Simple) Reverse Shell(Simple) Reverse Shell
(Simple) Reverse Shell
Переглядів 731Місяць тому
Modules EnumerationModules Enumeration
Modules Enumeration
Переглядів 628Місяць тому
Registry: The Main HivesRegistry: The Main Hives
Registry: The Main Hives
Переглядів 4692 місяці тому
Darkside Clone Demo from the webinarDarkside Clone Demo from the webinar
Darkside Clone Demo from the webinar
Переглядів 9773 місяці тому
just the code demo! source code: github.com/zodiacon/MalDevWorkshopWebinar
Fork/Join ParallelismFork/Join Parallelism
Fork/Join Parallelism
Переглядів 4953 місяці тому
For more on threads, see the course Windows System Programming 2 at training.trainsec.net/windows-system-programming-2-pavel Souce code: github.com/zodiacon/youtubecode/tree/main/PrimesCounter
Create Process with Alternate ParentCreate Process with Alternate Parent
Create Process with Alternate Parent
Переглядів 3584 місяці тому
Hooking Functions in a different ProcessHooking Functions in a different Process
Hooking Functions in a different Process
Переглядів 7494 місяці тому
Simple Function HookingSimple Function Hooking
Simple Function Hooking
Переглядів 8914 місяці тому
Drivers And Devices (Part 2)Drivers And Devices (Part 2)
Drivers And Devices (Part 2)
Переглядів 3995 місяців тому
Drivers And Devices (Part 1)Drivers And Devices (Part 1)
Drivers And Devices (Part 1)
Переглядів 9015 місяців тому
x64 Virtual Address Translationx64 Virtual Address Translation
x64 Virtual Address Translation
Переглядів 1,1 тис.6 місяців тому
Injecting DLL with ShellcodeInjecting DLL with Shellcode
Injecting DLL with Shellcode
Переглядів 3,1 тис.7 місяців тому
Simple Data RaceSimple Data Race
Simple Data Race
Переглядів 3497 місяців тому

КОМЕНТАРІ

  • @Kaassap
    @Kaassap 22 години тому

    Im very hyped for COM content. Im still very new and trying to learn com and winapi for amusement. Bought 'windows via c/c++' by Jeffrey Richter recently. I still have alot of work to do but Im planning on reading your book on native windows next. Is it just me or is com content on youtube really scarce?

  • @user-yi4ef2gk1o
    @user-yi4ef2gk1o День тому

    Great video Pavel

  • @Bomag
    @Bomag День тому

    This is great. Will you cover more COM things in the future e.g. the COM threading model (sta, mta) in future videos? I'm trying to find good COM resources for colleagues and they don't seem to like to read books :( your videos are perfect for the younger guys honestly.

    • @zodiacon
      @zodiacon День тому

      Probably, but no promises. I do have a full video course on COM on trainsec.net.

  • @Misheeification
    @Misheeification 2 дні тому

    Is it possible to query the ETW for the Event fields with logman instead than using ETW explorer?

    • @zodiacon
      @zodiacon 2 дні тому

      No as far as I can tell.

  • @worldwar_two2894
    @worldwar_two2894 6 днів тому

    Very nice! well explained! respect for boiling down this intricate stuff into sth ingestible and digestible! Also respect for the 128 GiB RAM machine 😅

  • @soniyakc9354
    @soniyakc9354 8 днів тому

    Hi, How this percentage for CPU hard limit is going change based on Hardware? Based on system I am seeing value has different effect.

    • @zodiacon
      @zodiacon 8 днів тому

      I don't know what you mean. What are you seeing?

  • @CoolGamer6525
    @CoolGamer6525 11 днів тому

    hi, is it possible to convert a dll to .exe trainer?

    • @zodiacon
      @zodiacon 11 днів тому

      Depends on what you mean by "convert". You can remove the DLL bit from the PE header, but the entry point will DllMain, and it's not what is expected from an EXE, so likely to crash.

  • @cxmpcxmbo9130
    @cxmpcxmbo9130 19 днів тому

    YOU the MAN PAVEL

  • @ALCHEMYTWEAKS
    @ALCHEMYTWEAKS 19 днів тому

    Thanks for your video Pavel, honestly you helping people to learn really fundamental things of windows for free . You the best

  • @SauvikRoy
    @SauvikRoy 28 днів тому

    Try launching a fork bomb!😅

  • @0x4ndr3
    @0x4ndr3 Місяць тому

    One of my favorite channels. Keep these videos coming, please!

  • @ttutankhamon86
    @ttutankhamon86 Місяць тому

    Beautiful work! Love this!

  • @user-yi4ef2gk1o
    @user-yi4ef2gk1o Місяць тому

    always a good day when PAVEL POST :)

  • @CodeDdukDdak
    @CodeDdukDdak Місяць тому

    thx thxthxthxthxththx

  • @amerafa1
    @amerafa1 Місяць тому

    Thank you very much for sharing you knowledge, I know you have a course about this on trainsec but if possible please create a video teaching the basic of wdf.

    • @zodiacon
      @zodiacon Місяць тому

      WDF is a big topic, not suitable for a video.

  • @user-yi4ef2gk1o
    @user-yi4ef2gk1o Місяць тому

    PAVEL

  • @user-yi4ef2gk1o
    @user-yi4ef2gk1o Місяць тому

    nice video, i have nearly watched the whole yt channel

  • @user-yi4ef2gk1o
    @user-yi4ef2gk1o Місяць тому

    good stuff my man

  • @user-yi4ef2gk1o
    @user-yi4ef2gk1o Місяць тому

    PAVEL you are the man !!

  • @gregandark8571
    @gregandark8571 Місяць тому

    If I will patch all telemetry hardcoded ip's inside windows, then windows at boot will stop working?

    • @Hallilo
      @Hallilo Місяць тому

      You can use the hosts file to block addresses, however i wouldnt count on that if you want to get rid of telemetry

    • @gregandark8571
      @gregandark8571 Місяць тому

      @@Hallilo I got rid from windows, but my curiosity regarding all this argument is still alive.

  • @user-yi4ef2gk1o
    @user-yi4ef2gk1o Місяць тому

    smartt man!!

  • @Hallilo
    @Hallilo 2 місяці тому

    Great video as always, what i think would be really interesting is a video about networking internals of windows because i never found a lot of information about that. Ive read Windows internals 7th edition part 1 and am currently reading part 2 but there isnt anything about networking.

  • @the_nurk
    @the_nurk 2 місяці тому

    got to say the one thing I appreciate the most about all of what you are doing is the dedication to digging to the exact fact i need to see to verify what you're saying is true. windows makes that very hard.

  • @MarekKnapek
    @MarekKnapek 2 місяці тому

    Your registry tool is using old style look and feel scroll bars. Maybe you are missing the v6 common controls XML manifest?

    • @zodiacon
      @zodiacon 2 місяці тому

      No, the common controls 6 manifest is there. It's the normal style I am on win 10. It looks different on win 11.

    • @MarekKnapek
      @MarekKnapek 2 місяці тому

      ​@@zodiaconOK, then something else is going on. The scroll bars are not consistent between the built-in tool and your tool.

    • @zodiacon
      @zodiacon 2 місяці тому

      I will say this: my tool supports dark mode and for that I had to use some hooks and subclassing, but I didn't touch the scroll bars that are built into windows (like the list view), because they are very difficult to customize.

  • @MrDimension0
    @MrDimension0 3 місяці тому

    Thank you for the great video. I am wondering if we need thread-synchronization especially for the wchar process name changed by the configurator process and used inside the compare function inside the .dll? Also what about memory barriers so that writes to pid and process name are actually flush the store buffer and can be observed by dll inside task manager? I'm a total noob on this and I am probably wrong. I would be grateful if you could add a short explanation why we don't need to care about these threading-problems in this case. Thanks a lot

    • @zodiacon
      @zodiacon 3 місяці тому

      In theory, you would need thread sync (a simple mutex or SRWLock will do) because the globals are read and written potentially at the same time from 2 different threads, but not really in practice, since if something is observed as partially changed, it will be picked up correctly the next time NtQuerySystemInformation is called. A memory barrier here is an alternative to synchronization - you could add a memory barrier to force the memory to be observed by other processors right after update to ensure sequential consistency, but again, from a practical perspective it's not needed, especially since the configurator exits quickly which will force store buffer flushing . And in any case, the example is non-trivial as it is without adding sync to the mix :)

  • @the_nurk
    @the_nurk 3 місяці тому

    can you use modular arithmetic for getting chunks?

    • @zodiacon
      @zodiacon 3 місяці тому

      What do you mean "modular arithmetic"?

    • @the_nurk
      @the_nurk 3 місяці тому

      @@zodiacon ua-cam.com/video/lJ3CD9M3nEQ/v-deo.html&pp=ygUdemFjaCBzdGFydCBtb2R1bGFyIGFyaXRobWV0aWM%3D

  • @amirmahdavi8005
    @amirmahdavi8005 3 місяці тому

    Thanks.

  • @chicoern
    @chicoern 3 місяці тому

    Great video! Are you using an extension for syntax highlighting? If so, which one? Thanks!

    • @zodiacon
      @zodiacon 3 місяці тому

      I think it's what you get out of the box. But if not, there is a syntax highlight extension from Mads Kristensen

  • @ek2719
    @ek2719 3 місяці тому

    Great content. Plenty to refer to in the future. Thanks!

  • @bludablaz
    @bludablaz 3 місяці тому

    Recently took the Rust class. You're genuinely a wizard. Absolutely brilliant work again.

  • @tgare8861
    @tgare8861 3 місяці тому

    Hello, how are you? I want to ask you how to load dll from byte array

    • @zodiacon
      @zodiacon 3 місяці тому

      This is called Reflective loading. Look it up.

  • @MarekKnapek
    @MarekKnapek 3 місяці тому

    Nice! I was thinking about C++ constexpr function converting from module name and function name to a hash. Then searching the module list and export list hashing each element and comparing it to pre-computed hashes. This way you hide the strings from anti virus and from offline analyzers. But no, Pavel ecrypted the whole thing. Nice. Possible red flag would be running code that is not mapped to any file (that modified pages after decryption).

  • @batphamduong9700
    @batphamduong9700 3 місяці тому

    Hi Pavel, Thanks for tutorials...But all your tutorial is injected to already running process.. How about Create new process and inject in to it? My current problem is create new progress (Ex Notepad) and inject to it..but sometime it work...sometime it dont...I dont know why...just assume dll injected when nodepad process not full loaded

    • @zodiacon
      @zodiacon 3 місяці тому

      Usually injecting into a new process is much easier, because you have an all powerful handle to it (no need to call OpenProcess which may fail). If you create the process suspended and try to inject to it, it is likely to fail, because the process only has NtDll loaded into it.

    • @batphamduong9700
      @batphamduong9700 3 місяці тому

      @@zodiacon so what is solution ?

    • @zodiacon
      @zodiacon 3 місяці тому

      There is no "one, single" solution... do some research, try things out...

  • @ramyogeshwaran
    @ramyogeshwaran 3 місяці тому

    Super explanation

  • @askardyuss
    @askardyuss 3 місяці тому

    Очень полезное видео, но не совсем понял один момент. Каким образом новый поток с точкой входа в функции GetProcAddress() заставляет в дальнейшем исполнить LoadLibraryA(dllpath)?

    • @zodiacon
      @zodiacon 3 місяці тому

      Sorry, I don't read Russian very well :)

  • @2radix774
    @2radix774 3 місяці тому

    high quality content

    • @user-yi4ef2gk1o
      @user-yi4ef2gk1o Місяць тому

      FAX me and all my homie fuck with PAVEL, @LOCALHOST

  • @MarekKnapek
    @MarekKnapek 3 місяці тому

    My idea would be to split the work to fixed number of chunks, like 1024. Then spawn the same number of threads as I have number of processors. Or maybe add one or two threads more in case of some thread gets stuck on I/O for a while, so the extra threads could run in meantime. Then each thread would repeatedly take one work chunk form shared queue until the queue is empty. This is more work for the programmer, but I believe the CPU utilization will be more even. For example when the work items are part of image that needs to be processed in some way (ray casting). Or when converting video file. If some part of the image is solid color or if some part of video is still then the speedup would be still (close to) linear.

    • @zodiacon
      @zodiacon 3 місяці тому

      parallel_for works along similar lines, but it does not choose a fixed number, but uses the actual number of iterations, keeping the CPUs busy by throwing the next item at an idle CPU.

  • @bloodyink3423
    @bloodyink3423 3 місяці тому

    Thank you 4 ur videos

  • @_zproxy
    @_zproxy 4 місяці тому

    can ye spawn a new userinteractive session and then connect it to console?

    • @zodiacon
      @zodiacon 4 місяці тому

      Possibly, if you have the SeTcbPrivilege.

  • @GregLindor
    @GregLindor 4 місяці тому

    Waht font are you using?

    • @zodiacon
      @zodiacon 4 місяці тому

      Cascadia Code (Light) - download free from Microsoft (Github)

  • @dharanisanjaiy
    @dharanisanjaiy 4 місяці тому

    Can we expect videos based on NtAPIs instead of win32APIs ^_^ ?

    • @zodiacon
      @zodiacon 4 місяці тому

      I use whatever is easier and gets the job done in videos :)

  • @nila27_98
    @nila27_98 4 місяці тому

    Great! I learned and studied a lot from your 'Parent Process vs. Creator Process' blog post. That's a really cool code, but it would have been nice if you put the CREATE_NEW_CONSOLE flag in when calling the CreateProcess because the 0xC0000142 error occurs if the process you're trying to spoil is the console process. And some uwp apps, such as calc.exe, do not have this spoofing. Anyway, thank you so much for sharing that information through blogs and UA-cam.

  • @ronyg3017
    @ronyg3017 4 місяці тому

    I am getting an error where it keeps saying hDll could be '0; this does not adhere to the specification for the function 'GetProcAddress'

    • @zodiacon
      @zodiacon 4 місяці тому

      Are you sure it's an error? It's probably a warning at best.

  • @slava_xd
    @slava_xd 4 місяці тому

    pavel will you make a video on WTL in the future?

    • @zodiacon
      @zodiacon 4 місяці тому

      I have a complete course on that... training.trainsec.net/gui-programming-with-wtl There are some free videos there.

    • @slava_xd
      @slava_xd 4 місяці тому

      @@zodiacon oh, I'll buy it then. thank you :)

  • @ALCHEMYTWEAKS
    @ALCHEMYTWEAKS 4 місяці тому

    You the best ❤

  • @nikos4677
    @nikos4677 4 місяці тому

    Dude you explained some things I didnt know and ot really helped thanks. Most youtubers ignore some important details and itsannoying

  • @amerafa1
    @amerafa1 4 місяці тому

    yeaah new video.