HNHacker News
TopNewBestAskShowJobs

maldev

299 karma · joined July 9, 2022

submissionscomments
maldev··on Windows 11 adds AI agent that runs in background with access to personal folders
Just don't opt in to this then? Nobody is forcing you, to go to the settings app, go to AI settings, go to experimental settings, and manually turn this on.
maldev··on Reselling tickets for profit to be outlawed in UK government crackdown
Most venues ban resale, or limit it heavily. What you end up with is sketchy people outside the venue or on facebook selling tickets for cash/paypal, and it's 50/50 on whether it's legit or not. Which is exactly how sites like StubHub work. Some people travel and get hotels with these resold tickets, and find out they were sold multiple times, or were fraudulent and at best can only get the ticket price back, and either pay more for a new one last minute, or be left with a hotel and vacation to sit outside the show.

There's nothing the venue can do, I went to a show recently that sent day of QR codes to try and prevent resale, and scalpers either mirror the app with a link, or take a picture. You can't check ID's at a 100,000 + person event.

maldev··on Los Angeles limits rent hikes in historic vote
Mostly nobody is against building more housing. The big issues, especially in California, are the Water supply issues. The cities largely run at capacity and the water system can't really handle the increased load. Then you have traffic and other safety concerns like electricity. It's not as simple as building more houses, it's a long road of improving infrastructure. I used to date a housing advocate who attended city hall hearings for a non profit, and no one objected, it would always get to close to being approved, then the water guy comes in and they can't do it.
maldev··on Learning to read Arthur Whitney's C to become smart (2024)
Some of these are wrong to. You can encounter issues with #define

#define $(a,b) if(a)b;else

due to not having brackets. So it's just extremely lazy to.

maldev··on Windows 11 25H2 October Update Bug Renders Recovery Environment Unusable
Honestly, I was working for the government and now work for a antivirus company where I work remote and make a very good wage and have an amazing WLB. Maybe once I have kids I will, but being a mid 30's bachelor where I am now is heaven.

The reason for the mismatch was the cleared positions are Azure, so was hoping for a position as a developer on the Defender product, but they don't really have that in the cleared space.

maldev··on Windows 11 25H2 October Update Bug Renders Recovery Environment Unusable
I'm a really big windows expert. I've reverse engineered alot of it. Big fanboy, one of the most knowledgeable people about it. Ever since interviewing and declining a Microsoft position, it's clear the people their are absolute idiots. My first interview round as a C++/C kernel dev, was for a C# job? I passed and got the offer, then they send me for a systems admin role after I decline? From recruiters, to actual engineers there, the level of incompetence was insane. I will NEVER work or support this company in any way until they get rid of all the H1BSlop they have pushing these horrible updates. I think Apple and Meta are the only major tech companies not held up by velocity and actually have functional organizations. It's not a surprise seeing all of these bugs. And there's multiple bug reports i've submitted that go unsolved in their win32 or kernel API's. ESPECIALLY for new features. It's sad how they've fallen so much. If I can find these bugs in 5 minutes using IDA, how come they aren't catching it in code reviews?
maldev··on Tachy0n: The Last 0day Jailbreak
IOS requires so many exploits in the chain since they effectively sign system calls, and capabilities by each app at two steps. So you may be able to interact with another process, but only whitelisted processes. The kernel is also Immutable so persistence is impossible. They do a level of boundary checks that only Apple can do, and also have special telemetry flags on critical processes that either mean they're looking to end of life a pathway.

No other OS can restrict on this level and it makes it so not only do you need an exploit for say the Javascript engine, you also need an exploit for like 10 other pathways. The reason for this is since the kernel is immutable and checked out the wazoo, you get "Jailbreaks" by modifying different services and system processes and getting a capability from those apps. Which is where the exploit is required for them or an approved peer. But apple also has telemtry for what each app is doing with eachother.

maldev··on Car companies are in a billion-dollar software war
You can find router firmware sourcecode online and find pretty egregious vulnerabilities if you're really trying to learn.

