Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-8081-120121-

RainbowCrack tripcode patch

Name: !hT7zRmFpyY 2008-02-15 7:15


diff -rubB rainbowcrack-1.2-src/src/HashAlgorithm.cpp rainbowcrack+tripcodes/src/HashAlgorithm.cpp
--- rainbowcrack-1.2-src/src/HashAlgorithm.cpp    2003-11-23 00:33:22.000000000 -0500
+++ rainbowcrack+tripcodes/src/HashAlgorithm.cpp    2008-01-14 16:48:59.000000000 -0500
@@ -57,3 +57,58 @@
 {
     SHA1(pPlain, nPlainLen, pHash);
 }
+
+char _s(char c)
+{
+    switch (c) {
+        case ':': return 'A';
+        case ';': return 'B';
+        case '=': return 'D';
+        case '?': return 'F';
+        case '@': return 'G';
+        case '[': return 'a';
+        case '\\':return 'b';
+        case ']': return 'c';
+        case '^': return 'd';
+        case '_': return 'e';
+        case '`': return 'f';
+        case ('/')...('9'):
+        case ('A')...('Z'):
+        case ('a')...('z'):
+            return c;
+        default:
+            return '.';
+    }
+}
+
+#include <string.h>
+void HashTrip(unsigned char* pPlain, int nPlainLen, unsigned char* pHash)
+{
+    // should be long enough for 6 chars overflow ("&quot;") plus 3 more
+    // in the salt for the H.. at the end.
+    char pw[16], salt[16];
+    // raw DES output
+    char output[16];
+    int n, p;
+
+    if (nPlainLen > 8)
+        nPlainLen = 8; // ignore the rest
+    for (n = 0, p = 0; n < nPlainLen && p <= 8; n++) {
+        char c = pPlain[n];
+        switch (c) {
+            case '"': strcat(pw, "&quot;"); p += 6; break;
+            case '\'':strcat(pw, "'" ); p += 5; break;
+            case '<': strcat(pw, "&lt;"  ); p += 4; break;
+            case '>': strcat(pw, "&gt;"  ); p += 4; break;
+            case ',': strcat(pw, "," ); p += 5; break;
+            default:  pw[p++] = c;
+        }
+    }
+    pw[p++] = 0;
+    strcpy(salt, pw);
+    strcat(salt, "H.");
+    salt[1] = _s(salt[1]);
+    salt[2] = _s(salt[2]);
+    DES_fcrypt(pw, salt + 1, output);
+    strcpy((char *) pHash, output + 3);
+}
diff -rubB rainbowcrack-1.2-src/src/HashAlgorithm.h rainbowcrack+tripcodes/src/HashAlgorithm.h
--- rainbowcrack-1.2-src/src/HashAlgorithm.h    2003-11-23 00:33:18.000000000 -0500
+++ rainbowcrack+tripcodes/src/HashAlgorithm.h    2008-01-14 15:48:55.000000000 -0500
@@ -10,5 +10,6 @@
 void HashLM(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);
 void HashMD5(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);
 void HashSHA1(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);
+void HashTrip(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);
 
 #endif
diff -rubB rainbowcrack-1.2-src/src/HashRoutine.cpp rainbowcrack+tripcodes/src/HashRoutine.cpp
--- rainbowcrack-1.2-src/src/HashRoutine.cpp    2003-11-23 00:33:16.000000000 -0500
+++ rainbowcrack+tripcodes/src/HashRoutine.cpp    2008-01-14 15:48:28.000000000 -0500
@@ -20,6 +20,7 @@
     AddHashRoutine("lm",   HashLM,   8);
     AddHashRoutine("md5",  HashMD5,  16);
     AddHashRoutine("sha1", HashSHA1, 20);
+    AddHashRoutine("trip", HashTrip, 10);
 }
 
 CHashRoutine::~CHashRoutine()

Name: Anonymous 2008-02-15 7:17

Nobody gives a shit.

Name: Anonymous 2008-02-15 7:18

Faggot shit for faggots.

Name: !hT7zRmFpyY 2008-02-15 7:19

By the way, anyone who has to ask what to do with this is a fucking idiot.

Name: Anonymous 2008-02-15 7:21

>>2 Wrong.
>>3 You're a faggot. I'm not, and your mom would know because I fucked her.

Name: Anonymous 2008-02-15 7:36

