I've been tinkering with Python all day today... it's pretty slick. Just for practice, I tried to cobble together a tripcode decoder that would let you have "real" words in your tripcode as !WAHa and Sling and others do, and it actually came out better than I thought it would be. I'm aware there's already a program that does this, but if memory serves me, it's Windows-only and in Japanese besides. My script is kind of dumb in the way it goes about things -- it basically just tears through random strings until it finds one that fits -- but I've tested it repeatedly and it seems to work. If you'd like to check it out, nab it here:
http://www.anre.org/crap/detripper.bz2
Of course, you may need to modify the hashbang line depending on where Python is on your machine, and don't forget those execute bits, people... Use "-h" for help.
First person to ask how to get this to run on Windows gets pointed and laughed at.
I think the NSA has been attacking this thread to stop this information from getting out!
>>196
Damn bastards cannot leave DES alone! Why bother making the S-boxes resistant to differtial cryptology 15 years before anyone knows about it and then suggest a reduced keysize.. AND THEN hide the information that tripcodes are about as secure as a plastic lock!
does anyone have a copy of 4brute-johnbs?
Not on this board.
Someone really should make a post(somewhere) of all of the technical details of tripcodes. I keep forgetting to verify (and wel.l redo as they are totally fucked up) >>221-222 and list any other inconsitencies. I'm sure I'll eventually get around to it or someone else will do it for me.
Also, is it still 200GET if it isn't the first time?
> this should work... http://wilson.merseine.nu/download/fasttrip.tar.bz2
Error! Could not locate remote server
>>201
yeah... my "dynamic" ip never changes, so the dynamic dns never gets updated, so it expired...
i'm working on setting up a new server, i'll post a link here when i'm done.
I like potatoes.
>>200
the best thing to do is look at the actual 0ch/futaba code to see what they do...
nnnnnnnnnnnn
dd
This is not a tripcode testing thread. Use the testing thread over at /sup/ if you really need to.
A friend has been running tripper2ch on his Macbook looking for "MUSASHI" tripcodes for so long it's reached eight character inputs.
All the hoorj bitslice sse stuff up there is way past my ability to care about this, but maybe I should multithread it or look into OpenMP.
(and, man, the Darwin crypt.c I'm using is awful. I still won't change it to something that's wrong, but maybe at least I'll use Free/OpenBSD'sÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂc)
Hey, why can't I use an ellipsis if I post from inside the thread!
ÃÂÃÂÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæ...ÃÂÃÂÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæÃÂÃÂÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂæ
4brute-johnbs-p5 (that's the prefix-matching one) + john 1.7.2 (Bitslice DES assembly code for x86-64 making use of the 64-bit mode extended SSE2 with 16 XMM registers has been added for better performance at DES-based crypt(3) hashes with x86-64 builds on AMD processors.) = 1211kcps on my 1.6GHz machine :)
I'm sorry to say that no human being can follow all those prepositions.
I feel inadequate and want to take a computer science class.
Don't worry. People who take computer science classes feel inadequate in the grand scheme of things too.
i use tripmona
I think I'm going to rewrite mine so it uses OpenMP, because OpenMP is pretty cool.
Also I guess it should support modern wakaba and be endian-safe on shiichan. Even though I'm the only one that uses shiichan's.
>>204
I am running Tor, but how do I make it (or Privoxy?) aware of .tor domains?
Someone explain the process for generating tripcodes anyway.
I'm goofing around teaching myself php and want to make a tripcode test script for the hell of it.
That'd be re-inventing the wheel. Here's the (slightly poorly-written) snippet of code from Thorn that generates 2ch-style trips:
$pos=strrpos($name,"#");
if ($pos!==false) {
$nombre=substr($name,0,$pos);
$trip=substr($name,$pos+1);
//echo($trip);
//2ch-style tripcodes...
//More or less stolen from Futallaby
$salt=substr($trip."H.",1,2);
$salt=ereg_replace("[^\.-z]",".",$salt);
$salt=strtr($salt,":;<=>?@[\\]^_`","ABCDEFGabcdef");
$trip=substr(crypt($trip,$salt),-10)."";
}
else {
$nombre=$name;
$trip="";
}
The point of re-inventing the wheel is that you understand it better and aren't just copying stuff you saw other people do. As it is I can't make heads or tails of your code.
To tell the truth, I have a hard time following it too. Why? Because (as the comments say) it was lifted with few modifications from another (open-source) PHP image board script. And the guy who wrote that probably transcribed it from another image/message board script written in Perl. So I didn't reinvent the wheel either. But you know what? It works.
I'll write it out a bit
$salt=substr($trip."H.",1,2);
Take the second and third characters of the trip key with "H." appended to the end of it. This is the "salt."
$salt=ereg_replace("[^\.-z]",".",$salt);
Replace characters that don't match the regular expression [^\.-z] (basically, non-ASCII characters) with a period.
$salt=strtr($salt,":;<=>?@[\\]^_`","ABCDEFGabcdef");
Replace a bunch of characters that are ASCII but not letters with letters. Remember that "\\" in this case is an escaped "\".
$trip=substr(crypt($trip,$salt),-10)."";
The trip code is the last ten characters of the result of a standard UNIX encryption function, with the trip key and the salt as input. http://us3.php.net/crypt
Wanna rewrite that in your own code? Have fun.
To get it entirely right, you should probably apped "H.." instead of "H.". Also, you should convert from whatever charset you are using to Shift_JIS before doing anything else.
Would conversion to Shift-JIS really make a difference, seeing as it's only working with ASCII characters anyway?
It's not only working with ASCII characters. It's working with the full 8-bit bytes.
For instance, #ÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ�ÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂïÃÂÃÂÃÂÃÂÃÂÃÂÃÂýÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ� doesn't work if you don't convert to Shift_JIS, and furthermore, tripcodes will change depending on the charset of the board.
...and now, it's not working here. Seems I've got some fresh new bugs to sort out.
Righteous.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>whee</title>
</head>
<body>
<?php
@header('Content-type: text/html; charset=utf-8');
if (function_exists("mb_internal_encoding")) {
//This server will support multi-byte strings. Unicodey goodness!
mb_internal_encoding("UTF-8");
mb_language("uni");
mb_http_output("UTF-8");
}
error_reporting(E_ALL^E_NOTICE);
if(isset($_POST['nombre'])==true){
$name=explode("#",$_POST['nombre']);
$trip=array_pop($name);
$name=array_pop($name);
$trip=mb_convert_encoding($trip,"SJIS");
$salt=substr($trip."H.",1,2);
$salt=ereg_replace("[^\.-z]",".",$salt);
$salt=strtr($salt,":;<=>?@[\\]^_`","ABCDEFGabcdef");
$trip=substr(crypt($trip,$salt),-10)."";
$trip=mb_convert_encoding($trip,"UTF-8");
?>
<p><?php echo("<strong>".$name."</strong>!".$trip); ?></p>
<?php
}
?>
<form method="post" enctype="multipart/form-data" action="index.php">
<input type="text" size="20" name="nombre" /><input type="submit" />
</form></body></html>
This'll go into Thorn 2.
http://astrange.ithinksw.net/tools/trippersrc.zip
Now endian-safe, slightly slower on icc, much faster on gcc.
Switched to FreeBSD crypt() because it's much shorter. Unfortunately also much more bottlenecked in one random-access array lookup that goes to main memory. Didn't switch to the JTR code WAHa sent me because it would ruin my beautifully short program.
Also I forgot to add modern wakaba trips but I'll do it sometime.
This crypt isn't reentrant :(
>>237
freebsd crypt() is faster than openssl crypt on my laptop (turion, 64-bit freebsd), but it's slower on the machine i'm using now (pentium 3, 32-bit freebsd)... i wonder why?
This thread has blown my mind.
I'm an internet dumbass and a computer illiterate; how do I even run that program?
>>243
I am by no means a linux/unix expert, but I assume that you compile it by running "build.sh" script and run the executable from the command line?
>>245
yeah no problem if it would even build on my end
tripper.c:23:28: error: mach/mach_time.h: No such file or directory
tripper.c:23:28: error: mach/mach_time.h: No such file or directory
In file included from tripper.c:28:
sha1.c: In function ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂearray_swapÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂf:
sha1.c:96: warning: implicit declaration of function ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂehtonlÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂf
tripper.c:23:28: error: mach/mach_time.h: No such file or directory
tdict.c: In function ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂemainÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂf:
tdict.c:108: warning: implicit declaration of function ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂefgetlnÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂf
tdict.c:108: warning: assignment makes pointer from integer without a cast
/tmp/ccQVniCX.o: In function `main':
tdict.c:(.text+0xcce): undefined reference to `fgetln'
collect2: ld returned 1 exit status
redownload
I'm not going to bother rewriting tdict to use getline() just because glibc is crazy though :(
'
hay guyz, wuts goin on in dis tread?
I'd kill or die for a windows version of a decent tripcode decoder. Failing that, instructions for an idiot. I like YEAH but I'd like to make more. This was a pain in the ass to get.
<3
FBI has deleted all links... how sad
So.. how does this work? All I get is a command prompt spamming with tripcodes and what they convert into, but doesn't seem to dump anywhere that I can see.
>>255trip <string>
to find tripcodes containing <string> (case insensitive)trip -c <string>
to find tripcodes containing <string> (case sensitive)
there's also http://hotaru.thinkindifferent.net/fasttrip-regex.tar.bz2, which supports regexes.
>>256
What? Where do I put that?
In a txt file or something?
This shit's useful ~desu
trip -c <ROFLCOPTER>
XD
Thanks, dude!
I found a tripcode that I've been looking for with Tripper+. However, it uses a non-standard character, "¼". Is there something that will convert that character into either kanji or a standard numeral or letter?
Thanks in advance.
>>264
¼ = U+00BC
0xBC in Shift-JIS = U+FF7C (http://wakaba-web.hp.infoseek.co.jp/table/sjis-0208-1997-std.txt)
U+FF7C = ÃÂÃÂÃÂÃÂÃÂÃÂÃÂü
>>265
oh, and now i know how to make this tripcode work ^^
>>265
Thanks a lot. Unfortunately, my trip's still not working, though.
>>267
it might have other characters you need to convert...
or if it has any of the characters that are converted to html entities (i think just ,<>"'&) it might not work at all... i'm not sure if tripper+ handles those correctly...
>>268
There's a ~ and / in it, but I don't think those would pertain to HTML entities.
>>269
where are you trying to use it? if it doesn't contain any of the characters mentioned in >>268 and you've converted any characters that aren't the same in unicode and shift-jis it should work on wakaba and kareha boards.
futallaby and shiichan (at least the versions used on 4chan) are apparently horribly broken wrt tripcodes.
ok, apparently such tripcodes can be made to work on 4chan.
you just have to set the character encoding to shift-jis before you post.
> futallaby and shiichan (at least the versions used on 4chan) are apparently horribly broken wrt tripcodes.
they're interpreted as utf-8, except on /sjis/ where they aren't. official policy is to not fix this because we hate people who use tripcodes.
sage lol
Trip works alright, but do any other generators that run under Windows do strings that aren't 8 characters long? Seems like it's pretty limited by that, and it repeats them pretty often.
well, this one has no html entities...
LOL FAIL
seeking 4brute-johnbs.... or some better glue for x86-sse.S (etc)
I've had some luck using OpenSSL's crypt, but I'm struggling to get the right bits in and out of john's bitslicing DES code.
Have a look at vectripper. It's written for OS X but it uses john.
> seeking 4brute-johnbs
you won't get it on this board.
... indeed. After reading through the entire thread, and seeing this place's visibility on google, I can understand why nobody is just going to hand over the code to me...oh well. I'm making progress hacking something together. VecTripper's source hurts my eyes so I'm just sticking to peekin' through John. Reinventing the wheel sucks by the way...
I noticed an odd property of tripcodes (well, crypt actually): the last character will always be one of [.26AEIMQUYcgkosw] -- one of every fourth character in the overall character set.
DES output is 64 bits. It is encoded into a string consisting of characters from a set of 64, meaning each character encodes 6 bits. The output is 11 characters long, which adds up to 66 bits, the two last of which thus go unused. A loss of two bits means every fourth character is used.
Hmm. Maybe it'd've been better to substr($crypted, 2, 10)
to get more useful bits? Oh well, too late now.
Anybody have a link to hotaru's tripcode program? I've tried tripper+, but it can't find the same ones his did.
>>293
source:
without regex
with regex
windows binaries:
without regex
with regex