6,083 karma · joined November 17, 2013
I'd consider pointer scrambling to be a pathological case because of that.
Similarly, C11, § 6.5.11(2) constrains XOR to be only valid on integer types, but not on pointer types, further suggesting that you're not really supposed to be doing this.
IRCds such as InspIRCd and UnrealIRCd speak of cloaks in the sense of user mode +x, commonly set on connection, which scrambles an incoming user's hostname/IP address to e.g. hidden-5npgt1.iinet.net.au or hidden-qjia2j.ncp0.j4h4.014d.2804.IP.
Freenode, nota bene the largest IRC network right now, uses cloaks to instead refers to a special format of vHost[1]. It does not offer Unreal-style cloaking.
I imagine this difference in terminology is what's prompted this exchange.
Food for extra thought I suppose; there's probably a lot of knowledge and trivia to be gleaned from the historical evolution of the interfaces, and I'd imagine you're in a better position to actually sink your fangs into this.
Incidentally, your post is time travelling and claims being from Dec 6, 2019.
Abstract sockets have no permissions. Not having to deal with the filesystem at all is nice, but having absolutely no security model whatsoever also seems dangerous.
You have the ugly issue of having to deal with handling zeroes in your name, as noted in the article. This can and will break something, somewhere on the first attempt of writing it.
When you want microkernel IPC, you usually tend to want a message-oriented reply-and-receive primitive to main loop around them. Emulating this with sockets is error-prone since send(2) and recv(2) make extremely weak promises about their behavior on error. sendmsg(2) and recvmsg(2), which are necessary to pass kernel objects around (i.e. file descriptors), are very difficult to use.
Sockets are nice because you can select(2) etc. on them, however. I'd expect a replacement would interoperate smoothly with at least those system calls.
body { font-size: 19px; width: 72ch; font-family: Charter; margin: 0 auto; line-height: 1.4; }
and then remove the size= option on the <font> element.
I'm not a fan.
Can we just take a second to appreciate how downright inhumane copyright expiry is? It basically encourages cheering for people to die because of copyright expiry.
tl;dr, it's the devil they know and they need no feature that Git or Mercurial provides.
Still leaves open the question as VM for obfuscation (RE tooling, ease of implementation from scratch) though.
So why aren't people just shipping straight up LLVM intermediate language VMs and instead go through wasm?
Incidentally, would you consider wasm as a destination language for virtual machines for obfuscation? I.e. is it reasonable enough to implement it all in about a week? Plus I fear like the decompilation/disassembly tooling might be there too soon for it to be a real viable option, but maybe nobody's been working on that yet.
The $ sign would get in the way if people actually use it in conersation, and maybe other things don't like the NUL byte.
Maybe '\x1F' (ASCII Unit Separator) or '\x1E' (ASCII Record Separator) are better candidates?
Without trying to invalidate what it is you're saying: Would it be false to say that, you have also realized that how you say things will have consequences on your personal reputation and may be subconsciously taking them into consideration as well?
> - Store data in flat text files.
Storing encryption keys or the like in flat text files is surprisingly hard, at least in C. I don't think it's even possible to use sscanf(3) without unexpected explosions, and otherwise you get to hand-roll your hex parsing code yourself (Base 64? Get yourself a library).
GitHub is Tor-friendly, so you can piggyback off GitHub pages with Tor/proxies and get something out of that at no cost. Occasionally, they may automatically determine you to be a bot account, but support is responsive and reinstates it within at most days if you seem human enough. Censorship remains an issue, but shoving the pages manually into archive.org should help build some resilience at least.
Maybe mirroring on BitBucket and GitHub will also work.
> 2. Harder case: ensuring anonymity even from state-level actors.
This is a very, very hard problem. Your best bet would probably be compromising a few poorly-secured websites outside the sphere of influence you're trying to hide from, doing this from a public hotspot in a foreign country and then connecting to them only via Tor. Of course, if Tor is enough of a red flag in and of itself, you'll always have to travel to post, which is just as suspicious.
People have noted multiple times that its current build system is fairly hostile to packaging on *NIX, but nobody seems to be putting in the work and the time. I'm somewhat curious about BitKeeper, but not enough to make my first goal to go down into its guts (complete with a custom stdio from NetBSD with modifications!) to make it play nicely with my system.
[1] https://users.bitkeeper.org/t/thoughts-after-a-few-days-with...
Is this just difficult to design well or are people genuinely okay with socket(AF_UNIX, SOCK_SEQPACKET, 0)?
As far as I can tell, they're based in Switzerland. The political pressure if either of them EU cough a bit will probably cause Swiss authorities to fall over immediately. I wouldn't consider myself safe in your position.
This should probably be an HMAC construction at the very least, and MD5 in general just should be discarded entirely in favor of BLAKE2b, SHA-2 or SHA-3. And ideally, it'd actually validate the rest of the contents as well.
"It" in my post referred to the Rust cargo package in question. The package ships configure.in, but not the generated configure. You do need autoconf for configure.in -> configure. Similarly, it ships Makefile.am, but not the generated Makefile.in for use with configure.
Note how I said "The whole point of autotools is not making your users install them".