>>5
sick burn

Name: Anonymous 2008-02-15 7:40

>>5
UR KOOL I BET U RIDE A MOTORCYCLE 2 UR CLASSES @ MIT

Name: Anonymous 2008-02-15 8:38

Interesting. And does it work?

Name: Anonymous 2008-02-15 9:32


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*                                                         *
*   I AM CURRENTLY HAVING HOT GAY SEX WITH YOUR MOTHER    *
*                                                         *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Name: Anonymous 2008-02-15 9:38

>>8
I cracked Abelson's password with it instantly.

It takes an xbox hueg amount of disk space though. Considering the disk usage of a rainbow table and the small size of each key/value pair, I'm not sure if it's really a better approach than, say, a btree, but I don't have enough terabytes to test both methods with an equal keyspace. A btree is somewhat quicker to search, though.

Name: Anonymous 2008-02-15 9:43

By the way if you're only using alphanumeric characters, or if you can figure out how to manipulate the tripcodes, you can ditch the htmlspecialchars stuff and feed the input straight into crypt. It's noticeably faster.

Name: Abelson!NobodyCracksMyTrip 2008-02-15 10:01

Nobody crack my tripcode

Name: Anonymous 2008-02-15 10:52

>>10
You should put up a web frontend. Mainly because I'm a lazy cunt with 3Gbs free space and a Pentium M ;_;

Name: Anonymous 2008-02-15 11:44

>>12
what

>>13
I'd rather have people work for themselves. If every retard can crack a tripcode it sort of defeats any point to having them. Kinda like if a 'tripcode' field was added to the posting form.

Name: Anonymous 2008-02-15 12:17

>>14
This is why we have securetripcodes...

Name: Hi !qevh6toMPk 2008-02-15 12:18

Well, can you?

Name: Anonymous 2008-02-15 12:19

Only faggots use tripcodes anyway.

Name: Anonymous 2008-02-15 12:21

How long did it take to generate an usable amount of tables?

Name: anonymous !faggot0tBQ 2008-02-15 12:30

>>17
Sup?

Name: Anonymous 2008-02-15 14:12

>>18
Too long. I suspect using something like John the Ripper's DES code, or pretty much anything lower-level than fcrypt, would have helped tremendously.

It's not like my computer really does anything else most of the time, anyway. Kind of like seti@home, but with a usable output.

Name: Anonymous 2008-02-15 19:15

Couple of questions:

- what range of characters is valid in tripcode input?
- what range have you actually used in your rainbow table, and how much space does it take?

Name: Anonymous 2008-02-15 19:28

I hate myself and I want to die.

Name: Anonymous 2008-02-15 21:02

>>21
http://www.1chan.net/futallaby/

Tripcode code is probably the original Futaba one, still untouched (minus secure tripcodes).

Name: ReadSICP !xi8/JKFwzo 2008-02-15 21:04

My tripcode is uncrackable.

Name: Anonymous 2008-02-15 21:23

do a context switch

Name: Anonymous 2008-02-15 22:22

do a barrel roll

Name: My tripcode is uncrackable !3GqYIJ3Obs!2hQER45c9l0ZlZL 2008-02-15 22:28

Hi.

Name: !vXcroNVPPU!6IfniEJg87qhrf9 2008-02-15 22:29

Name: Anonymous 2008-02-15 22:30

Name: Anonymous 2008-02-15 22:30

Name: !XgzPoOaLlE 2008-02-15 22:31

Name: Anonymous 2008-02-16 0:54

>>31
The poo is a lie?

Name: !ecakenCbvs 2008-02-16 3:00

>>32
After you've eaten the cake.

Name: Anonymous 2008-02-16 5:37

- what range of characters is valid in tripcode input?
You can use all 128 different values, from 0 to 127 -- you will have to set the eighth bit for some of them though, or they will be replaced/ignored.

Name: Anonymous 2008-02-16 6:39

patching file HashAlgorithm.cpp
Hunk #1 FAILED at 57.
1 out of 1 hunk FAILED -- saving rejects to file HashAlgorithm.cpp.rej
patching file HashAlgorithm.h
Hunk #1 FAILED at 10.
1 out of 1 hunk FAILED -- saving rejects to file HashAlgorithm.h.rej
patching file HashRoutine.cpp
patch unexpectedly ends in middle of line
Hunk #1 FAILED at 20.
1 out of 1 hunk FAILED -- saving rejects to file HashRoutine.cpp.rej



