HNHacker News
TopNewBestAskShowJobs

mrrrgn

469 karma · joined August 21, 2013

Joseph Morgan, Full Stack, .NET
submissionscomments
mrrrgn··on Show HN: A simple, highly commented, rootkit which attacks GCC and Python
Not sure who downvoted; but I appreciated the suggestions! Someone submitted a patch with the changes and I merged it a few hours ago. Thank you! :)
mrrrgn··on Show HN: A simple, highly commented, rootkit which attacks GCC and Python
I'm only a learner myself. Not a security expert or trying to claim that this is super 1337. It's just a neat thing to play with.
mrrrgn··on Show HN: A simple, highly commented, rootkit which attacks GCC and Python
Hmmm, well, no, it's not a full on "Trusting Trust" attack; though it has a similar outcome insofar as producing dirty binaries from clean source goes.

The module is simple, with the only tricky part being replacing a system call. My goal here was to play around with the idea of modifying source code en route to a compiler/interpreter in a sneaky way. Nothing more sophisticated than that. :]

mrrrgn··on Show HN: A simple, highly commented, rootkit which attacks GCC and Python
Good advice, I may re-shoot the gif later and do that. Thanks! :)
mrrrgn··on Show HN: A simple, highly commented, rootkit which attacks GCC and Python
I used licecap, it's extremely awesome. https://github.com/lepht/licecap :]
mrrrgn··on Trial by Fire: Extreme rituals forge intense social bonds
I've played sports my entire life (father was a basketball coach), and in that world these sorts of "rites of passage" are common place. I've also seen a bit of this at software companies -- for instance at Facebook I got the feeling that a lot of engineers felt simpatico as a result of the shared "suffering" that went into the tedious interview process.

My experiences led me to believe that, while this can be effective, it only works on certain classes of people. That is, I think a person needs a certain amount of naïveté to be drawn in by schemes like this. They need to already be willing to buy into some litany of conquest and glory. To be young and/or dumb.

Perhaps it is an innate human tendency to form stronger bonds under these conditions; but it's certainly not expressed equally throughout all phases of life, circumstances, and the population at large. I'd be very wary of attempting to exploit it by constructing rituals for a software team.

mrrrgn··on Linux Poetry Explains the Kernel, Line By Line
I don't have any desire to be lavished in praise; but you're being unnecessarily rude I think. :[
mrrrgn··on Linux Poetry Explains the Kernel, Line By Line
I appreciate any feedback, of course, I'm trying to learn here! About the snippets you mentioned, my reasoning was:

There's a variable outside of the functions scope. If the value of the global variable were changed before it's referenced in the function the outcome would change.

  int global_int;
  int is_not_reentrant(int x) { 
    int x = x; // An arbitrary operation
    return global_int + x; // the result depends on global_int
  }
In the second, the value of the global_int is copied into a variable within the function; so the result is no longer dependent on anything outside of the function's scope. My thinking was, that this demonstrated reentrancy.

  int global_int;
  int is_reentrant(int x) { 
    int saved = global_int; 
    return saved + x;
  }
From the looks of it I did make a mistake, since it seems to be missing one of these criteria. I'll modify the snippets to fix it. Thanks! :)

  +Must hold no static (or global) non-constant data.
  +Must not return the address to static (or global) non-    constant data.
  -Must work only on the data provided to it by the caller.
  +Must not rely on locks to singleton resources.
  +Must not modify its own code (unless executing in its own unique thread storage)
  +Must not call non-reentrant computer programs or routines.
mrrrgn··on Linux Poetry Explains the Kernel, Line By Line
Yes! That's definitely the way I think about it. These are just my way of taking notes, and I thought they'd be fun to share. I do it this way because writing a poem requires a bit of reflection, so, instead of just retaining nodes of information here and there I'm also capturing connections and concepts. The novelty of writing in prose also keeps things from seeming tedious. :)
mrrrgn··on Linux Poetry Explains the Kernel, Line By Line
Thanks! No plans of stopping in sight. :)
mrrrgn··on The Singularity is not coming (2012)
This author rails about how scientific progress isn't exponential; but that's not even relevant. The idea of accelerating returns was only ever meant to apply to information technologies. Though they are related on various levels, fundamentally, science != technology. Only when scientific processes are converted into information technologies do they start becoming exponential (as was the case with genome sequencing).
mrrrgn··on Ask HN: how did you get started in programming?
19, Perl, I was going to school for Physics and I spent a lot of time mining spectroscopic data from mysql databases, converting binary dumps to csv files, etc... so I started to automate it. Eventually learned that I enjoyed writing scripts and automating things more than writing papers.

Got into networking/security, web development, and data infrastructure design. Started writing code in Python, C, and Java and catching myself up on the fundamentals of CS. Took a job as a developer, then another, then another....

← PreviousPage 3 of 3