Viewing profile — timmisiak
timmisiak
HN member- Joined
- Sat, Oct 07, 2017, 6:58 PM UTC
- HN karma
- 70
- Public activity
- 37 items
- HN profile
- View on Hacker News ↗
About timmisiak
Recent public activity
-
comment
Comment #40931588
I suspect the biggest issue is that courses like to talk about how instructions are encoded, and that can be difficult with x86 considering how complex the encoding scheme is. Pers…
-
comment
Comment #40931528
Glad you like it. I used m10c, with a few tweaks: https://github.com/vaga/hugo-theme-m10c
-
comment
Comment #40931513
I think both are useful, but designing a modern CPU from the gate level is out of reach for most folks, and I think there's a big gap between the sorts of CPUs we designed in colle…
- comment
- comment
-
comment
Comment #37680063
Honestly it's a great exercise for learning how low level stuff works in general. Happy to answer any questions you have!
-
comment
Comment #37675899
Yes, software breakpoints are difficult to get correct (the main reason why I started with hardware breakpoints). It gets more complicated with kernel debugging, where a single ste…
-
comment
Comment #37675845
Absolutely, rust sitter is fantastic. I haven't used any other parsers in Rust so I don't have much of a comparison point, but it's probably hard to get much more clear and concise…
-
comment
Comment #37675828
I think my record when I was on the WinDbg team was 5 debuggers deep. I honestly think one of the best parts of writing a debugger is being your own recursive customer. I think tha…
-
comment
Comment #34921589
I worked on the one that ships with WinDbg: https://learn.microsoft.com/en-us/windows-hardware/drivers/d... Literally every person who uses it for debugging a hard problem absolute…
-
comment
Comment #34645939
Apologies. I'm just using a Hugo template and haven't spent a lot of time figuring out how to customize it. You're right though, the contrast isn't great.
-
comment
Comment #34645926
Yes, that's exactly what I did. Most useful thing I did was setting up a unit test framework to test a single instruction, and then generating a huge number of variations of those …
-
comment
Comment #34645911
I talked a bit about the Intel SDM in the last post I wrote (linked at the top). The SDM is great for getting the specific details, but isn't always approachable for high level ove…
-
comment
Comment #34645895
TTD (the WinDbg one) works very well for complex multithreaded apps. (The caveat being the performance hit you get from emulation). It's one of the big advantages it has over rr. T…
-
comment
Comment #34645838
Yes, saving and restoring flags is very expensive. I thought about talking about that in the article but figured that was too much of a detour. Darek Mihocka wrote a really interes…
-
comment
Comment #34645790
My point is the smaller encoding is what gives you the performance benefit. When done across an entire function/module, you can get a measurable increase in hit rate for the instru…
-
comment
Comment #34645721
Yes, that made it 100x easier, because I was able to write unit tests that literally did a single step over the instruction and compare the register context to the emulated registe…
-
comment
Comment #34645706
That's really interesting. I had no idea there were structurally valid instructions that are longer than 15 bytes.
-
comment
Comment #34645643
Funny enough, we tried going down the road of doing a JIT, but for our use cases pure emulation was often fast enough and it wasn't worth the extra complexity to do JIT. Part of th…
-
comment
Comment #34264990
That's true. It's far too broad to learn everything without having a specific goal in mind. Learning the parts of asm that are useful for writing asm code is very different than le…
-
comment
Comment #34264974
Covering how to practically use it is far too much for a single post (and I don't think I really claimed to teach assembly... I just want to give people the tools they need to star…
-
comment
Comment #34264631
The target audience here were folks that have very little experience with asm, but you're completely right that a lot of complexity gets glossed over. That's not even to mention ca…
-
comment
Comment #34264593
That's actually something I want to tackle in the next post I'm writing. I need good examples though of stuff like that, so I think I need to spend some time with godbolt...
-
comment
Comment #34264563
I'm planning to write a future post on "common compiler generated code" to recognize those patterns. The intention of this post was to encourage folks who think asm is scary to giv…
-
comment
Comment #15436747
Oh OK, that makes sense then. Yeah, that's been fixed in current internal builds and will go out on the store soon.