Alot of embedded stuff is outsourced and doesn't want to waste the computing power for stuff like stack canaries. I recall the following from making a tool for a dlink? router?

//Reads a file name foo ReadFilePath() { // Get file name // TICKET 21321: Fixed crash by increasing buffer size char FilePath[100]; ReadFileName(&FilePath); }

It sticks out to me, since the crash was clearly from a buffer overflow, and they had this documented in the source code that increasing the buffer size fixes it. What they didn't realize was that the bug would still happen and you could get a buffer overflow from this and do whatever you wanted. This is the level of programmer you're dealing with who's writing embedded software in an overseas sweatshop. And the talent isn't even there domestically since they're severely underpaid compared to someone writing simple javascript.

maldev··on All BART trains were stopped due to ‘computer networking problem’
I don't see how it ever comes back. You used to have business people and engineers riding the train. But with Covid the enforcement policies got really bad and the trains and atmosphere are so trashy now. It's far easier for the aforementioned group to just hire an Uber than deal with the crime and trashiness that's plaguing the system now.
maldev··on Reverse engineering Call of Duty anti-cheat
Few common issues.

1. Some jumps will be fake. 2. Some jumps will be inside an instruction. Decompilers can't handle two instructions are same location. (Like jmp 0x1234), you skip the jmp op, and assume 0x1234 is a valid instruction. 3. Stack will be fucked up in a branch, but is intentional to cause an exception. So you can either nop an instruction like lea RAX, [rsp + 0x99999999999] to fix decompilation, but then you may miss an intentional exception.

IDA doesn't handle stuff like this well, so I have a Binary Ninja license, and you can easily make a script that inlines functions for their decompiler. IDA can't really handle it since a thunnk (chunk of code between jmps), can only belong to one function. And the jmps will reuse chunks of code between eachother. I think most people don't use it since there was a bug with Binary Ninja in blizzard games, but they fixed it in a bug report a year or so ago.

maldev··on Ask HN: Which books/resources to understand modern Assembler?
I would highly recommend AMD's developer manual. It's a lot more written for actual reading rather than a pure tech manual with super thick language like Intel's is.

I would also recommend NASM's guide for syntax and such. https://www.nasm.us/xdoc/2.13.03rc1/html/nasmdoc0.html

maldev··on Experienced engineers are struggling to get hired
I changed alot of it to action/result oriented. What did I achieve. I also added a section at the bottom of my paragraph with EVER buzzword I could find from about 10-20 relevant job postings to get past the filter. Usually has recruiters making a joke.
maldev··on Experienced engineers are struggling to get hired
I have ~11 yoe and have near 100% callback rate(50% for remote). All positions from 200-450. Friends have similar rates. And ~70% offer rates. Always confused reading these. But I'm also a low level developer, and only ask for ~250-3 salary/bonus. It feels like the people complaining are either really bad, have poor resume's, or have visa requirements. I tweaked my resume after not getting many callbacks and now have the near 100% callback rate.
maldev··on A generalist AI agent for 3D virtual environments
The compute and delay isn't worth it at all. Especially when you can disable rendering and keep compute pretty minimal. We're talking about reading a list of entities, moving towards them and casting a few spells vs a whole AI. Exponentially less compute, for better performance. Let alone the extra data the bot sees from the entity list vs the ai operating on visuals. Bots also make money by operating on a scale. And costs from ai would outweigh the already slim profit margins for each bot.
maldev··on Disrupting malicious uses of AI by state-affiliated threat actors
Fuck openai, I'm a security researcher and if you dare ask it about anything Windows related it tells you to screw off. Linux? Fine. But ask about some undocumented Windows behavior and it says it can't. Ask it about patchguard internals as a reference? Tells you it can't assist. Absolutely crazy, I can understand asking it to write straight up malware, oh wait, it does that no issue! Lord help you if you want to use it as a reference or educational tool...
maldev··on Why are Apple Silicon VMs so different?
It's my first Mac, and I bought it because the actual machine is magical. It's so well built and has so many little things that make it great. I thought it was dumb and overhyped until my girlfriend got a M2. I then looked up the virtualization and played around with it a bit, and bar games, it's the best laptop for running Windows apps. And even then, it runs every game I would play on the road.