I fail it.

Is rainbowcrack even able to take adjantage of several CPUs? If not, it's not worth more effort to get it to work to me.

Name: Anonymous 2008-02-16 7:24

>>35
The code is right there. Why would you even ask such a question?

Name: Anonymous 2008-02-16 7:26

>>36
Because I'm not going to put more than 10 minutes of effort in something I'll only play with for 5 minutes once it's done.

Name: Anonymous 2008-02-16 8:20

>>37
If it takes you more than ten minutes to find out if a small Sepples application is multi-threaded, maybe you shouldn't be posting on /prog/.

Name: Anonymous 2008-02-16 8:46

>>38
Yeah, I probably shouldn't.

Name: lol !!bs+RJAOyXTwZJRG 2008-02-16 8:51

lol wut?

Name: Anonymous 2008-02-16 9:02

If you think multithreading in the application is the only way to take advantage of multiple processors, maybe you shouldn't be posting on /prog/.

Name: Anonymous 2008-02-16 9:25

>>41
I'm too lazy to start multiple processes or write a script. I would, but not for something I'll only play with for 5 minutes.

Name: Anonymous 2008-02-16 9:32

>>42
If you think you can generate usable rainbow tables in 5 minutes, maybe you should send me your computer.

Name: Anonymous 2008-02-16 10:23

what range of characters is valid in tripcode input?
Really, [\001-\377]. DES is only 7-bit, but remember there are side effects of using high-bit characters in the second and third positions because they potentially affect the salt used.

what range have you actually used in your rainbow table, and how much space does it take?
I'm using about 400 GB for tables. This includes all 0-4 character tripcodes, all 5-character [A-Za-z0-9./], and an assortment of a bunch of other tables that don't really go together. e.g. I started doing all 5 and 6 characters, but calculated how much it would take for all of them and realized I don't have the disk space (or enough CPUs to do it in an even remotely decent length of time) so I just made some of the tables for 6-8 characters. So really, I could do a lot better but it'd take much greater resources.

Name: Anonymous 2008-02-16 15:07

>>44
DES is only 7-bit
wat

Name: Anonymous 2008-02-16 20:03

>>45
I think he means DES works on the lower range of bytes [00,7F]

Name: Anonymous 2008-02-16 23:27

>>46
Hence the ``wat''. That doesn't make any sense and isn't true.

Name: Anonymous 2008-02-17 0:25

>>47
DES uses a 56-bit key.  crypt() takes the key from the lower 7 bits of each of 8 characters.

Tripcodes, on the other hand, have 58 meaningful bits - the 56 used for the key, and the full bytes in the second and third positions which make up the ``salt'', minus 14 bits of overlap.

Name: Anonymous 2008-02-17 0:28

Who still uses DES? Just calculate the SHA-1 sum of the concatenation of the "password" and some random, secret block of bytes on the server.

Name: Anonymous 2008-02-17 6:17

Every image/textboard on the internet, because it's the standard.

Name: Anonymous 2008-02-17 6:52

>>48
That makes more sense. It's a quirk specific to crypt, not DES.

>>49
SHA-1 is less secure than DES. DES is considered insecure because its keyspace is small enough to bruteforce in reasonable time, but SHA-1 has feasibly exploitable cryptographic vulnerabilities.
Having said that, using a block cipher as a hashing function is always a bad idea, but unfortunately, it has become the standard.

Name: Anonymous 2008-02-17 7:15

[citation needed]

Name: Anonymous 2008-02-17 7:49

The human hand has five fingers.[citation needed]

Name: Anonymous 2008-02-17 9:13

>>53
Four fingers and one thumb, actually.

Name: Anonymous 2008-02-17 10:07

            CRYPT!
CRYPT!
     CRYPT IS THE STANDARD!

Name: Anonymous 2008-02-17 10:14

>>54
DON'T HELP HIM!!!

Name: Anonymous 2008-02-17 13:18

The human hand has five fingers.[>>54]

Name: Anonymous 2008-02-17 13:30

>>54
Thumb is a finger, nigger.

Name: Anonymous 2008-02-17 16:31

I'll settle this finger/thumb thing. Historically, the word "finger" has referred to any of the digits on on a hand, OR any of the digits on a hand except the thumb. So a thumb can be a finger or not depending on what you want to say. The definition that includes the thumb is the older, so I, personally, would consider it to be the "more correct" one.

