And this is why I love this channel. Goes off on a mini tangent about the MZ header. Not because he read about it once, but because he was there and has storys from his time there.
I built a honeypot VM with Windows 10 with Hebrew language pack so that when I got a scam tech support call I let them have at it. They tried to set the PIN to stop me accessing it unless I gave them money -but they couldn't read Hebrew (neither can I) so were stuck and gave up. They wanted me to log into online banking and my credentials wouldn't work. Not entirely surprising as I don't have an account with that bank. I had them on the phone for 1.75 hours before they had enough and hung up.
Disassemblers can be quite enlightening. Once wrote one for a mainframe to analyse a new version of the OS. We had our own fork of the code, and I decided to look at what the manufacturers' folk had done with it since. Luckily, the OS was issued in the form of an almost-complete compilation, dumped to tape. GIN was a weird assembler, with its internals documented. You could write code to be executed AT COMPILE TIME; if it lacked a feature, you could add it. I added a disassembler. Global variable names were part of the standard dump, and names local to the module and program labels were also saved by clever coding, enabling patches to be applied at install time. I found a module which had not been referenced, and worked out what mods were needed to make it work - I had been thinking of enhancing our fork to do similar things, and had studied the "interesting" bits of the engineers' documentation. I sent a printout of my working version of the module off to their programmers, WITH ALL THEIR ORIGINAL NAMES INTACT.
Disassembling any code gives fascinating insights into programming methodology (including that of compiler writers) and techniques used to generalize language mapping including often necessary baggage such as extensive use of indirect addressing in the Motorola sense. It most recently proved highly useful when I had to hack a disk formatting program for an old machine I built running SWTP Flex O.S. I had to modify a single byte in the program to allow me to use an 80 track FDD (new and boxed) with some high density 5-1/4 inch floppies (also previously unused) but which work as they would have done at the time they were manufactured. The (low-level) format utility only worked with 40 track D.S. disks. I used a utility a colleague wrote back in the day to allow modification and replacement at byte/bit level in a disk file.
I have done a lot with Ghidra. I remember the best use I had with it was that our software for work that used windows platform as one of the components of ground station, needed to be able to change bluetooth and network settings as well as well as a few other functions. Whatever code we had before had broken one windows update so I went in and made an API for the functions we needed and tapped into some windows APIs. I am confident you could peace together a simmilar implementation from Microsoft's documentation but being able to open things blue bluetoothapis in Ghidra and see what it actully checks and does under the surface was a big help. Seeing all the exports, as well as the functions they use and the arguements they pass would leave many shocked on how much a program can really do in windows. My CTO thought most of these options where deeply burryed as a registry hack or some windows pro option. I also made some cool custom networking code that created ad-hoc network across many adapters simultatiniusly. I very much rather do this stuff in linux but its always cool to see windows has functionality for all these things.
I can never thank Cybersolution112 on telegram enough for all he has done for me, recommending him to you all is a way of showing my appreciations to him , you can also Contact him via +13106278867 right now to help you out with all your Crypto recovery , phone hacking, tracking ,spying and unlocking of phones
I can never thank Cybersolution112 on telegram enough for all he has done for me, recommending him to you all is a way of showing my appreciations to him , you can also Contact him via +13106278867 right now to help you out with all your Crypto recovery , phone hacking, tracking ,spying and unlocking of phones
Great stuff, recently got introduced to this, when I was trying to work with some of my very old and first code, back from 2007. Trying to remember some clever audio stuff that I did back then, but fail to achieve in modern times with C# hmmm.. this might come in handy :) Always do backups. Thats the lesson I learned :D
There's a problem with this Dave guy... When he says "I'm doing it live", he then indeed goes and does it live. Which is why RU-vid must go out there and place a monument of him somewhere. Keep it going honest, Dave, well done.
Yeah that was a little rough to do live first time! Actually I had walked through it in test, but the window borders go outside the window and then I was lost for a little bit!
Your podcasts are fascinating. I only have a HS diploma and a couple of years in Biological Sciences, (Florida Institute of Technology) and yet I taught myself software development by reading manuals and publications starting in 1978. I spent more than 40 years writing mostly engineering software using FORTRAN, VB6 and VBA. Although I'm not even close to you guys who wrote MS-DOS and Windows, I get the gist of what you're explaining. Is there a way I can contact you to show you some algorithms I have developed? They're not complex, i.e. you can read them in 30 minutes, if you're not busy. They're not in code, they're explained in English as to what they do.
I can never thank Cybersolution112 on telegram enough for all he has done for me, recommending him to you all is a way of showing my appreciations to him , you can also Contact him via +13106278867 right now to help you out with all your Crypto recovery , phone hacking, tracking ,spying and unlocking of phones
@@DavesGarage I thought it might have been a cheeky nod to the black/white hat concept, given the theme of the video. But a friend at SpaceX is also pretty neat. 😎
So what you happen if you ran a de-compiler on a program written in assembly? I imagine every compiler had "fingerprints" the de-compiler can look for. "ah, this must be a loop with a conditional exit". But in assembly I imagine it is harder for the de-compiler to "see" what the programmer is doing. if you were to do something that the normal compiler can't really to then how crazy is the resulting de-compiled code going to look? Hell, what would happen if you ran the de-compiler on random noise?
Interesting to hear that you used 3rd party tools like IDA Pro to check your code was sufficiently obfuscated. Did you use any other 3rd party programs like Numega's SoftICE back in the day for low level 95/NT debugging?
Yes! I completely forgot about SoftICE. We used that in the MS-DOS days but never in Win32, but I did see it occasionally. I think we had so many custom debug extensions that made our debuggers powerful, and those extensions wouldn't work in softice, likely...
@@DavesGarage I thought you might have had your own debugging solutions :) Did any of those make it out into the wild as windbg extensions or commands? We used SoftICE as our software had a kernel mode driver on NT4 (16 bit driver on Win 9x) and various hooks in user mode. Eventually we discovered remote debugging did the job in user mode with all the niceties of being inside Visual Studio.We also got a machine with the right kind of firewire card that you could break into kernel mode with through windbg on another machine, eliminating the need for it. I think SoftICE was still working up to Windows XP.
10:50 wow, 30k to 20k? you have amazing bandwidth, but you can stream 1080p at 6k with reasonable quality, and 4k resolution at about 10k bandwidth from what I'm reading. Love your channel :)
Well, I just have gigabit cable. It's 1000 down and 40 up, very asymetrical. But I figured it'd be safe to try 30, but either Yahoo couldn't compress it fast enough or I don't really have 40, as it was stuttering... but my compressor on my side said the GPU and CPU weren't loaded, so I don't think it was a source PC issue!
@@DavesGarage Oh, it was stuttering on your end? I figured you were getting people letting you know it was stuttering on their end, which could be an issue too if their internet or pc can't handle that high a bandwidth. My experience streaming on twitch has taught me to avoid the higher bandwidths, even though they look nicer, partly because others may not be able to handle it. But I haven't tried streaming to youtube yet, so I don't know how well it's handled over here. Hope you figure the problem out :)
@@quantumapprentice8120 watching this as a not live video shows a number of hitches were a minute or two of content is missing so definitely some missing packet/frames depending.
But when I installed, it I got only the JRE, no javac.exe included. There was not JDK included, even though it was so named. Perhaps something has changed with it?
@@DavesGarage You need to grab the java-11-openjdk-devel (RHEL) or openjdk-11-jdk package (Debian) to get the full JDK. I usually just install that one and your package manager will most likely pick up the base (JRE) and headless packages as dependencies.
@@DavesGarage It sucks how convention comes before fascination. Human evolution is overdue for a renaissance of technological widespread curiosity. For science. Even if Darwins preferences are innately geared from cave times. Before the power of modding and therefor dominating the Nintendos of our reality.
@@DavesGarage You are far far too amazing a precious human specimen to not be helping me in the long game as my project matures. Im also not off the radar in Gabens Kingdom. Think about how attention getting my personality is, despite the hobbit like size.
I had never user ida so i wouldnt know, but i saw comments saying ghidra is slow and well, it is, its java...ida is written in c++ i think.. other than that, i dont know why ida would be better
Assembly only makes sense if used on hardware and if you really want to squeeze maximum performance out of it. It would be very inefficient to write the core GNU/Linux tools in Assembly for example.
Anybody knows of any tool that helps with understanding a codebase that iz written in C++? That is, when you are given source code that you are completely unfamiliar with?
I know this is 2 years old by now, but hey maybe there is still life. So my question is how would you suggest if you can someone goes about learning "this stuff", I'm pretty sure I'm not stupid but unless I can learn what the rules are I can't make heads or tails of this, seeing as you're wearing a Space-X cap Musk was able to pick the brain of a former NASA engineer for the knowledge he required. Sadly I don't have nearly the same resources, the balls and probably, almost certainly the IQ as Musk. I am however where he left as a child, so I'm probably 30 years behind him, minus the obvious limitations, age being one. I feel I've gone into a tangent...knowledge, where, how?
Divide by neg 2 the value lower than the limit (byvar4) or (UInt64 max) multiply by (40 - bVar4) -- I know exactly what that line is doing, have no clue why unless in is checking from max value in reverse
Not sure what that would accomplish. It already runs the Linux kernel alongside, so anything it can do, Windows can do. But the opposite isn't true. So Windows wins!
6:30 min or thereabouts you are trying to figure out what is going on. It isn't an optimization. Its exactly the opposite caused by you. I've explained multiple times that you have an unnecessary loop in your code. This video is just painful to watch it shows how little you are familiar with your own code. In truth you could optimized this further beyond what I linked below. You could have used the bit array to only represent values ending in 1,3,7,9 but you didn't allow that because you wanted 5 included. Had you though you could have skipped all multiples of two of each prime you found and each bite would have held an increment of 20 (1,3,7,9,11,13,17,19). It wouldn't have made a great deal of difference in speed though it would have been effectively substituting a multiplication for a check of a bit.
So if you're so smart why haven't you submitted a faster version and taken credit for its score? There's no room for whining here Diconica, only code. Put up or shut up, as they say. Write some code or go away.
Great instructions and insights. I copy/pasted screenshots of this video into Dall-E and ChatGPT AI and right away hacked into the Pee Tapes Vault in the Kremlin. How do I send my private key to Ed Snowed-In?