I also really liked the memory layout they have. I have been messing around a ton with ML/AI, it's able to do local models faster than chatgpt and get like 70% the accuracy. I have a pretty beastly desktop setup, and it's a joy to use such a solid machine in bed while i'm watching TV.

maldev··on Why are Apple Silicon VMs so different?
I'm a big windows guy, pretty much windows only. Recently bought a macbook. I love windows so much that I set up my shell on the mac to be powershell and use Windows Terminal to SSH into the mac.

I'm REALLY happy with parallel desktop. It runs any productivity or programming app I've needed. It also makes it as if it's running natively on the mac, you can just open up some windows app and it pops up like a mac one. It works amazingly fast, and I can develop both x64, x32, ARM apps in visual studio on my VM. Games don't work because of DRM, but I just use Parsec to stream my desktop if I want to game anyways, so it doesn't affect my workflow. And any game I would actually play while traveling is on the mac natively.

For linux I only emulate Kali, and it works good, I love how the VM's pop up as a "Virtual desktop" so I can side swipe it, but linux vm's don't have the native integration like Windows. Once nested virtualization is enabled, i'll probably stick it in WSL, I personally don't use Linux that much since I think it's shit.

The only downside is some asshole at Apple won't put in nested virtualization for the VM's, even though M2 and M3 have support for it on linux.

maldev··on Operation Triangulation: What you get when attack iPhones of researchers
It's already 2-3 million +. Apple has amazing security, especially for the Iphone and continously monitors it and dishes out silent patches. For a REALLY high level example, it restricts system calls per process and requires all calls to be signed with an apple key, AND it restricts who you can do the system call to, these are continuously monitored and updated. Not only this, but persistence on Iphone is effectively dead, meaning you have to reinfect the device after every reboot. One of the big things you notice in the article is the use of ROP, apple requires every executable page to be signed by them, hence why you have to have these assfisting of rop chains.
maldev··on Firefox on the brink?
They've been trying that and it just pushes people away. I stopped using Firefox when Mozilla tried to score social brownie points. And the numbers seem to collaborate with shrinking and shrinking marketshare, especially after these campaigns. Since on the flip side of what you said, why would people swap from Firefox to chrome, Chrome doesn't bring anything shiny.
maldev··on I hacked Magic the Gathering: Arena for a 100% win rate
You can just hook the networking system calls and you have the unencrypted buffer. TLS encryption doesn't do anything since you can just look at it unencrypted on the network function when they pass in the buffer.

If they encrypt before the network functions, you can just look at the callstack and trace the variable containing the buffer backwards until it's non encrypted.

maldev··on Scripts for Streamlining Your Homelab with Proxmox VE
Kind of, i'm not to familiar with the enterprise gpu sharing, but I believe that requires hardware support for it on the GPU to split up contexts for the OS. Whereas the GPU-P solution works on any GPU and is vendor agnostic as it's done on the OS/Processor level. It's really cool and I have no idea how they can ship this since it does trample on the enterprise tech pretty substantially. But I belive it's a byproduct of Microsoft wanting to compete on the datacenter level and it gives them a killer feature for Azure, and as a byproduct it entered as a semi undocumented feature into consumer hyper-v.
maldev··on Scripts for Streamlining Your Homelab with Proxmox VE
No, it uses the hypervisor to implement a scheduler for the GPU between the different vm's and gives them access to it. VFIO on linux requires passing the entire GPU to only a single VM and making it so the host doesn't have access.
maldev··on Scripts for Streamlining Your Homelab with Proxmox VE
You want to use Hyper-v, you can use GPU-P(Gpu Partitoning) where hyper-v will pass through the GPU to the VM and share it, it's not some emulated adapter, it's genuinely the real GPU and runs natively and you can share it across multiple VM's and host. Linux has NOTHING that can compete with the feature.
maldev··on Modern C++ Programming Course
Yes! 100% Right, can't believe I left that out. One of the big things is to make sure to use ConstEval if you can do a new verson of c++(20), since ConstExpr isn't guaranteed and can leave stuff in the binary that can hurt size or obfuscation. For example one thing I see alot is lookup tables for hashing who use constexpr and hide some key data in there, but it "may" just randomly do it, and can cause alot of issues.
maldev··on Modern C++ Programming Course
It depends on what you target. I do alot of Kernel and really low level C++, and it's a completely different style than even app dev, so you have to be sure you don't go down the completely wrong route.

