HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
taviso
loadlibrary
C2017–2020
taviso / loadlibrary

loadlibrary

Porting Windows Dynamic Link Libraries to Linux

8Distinct people
11Mentions
1Explicit recommenders
4.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Porting Windows Dynamic Link Libraries to Linux

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

> All the mentioned ways require admin privileges or even group policy privileges. I'm doing it without any permissions. Oh, nice :) > They're doing the best they can, but the…

exikyut used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year11 dated mentions

Observed mentions: 2017-05-23 22:09:13 UTC to 2020-03-11 11:11:23 UTC.

0123452017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2020

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC514
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC312

What Hacker News says

11 sources
exikyut·Aug 29, 2018Recommendation phrase
> All the mentioned ways require admin privileges or even group policy privileges. I'm doing it without any permissions. Oh, nice :) > They're doing the best they can, but the Win-APIs are too powerful and there is no sandbox (like those for Mac) in place. Hmmmm. > Mac has its own sandbox and Linux offers SELinux and I was talking about a security vulnerability I have written for Windows specifically, that's why I gave the tip for Sandboxie. I have to admit I've never really poked SELinux. My understanding of it is that because it was bolted-on, both architecturally and conceptually, that getting the most out of it is a real pain. This has put me off. :/ (heh) >> I would be extremely interested to hear some of the ways you'd particularly go about attacking Linux, which I use everyday. > Sorry, I can't talk about this specific attack in de
Read the rest
tail because this vulnerability can't be fixed. It's conceptually fairly simple and <400 LoC and I'm sure you can find it on your own if you're determined. Righteo then writes program that generates all possible C programs <400 LoC long In all seriousness, you definitely have me interested now :) I guess what might be a relevant question is, how universally applicable is it? Would it run on my minimally-configured Slackware box, for example? And I am _very_ fascinated to hear that this "cannot be fixed". Are you describing a Linux-specific Spectre/Meltdown? If this is Chrome-specific - or, shall we say, could be deeply contextualized into domains very important to Chrome - well, I'm sure you've seen https://bugs.chromium.org/p/chromium/issues/detail?id=648971 and https://bugs.chromium.org/p/chromium/issues/detail?id=766253, and particularly the one tag with the numbers in it in the sidebar on the left... To be honest I'm not really sure what I'm interested in, you could sort of describe where I'm at as somewhat similar to your post 8 months ago about finding your passion. (In my case it's a resource thing.) I've started playing with X11 recently though, to the extent of just learning the wire protocol for fun. I was actually thinking of making a tiny Xlib-less keylogger the other day, haha. (As in, talking to X via write()/read() directly.) Not quite sure why; perhaps the theoretically-interesting scenario of "not linking to libX11 might be less suspicious?" could be one explanation. I don't seem to need to give myself a rationale to stay motivated on my current track (woohoo), so I'm just tinkering for now. Uh - getting root on Linux isn't exactly straightforward! Although there was that one time I found a very confused Docker installation (running Ubuntu on CentOS... I'd never used Docker before and could not figure out which way was up ("wat, I have yum AND ap--wait no now apt-get disappeared where did it go"), for about an hour lol) and this system may or may not have left /dev/vda1 in the Docker image... and it may have allowed me to mount it read-write from under the host system, with effective UID 0... ._. (IIRC, I think it was visudo that worked great.) I wonder if there's a password manager that stores data in the kernel and/or uses the kernel's crypto keyring - and whether such effort would be worth it? (At least this would thwart local attacks, and only remote attacks via the Wi-Fi stack would work. xD) I've fished forgotten passwords out of Login Data more times than I have fingers, I think. sqlite3 .dump + printf "$(sed 's/../\\x&/g')" FTW. Linux's non-umbrella model, where there's no cohesive oversight, will be its undoing, I think. I've wanted to do do packet inspection for a little while now, incidentally, and the introduction of TLS 1.3 has been most annoying. https://news.ycombinator.com/item?id=17540111 On the subject of AV my favorite thing is https://github.com/taviso/loadlibrary :P (if just for the very non-official "you totally know Google is using this every day.") One thing I was vaguely considering (last night, actually) was an idea I've had for a while - taking forensic memory-dump analysis tools to the next level and making them work in realtime with QEMU. End result being, you run a tool as root with the PID to a running QEMU instance, it attaches (possibly via process_vm_{read,write}v) and lets you watch VT streams, see keys+passwords being typed in SSH, perhaps take screenshots, see the process tree, etc. Thanks for the tips!
In Zero-Day Vulnerability in Microsoft Windows Leaked on Twitter
You nailed it with the last line: people. Everyone wants to rule the world. This fundamentally doesn't work, but that fact doesn't stop everyone from irrationally trying anyway. The problem you are getting at is entirely sociopolitical, and is, sadly, effectively unsolveable. I spent a decade and a half figuring this out (started circa 2003, gave up roughly last year). It was a good journey. If I was going to pick a starting point to springboard off of, it would be that humans are embarassingly easy to social-engineer. With developers, you just stroke their egos a bit, make them feel validated and secure, and they'll build pretty much whatever you want. Managers have the opportunity to exert power and control over entire teams of people!!1 and this is so fun to play with sometimes the end goal (the enabler of the control, aka the responsi
Read the rest
bility) nearly (or actually :/) goes out the window. It only takes a little bit of study to reverse-engineer the brain and almost immediately you'll get actionable insights on how to make people feel like they're getting what they really want when you're actually making them achieve your agenda instead. Fill people's heads/lives with movement they have to keep up with, make it so they can ride it like a fun wave if they do it right, and bam, you can control lots of people. Crowd dynamics is so fascinating. I'm not even touching on office politics, cults, etc. Sadly open source has its own toxicities. Linux is in many ways the PHP of operating systems; some really amazing bits hiding away in invisible corners, but no good oversight due to its bazaar-based design, and thus no cohesiveness. You will never get very far trying to push balanced views within Linux; the community has become too much of a reactive-yet-immobilized culture. The Lennart Poettering debacle is one recent example. Moving away from open source specifically, software design itself is also fundamentally broken because it tries to abstract out the people - what put the intelligence into "artificial intelligence"! - as perfect infallible beings that sometimes make mistakes. (For example, why on earth do programming languages describe errors as "exceptions"?!) Programming is full of leaky abstractions that have never been properly followed up on and properly ironed out of the woodwork. What we're currently stuck with is are systems that are intrinsically tied to individuals' mindset and skills, and as a result no two codebases are really the same. So, it's generally really impressive if you can take Random Component A and expect it to work properly with Random Component B. One example I can pull of the top of my head right now: https://github.com/taviso/loadlibrary Another way to describe this would be to say that "taking anything and making it work with anything else" is Very™ Very® ʎɹǝΛ NP-Hard™©®, if not categorically impossible. (This is what took me 15+ years to accept.) In terms of perfect governance, I definitely take a cyberpunk stance. https://news.ycombinator.com/item?id=17320295 https://news.ycombinator.com/item?id=17083221 I also just found this and am adding it in: https://news.ycombinator.com/item?id=17322457 Related thoughts/continuation: https://news.ycombinator.com/item?id=17299517 (if you're truly interested, you might follow all the continuation links) TL;DR study people, bureaucracy and sociopolitical crowd dynamics
In Why not have Lego like Software?
Tavis's code ran on Linux and hooked the import table of Defender's scanning engine to report Windows XP as the underlying Windows version [1]. Originally the author didn't hook and let Defender call the native version check APIs, which (correctly) reported Windows 10. Apparently there was extra initialization code in that case that failed to run in a sandbox. The fix was to reproduce the hooking code, in Rust, to report XP as the underlying Windows version. [1] https://github.com/taviso/loadlibrary/blob/master/peloader/w...
In Microsoft didn’t sandbox Windows Defender, so I did

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.