Name: Anonymous 2008-02-17 16:56

>>59
Thanks, you saved us a lot of time.

Name: Anonymous 2008-02-17 17:08

Your mom can fit 5 fingers. Did I use one or two hands.

Name: Anonymous 2008-02-17 17:08

>>59
[citation needed]

Name: Anonymous 2008-02-17 17:08

>>59
[citation needed]

Name: Anonymous 2008-02-17 17:08

>>62-63
oh shi-

Name: Anonymous 2008-02-17 17:31

>>62
>>63
"...the ancient Indo-European word for five was 'penkwe,' which became 'pente' in Greek, 'quinque' in Latin and 'panca' in Sanskrit. One can immediately see surface similarities between 'penkwe' and the Indo-European roots for fist, 'pnkwstis' and finger 'penkweros.'"

http://query.nytimes.com/gst/fullpage.html?res=990CE2DF1531F934A15755C0A963958260&sec=&spon=&pagewanted=3

Hmm, "finger" came from the word "five."

Name: Anonymous 2008-02-17 18:55

>>52
Faggotry aside, what exactly is it you take issue with?

Name: Anonymous 2008-11-10 4:55

    case ('/')...('9'):

You can do that?

Name: Anonymous 2008-11-10 5:00

>>68
No.

Name: Anonymous 2008-11-10 5:15

Name: Anonymous 2009-02-10 14:21

ITT

Name: Anonymous 2009-02-11 8:20

>>71
bampu pantsu

Name: Anonymous 2009-02-11 8:58