For my target space, there's a few rules for c++.

Footguns: A. No STL, it causes to much bloat when binary size is critical. B. (almost) No inheritance or virtual functions. Again, it causes some bloat and adds in some instructions and code to support these features that can cause issues in low level environments.

Things to learn (All work in the kernel):

A. Learn templates, especially c++20. Templates add ZERO bloat, they literally just generate the function again with proper types the same way a macro would.

B. Use RAII.

C. Use constructors and overloading.

D. Zero pointers should be exposed to code except where absolutely needed. If you need to pass by reference, use the c++ style.

E. All allocations should be wrapped in a class with RAII. You can overload the operators on the class to make it seem like a pointer so you can still do if(!RAIIPointer).

A good video on kernel c++ is here https://www.youtube.com/watch?v=AsSMKL5vaXw . You can use a surprising amount of C++ language features in the kernel and it makes it extremely smooth and safe if you do it properly.

maldev··on C++: The most important complexities
Isn't that because view performs the procedure and access when the data is accessed? It's mainly meant so that you don't have to load all this memory in or stall when accessing the view, and if you don't need that capability, the regular algorithm stl is better.
maldev··on FBI Crime Data Explorer
Most people don't quote data that is easily misinterpreted though. Like sure if you did shoplifting, speeding, or something else, it may require that. But if you're quoting murders, or violent crime, that stuff is often reported, especially in nicer areas, and may even be less reported in poorer areas.
maldev··on The OpenAI Keynote
This is the prompt I use. I've been refining it a little to make sure it quotes the manual. But it's a good chunk of the time.

"You are an aimed at helping Systems Programmers, Low Level developers, Security Researchers and Kernel programmers. You will be an expert in the Intel64, x86 family of processors. You will use your knowledge to answer questions. You will also use the given manual and always quote the relevant sections and materials. You also also an expert in hypervisors and hypervisor programming from your knowledge and the files provided. Quote sections and relevant information from files provided."

maldev··on MISRA C
Really sad to see so many people rail on this.

Here's all the examples I've seen shitting on it and why MISRA is correct despite their objections.

1. ""no early return" rule" In C, you have to be really careful with your flow control and memory allocations. So basically ALL good C programmers and styles dictate that you use GOTO's for one location, a "cleanup" location, in which you check and free memory. So if you do

if(!ptr) return;

You do

if(!ptr) { DEBUGLOG("Error allocation ptr");//Also prints out file, line, function etc. bRet = FALSE; goto cleanup; }

Very common, and you can't ever mess up freeing memory. This is why it's used.

2. No magic numbers.

Another person complains about not being able to do magic numbers. While it can get tedious, you really shouldn't. They use the most insane example of #define ONE 1. BUT, even in this case you can argue that if the requirements were changed for a base 8 or other numbers system, you could easily port the app by just changing these define macro's rather than scouring through the code. It's not that tedious, and it can make the codebase more flexible and solve issues and porting.

3. Not able to use 'int'

You should always be explicit with your types. Even rust mainly makes you use sized variables. Why just do int, be specific, you may want int32. The C standard is pretty flexible with things like "long" just being bigger or the same size than "int". So porting things like this makes it robust. You also have the fact that if you do any networking or messages of any kind, this makes the datastructures easily portable since you know exactly what size.

maldev··on The OpenAI Keynote
This has alot of killer features for me as a low level developer. I gave it all the intel programming documentation for x64, and it's able to correctly reference and solve problems GPT-4 cannot or hesitated to.

I imagine anyone else with a case like this where the docs are extremely verbose and hard to read will benefit.

← PreviousPage 2 of 7Next →