Тёмный
Pavel Yosifovich
Pavel Yosifovich
Pavel Yosifovich
Подписаться 2,3 тыс.
Short videos related (mostly) to Windows Internals and software development.
Life Of CoCreateInstance
19 дней назад
(Simple) Reverse Shell
Месяц назад
Modules Enumeration
Месяц назад
Registry: The Main Hives
2 месяца назад
Darkside Clone Demo from the webinar
3 месяца назад
Fork/Join Parallelism
3 месяца назад
Create Process with Alternate Parent
4 месяца назад
Simple Function Hooking
4 месяца назад
Drivers And Devices (Part 2)
5 месяцев назад
Drivers And Devices (Part 1)
5 месяцев назад
x64 Virtual Address Translation
6 месяцев назад
Injecting DLL with Shellcode
7 месяцев назад
Simple Data Race
7 месяцев назад
Комментарии
@Kaassap
@Kaassap 4 часа назад
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 6 часов назад
Great video Pavel
@Bomag
@Bomag 11 часов назад
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 8 часов назад
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 7 дней назад
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 7 дней назад
I don't know what you mean. What are you seeing?
@CoolGamer6525
@CoolGamer6525 10 дней назад
hi, is it possible to convert a dll to .exe trainer?
@zodiacon
@zodiacon 10 дней назад
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 18 дней назад
YOU the MAN PAVEL
@ALCHEMYTWEAKS
@ALCHEMYTWEAKS 18 дней назад
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 29 дней назад
One of my favorite channels. Keep these videos coming, please!
@ttutankhamon86
@ttutankhamon86 29 дней назад
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 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-lJ3CD9M3nEQ.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 RU-vid.
@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.