>>73
       
                 ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ( ´∀`) < COOL FREE RINGTONES
        /    |    \________
       /       .|     
       / "⌒ヽ |.イ |
   __ |   .ノ | || |__
  .    ノく__つ∪∪   \
   _((_________\
    ̄ ̄ヽつ ̄ ̄ ̄ ̄ ̄ ̄ | | ̄
   ___________| |

Name: Anonymous 2009-02-11 10:24

>>74
his ears are falling off!

Name: Anonymous 2009-02-11 12:15

>>75

That's what he gets for wearing too much trendy wholesale jewelry.

Name: Anonymous 2009-02-24 12:09

>>35


uhhh, same error.

Anybody knows the solution?

also, 77 get

Name: Anonymous 2009-02-24 12:11

cpp
Found your problem.

Name: Anonymous 2009-02-24 12:13

>>78

wut?

Name: Anonymous 2009-02-24 12:17

>>79

Hax my wuttocks?

Name: Anonymous 2009-02-24 12:23

>>80
no, srsyl, i cant understand, what's wrong with that patch..

Name: !hT7zRmFpyY 2009-02-24 12:52

>>81
Wrong version of RainbowCrack?

Not that it's at all hard to patch it by hand. It's nothing but adding a function and inserting it into the list of available hashes. If you're even intending to run this sort of thing in the first place, you also probably want to use a much better tripcode algorithm anyway, which also doesn't waste CPU cycles doing HTML conversions. Theoretically, when building a table of all printable characters, the code will eventually produce the same escape sequences, and by not encoding them explicitly, you also allow for alternative renderings for other boards that don't encode those characters.

Retrospectively speaking, posting it on a pastebin would probably have been a good idea too. For instance:
+            case ',': strcat(pw, "," ); p += 5; break;
That's practically guaranteed to break in the stupidest way possible. Apparently shitchan encodes some &-escapes... but not all of them. Always nice to have a programming board that hopelessly mangles code.

Name: CaCtUs2003 !!UtfJrihbhRYclYF 2009-02-25 17:51

Secure Tripcode ftw!

Name: Anonymous 2009-02-26 10:41

>>83
Faggot.

Name: Anonymous 2009-02-26 11:05

>>83
The point of tripcode searchers isn't primarily to crack your shitty tripcode. It's to find interesting novelty tripcodes.

Name: Anonymous 2009-02-26 12:30

my CS teacher said multiple returns in a switch statement is bad programming practice.

Name: Anonymous 2009-02-26 12:51

>>86
Anonymous on /prog/ said your CS teacher is a bad programmer.

Name: Anonymous 2009-02-26 13:10

>>86
My CS teacher didn't know you can do a While True loop (problem: infer the language from the code snippet).

Name: Anonymous 2009-02-26 13:35

>>88
Looks like Haskell to me.  I don't know how to do a data WhileLoop = While Bool loop though.

Name: Anonymous 2009-02-26 13:45

>>86
Anyone who talks about programming practice like that is usually a total retard when it comes to actually programming in the real world. They're the kind of people who have huge 20000 line classes that take years to run, whereas a elite c coder will be returning all over the place and his code will run in seconds

Name: Anonymous 2009-02-26 14:12

>>90
Anyone who overgeneralizes will miss the point that the code in this particular case is actually shitty, and it'd be much more efficient to use a lookup table instead. >>86's CS teacher has a point.

Name: Anonymous 2009-02-26 14:36

>>91
a lookup table
I take it you've never looked at the compiler output for a switch statement, huh?

Name: Anonymous 2009-02-26 15:08

>>89
No, that's not Haskell. Hint: it's a fucking awful and Terrible! language that has a number at the end of its name.

Name: Anonymous 2009-02-26 16:23

>>93
Haskell 98?

Name: Anonymous 2009-02-26 18:11

>>92
I sure see a whole lot of mov and jmp for a flat lookup table. Try actually compiling the code and looking at the output before you talk shit.

Name: Anonymous 2009-02-26 22:58

>>86
multiple returns in a function is bad programming practice in general

this is true with gotos, breaks and continues too.

Name: Anonymous 2009-02-26 23:04

Haskell 98?

That's what she said.

Name: Anonymous 2009-02-26 23:55

>>97
Randall???

Name: Anonymous 2009-03-15 3:18

I AM AN IDIOT AND I KNOW THAT
NOW TELL ME WHAT TO DO WITH IT

Name: Anonymous 2009-03-15 7:32

>>99
1. Learn how to use development tools, such as patch, make, and ed.
2. Apply knowledge gained from #1.

Also 100GET

Name: !3.pSICPcdY 2009-03-15 9:52

SICPGET

Name: Anonymous 2009-03-15 17:11

protip: over a year ago i applied the patch and had a machine work for a week to generate the tables.  the patch does not work.

Name: Trollbot9000 2009-07-01 9:23


That happens to have a word with  it instantly It.

Name: Anonymous 2010-04-05 21:16

whats the point of tripcodes?
I've been here two years and never understood them.
what gives??

Name: Anonymous 2010-04-05 21:16

whats the point of tripcodes?
I've been here two years and never understood them.
what gives??

Name: Anonymous 2010-04-06 2:58

>>104
Authentication.

>>105
Authentication.

Name: Anonymous 2010-04-06 7:10

>>106
On an anonymous board. Nice!

Name: Anonymous 2010-04-06 8:48

>>88
>>93

C99?

Name: Anonymous 2010-04-06 9:26

>>107
It's not anonymous if you use a name.

Name: Anonymous 2010-04-06 9:31

diff -rubB rainbowcrack-1.2-src/src/HashAlgorithm.cpp rainbowcrack+tripcodes/src/HashAlgorithm.cpp
HashAlgorithm
Algor
Al gore

Name: !MhMRSATORI 2010-04-06 9:48

>>107
Loser.

Name: !!tripiFUXeuIgkdo 2010-07-08 6:45

>>15,83
lol "secure"

Name: !yhctCir6Vk 2010-07-08 7:00

asf

Name: !p51K5n7B7s 2010-07-08 7:00

asf

Name: Anonymous 2010-07-08 8:56

>>115-116
Moron.

Name: !GtN0Plfghk 2010-08-17 12:55

!!2yYIelz9OVV <---- crack this?

Name: Anonymous 2010-08-17 14:05

>>119
Moron.

Name: Anonymous 2010-10-16 5:01

Isn't the search space a little smaller than 0xFF**8, considering most three byte combinations won't get translated to SJIS?

Name: Anonymous 2010-10-16 5:34

>>123
cretin

Name: Anonymous 2010-10-16 8:35

>>124

That's not nice.

Name: Anonymous 2011-07-17 3:22

man i wish that i could understand this shit better, i just wann piss off this annoying tripfag.

Name: Anonymous 2011-07-17 8:02

>>124
faggot

Name: Anonymous 2011-07-17 9:48

faggot nigger fucker

Don't change these.
Name: Email:
Entire Thread Thread List