XOR Cracker

Posts 1623 of 23 · Page 2 of 2
Quote Originally Posted by why06 View Post
That's actually a pretty good idea. I wonder if the pattern would remain the same regardless how the text was encrypted?
I think he means something like pre encrypted strings like #include <windows.h>(in case of source code) and then checking with which key the decyrpted text would contain that code
I'm not sure if your XOR encrypter encrypted null bytes as well, but if it did, make sure you avoid that. Your key will be exposed if you xor null with whatever the key may be. Also, you should consider using a key longer then one character.

Unicode is similar to ascii, however one unicode character is two bytes, where one ascii character is one byte. Unicode is used in situations where multiple languages need to be supported. Consider some languages have more then 0xFF characters. The same encryption applies on text, is applicable on binary and unicode characters.

To strengthen your encryption, you should use longer keys, and apply a mathematical formula using both the xored protectee, it's index in the file being protected, and it's the index in the key being used, maybe other attributes about the key as well, how often a certain character is present in the key, it's length, etc.. The formula should be reversible as well, provided it's being reversed with a key.

Also, like I had said, avoid encrypting null bytes, this may give away the key.
Quote Originally Posted by radnomguywfq3 View Post
I'm not sure if your XOR encrypter encrypted null bytes as well, but if it did, make sure you avoid that. Your key will be exposed if you xor null with whatever the key may be. Also, you should consider using a key longer then one character.

Also, like I had said, avoid encrypting null bytes, this may give away the key.
Hmmm avoid encrypting NULLs... I could do that, but if I skipped over encrypting NULL, then when I decrypted it how could my decryptor know which NULL were just supposed to be the NULL in the text, and which were NULL that were created when I XORed the same char as the encryption. Either way the best bet I suppose would just be to go with an entirely new encryption method.

Hmmm now that I think about it wouldn't the last char in the file be the key I used to encrypt it always... let me check one sec.
Quote Originally Posted by why06 View Post
Hmmm avoid encrypting NULLs... I could do that, but if I skipped over encrypting NULL, then when I decrypted it how could my decryptor know which NULL were just supposed to be the NULL in the text, and which were NULL that were created when I XORed the same char as the encryption. Either way the best bet I suppose would just be to go with an entirely new encryption method.

Hmmm now that I think about it wouldn't the last char in the file be the key I used to encrypt it always... let me check one sec.
Don't encrypt or decrypt null bytes, just leave them. Also, make sure you don't encrypt other bytes so they end up being null. For example, if data xored key == null, then do a different sort of encryption.
LOL. I never noticed that before. Your exactly right, whatever key I used to encrypt it comes up again and again all the way through text. Wow even at the end too, but it's weird, it comes up as long strings of the key and whatever the key was is lowercase. I don't know why that is. Here take a look this. Can you guess what the key was here?

Code:
u?85:#23vj?9%"$37;h[\u?85:#23vj0%"$37;h[\#%?81v87;3%&753v%"2m[\[\ 9?2v%"7$"~m[\ 9?2v	5>7$	5$75=~5>7$|v%"$m[\499:v385$/&"~5>7$v|%$5zv5>7$v|23%"zv5>7$v=m[\[\[\?8"v;7?8~[\-[\vvvv%"7$"~m[\vvvv%/%"3;~t&7#%3tm[\vvvv$3"#$8vfm[\+[\[\ 9?2v%"7$"~-[\vvvv5>7$v0?:387;3g
cfvkvttm[\vvvv5>7$v0?:387;3d
cfvkvttm[\vvvv5>7$v=3/m[\vvvv5>7$v5>9?53m[\vvvv59#"vjjvt9#:2v/9#v:?=3v"9v5$75=v7v"3."v0?:3i
8tvjjv382:m[\vvvv59#"vjjvt'xv#?"
8tm[\vvvv59#"vjjvtgxvvv$75=
8tm[\vvvv59#"vjjvtdxv35$/&"vvv!?">v=3/
8tm[\vvvv5?8vhhv5>9?53m[\vvvv[\vvvv%!?"5>~5>9?53-[\vvvv57%3vq'ql[\vvvvvvvv4$37=m[\[\vvvv57%3vqgql[\vvvvvvvv%/%"3;~t5:%tm[\vvvvvvvv59#"vjjt/&3v">3v87;3v90v">3v0?:3v/9#v!78"v5$75=32lvtm[\vvvvvvvv5?8vhhv0?:387;3gm[\vvvvvvvv	5>7$	5$75=~0?:387;3gm[\vvvvvvvv%/%"3;~t&7#%3tm[\vvvvvvvv%/%"3;~t5:%tm[\vvvvvvvv%"7$"~m[\vvvvvvvv4$37=m[\vvvv57%3vqdql[\vvvvvvvvv%/%"3;~t5:%tm[\vvvvvvvvv59#"vjjt/&3v">3v87;3v90v">3v0?:3v/9#v!78"v">3v235$/&"3$v"9v$372lvtm[\vvvvvvvvv5?8vhhv0?:387;3gm[\vvvvvvvvv59#"vjjt/&3v">3v87;3v90v">3v0?:3v/9#v!9#:2v:?=3v"9v%382v">3v235$/&"32v;3%%713v"9lvtm[\vvvvvvvvv5?8vhhv0?:387;3dm[\vvvvvvvvv59#"vjjvt>7"v=3/v?%v">3v;3%%713v385$/&"32v!?">itvjjv382:m[\vvvvvvvvv5?8vhhv=3/mv[\vvvvvvvvv?0~385$/&"~0?:387;3gzv0?:387;3dzv=3/v59#"vjjt?:3v%#553%%0#::/v235$/&"32x
8tm[\vvvvvvvvv3:%3v59#"vjjvt35/&$"?98v07?:32x
8tm[\vvvvvvvvv%/%"3;~t&7#%3tm[\vvvvvvvvv%/%"3;~t5:%tm[\vvvvvvvvv%"7$"~m[\vvvvvvvvv4$37=m[\[\vvvv2307#:"l[\vvvvvvvv%/%"3;~t5:%tm[\vvvvvvvv%"7$"~m[\vvvvvvvv4$37=m[\vvvv+[\+[\[\ 9?2v	5>7$	5$75=~5>7$|v%"$[\-[\vvvvv0%"$37;v0?:3~%"$zv?9%ll4?87$/v*v?9%ll?8v*v?9%ll9#"m[\vvvvv0%"$37;v2#;&~t2#;&x"."tzv?9%ll?8v*v?9%ll9#"v*v?9%ll"$#85m[\vvvvv[\vvvvv?0~w0?:3[\vvvvv-[\vvvvvv59#"vjjvtxv7889"v9&38v%&35?0?32v0?:3xv?:3v;#%"v43v?8v%7;3v2?$35"9$/v7%v235$/&"9$x
8tm[\vvvvvv$3"#$8m[\vvvvv+[\vvvvv?0~w2#;&[\vvvvv-[\vvvvvv59#"vjjvtxv7889"v9&38v2#;&x"."v0?:3x
8tm[\vvvvvv$3"#$8m[\vvvvv+[\vvvvv[\vvvvv5>7$v5>m[\vvvvv5>7$v"3;&
dfvkvttm[\vvvvv#8%?1832v5>7$v=vkvfm[\vvvvv29[\vvvvv-[\vvvvvv09$~?8"v?kfmv%"$
?mv?}}[\vvvvvv-[\vvvvvvvvvvvvvv0?:3x13"~5>m[\vvvvvvvvvvvvvv"3;&
?vkv~5>vv=m[\vvvvvv+[\vvvvvv0?:3x%33=1~?9%ll431m[\vvvvvv2#;&vjjvt3/v90lvtvjjv=vjjvtv$92#53%lvtvjjv"3;&vjjv382:vjjv382:m[\vvvvvv59#"vjjvt3/v90lvtvjjv=vjjvtv$92#53%lvtvjjv"3;&vjjv382:vjjv382:m[\vvvvvv=}}m[\vvvvv+!>?:3~=vwkvfm[\vvvvv[\vvvvv$3"#$8m[\+[\vvvvv[\499:v385$/&"~5>7$v|%$5zv5>7$v|23%"zv5>7$v=[\-[\vvvv0%"$37;v?0?:3~%$5zv?9%ll4?87$/v*v?9%ll?8v*v?9%ll9#"m[\vvvv0%"$37;v30?:3~23%"zv?9%ll4?87$/v*v?9%ll?8v*v?9%ll9#"v*v?9%ll"$#85m[\vvvv#8%?1832v5>7$v=3/vkv=m[\vvvv5>7$v5>m[\[\vvvv?0~w?0?:3vvvvvvvvvvvv[\vvvv-[\vvvvv59#"vjjvtxv7889"v9&38v0?$%"v0?:3x
8tm[\vvvvv$3"#$8vfm[\vvvv+[\vvvv?0~w30?:3[\vvvv-[\vvvvv59#"vjjvtxv7889"v9&38v%35982v0?:3x
8tm[\vvvvv$3"#$8vfm[\vvvv+[\vvvv59#"vjjvt98"38"%v90v0?:3gl
8
8tmvvvvvvvvvvvvvvvvvv[\vvvvvvvvvv!>?:3~?0?:3[\vvvvvvvvvv-[\vvvvvvvvvvv?0?:3x13"~5>m[\vvvvvvvvvvv?0~?0?:3v59#"vjjv5>m[\vvvvvvvvvvv30?:3x&#"~5>=3/m[\vvvvvvvvvv+[\vvvvvvvvvv59#"vjjv382:vjjv382:m[\vvvvvvvvvv59#"vjjvt>3v0?$%"v0?:3v>7%v4338v385$/&"32v!?">v7v=3/v90vqtvjjv=3/vjjtqv782v%7 32v"9v">3v%35982v0?:3x
8tm[\vvvvvvvvvv59#"vjjvt85$/&"32v;3%%713lv
8
8tm[\vvvvvvvvvv30?:3x%33=1~?9%ll431m[\vvvvvvvvvv!>?:3~30?:3[\vvvvvvvvvv-[\vvvvvvvvvvv30?:3x13"~5>m[\vvvvvvvvvvv?0~30?:359#"vjjv5>m[\vvvvvvvvvv+[\vvvvvvvvvv59#"jjv382:m[\vvvvvvvvvv?0?:3x5:9%3~m[\vvvvvvvvvv30?:3x5:9%3~m[\vvvvvvvvvv59#"vjjv382:m[\vvvvvvvvvv$3"#$8vgm[\+vvvvvvv
Quote Originally Posted by why06 View Post
LOL. I never noticed that before. Your exactly right, whatever key I used to encrypt it comes up again and again all the way through text. Wow even at the end too, but it's weird, it comes up as long strings of the key and whatever the key was is lowercase. I don't know why that is. Here take a look this. Can you guess what the key was here?

Code:
u?85:#23vj?9%"$37;h[\u?85:#23vj0%"$37;h[\#%?81v87;3%&753v%"2m[\[\ 9?2v%"7$"~m[\ 9?2v    5>7$    5$75=~5>7$|v%"$m[\499:v385$/&"~5>7$v|%$5zv5>7$v|23%"zv5>7$v=m[\[\[\?8"v;7?8~[\-[\vvvv%"7$"~m[\vvvv%/%"3;~t&7#%3tm[\vvvv$3"#$8vfm[\+[\[\ 9?2v%"7$"~-[\vvvv5>7$v0?:387;3g
cfvkvttm[\vvvv5>7$v0?:387;3d
cfvkvttm[\vvvv5>7$v=3/m[\vvvv5>7$v5>9?53m[\vvvv59#"vjjvt9#:2v/9#v:?=3v"9v5$75=v7v"3."v0?:3i
8tvjjv382:m[\vvvv59#"vjjvt'xv#?"
8tm[\vvvv59#"vjjvtgxvvv$75=
8tm[\vvvv59#"vjjvtdxv35$/&"vvv!?">v=3/
8tm[\vvvv5?8vhhv5>9?53m[\vvvv[\vvvv%!?"5>~5>9?53-[\vvvv57%3vq'ql[\vvvvvvvv4$37=m[\[\vvvv57%3vqgql[\vvvvvvvv%/%"3;~t5:%tm[\vvvvvvvv59#"vjjt/&3v">3v87;3v90v">3v0?:3v/9#v!78"v5$75=32lvtm[\vvvvvvvv5?8vhhv0?:387;3gm[\vvvvvvvv    5>7$    5$75=~0?:387;3gm[\vvvvvvvv%/%"3;~t&7#%3tm[\vvvvvvvv%/%"3;~t5:%tm[\vvvvvvvv%"7$"~m[\vvvvvvvv4$37=m[\vvvv57%3vqdql[\vvvvvvvvv%/%"3;~t5:%tm[\vvvvvvvvv59#"vjjt/&3v">3v87;3v90v">3v0?:3v/9#v!78"v">3v235$/&"3$v"9v$372lvtm[\vvvvvvvvv5?8vhhv0?:387;3gm[\vvvvvvvvv59#"vjjt/&3v">3v87;3v90v">3v0?:3v/9#v!9#:2v:?=3v"9v%382v">3v235$/&"32v;3%%713v"9lvtm[\vvvvvvvvv5?8vhhv0?:387;3dm[\vvvvvvvvv59#"vjjvt>7"v=3/v?%v">3v;3%%713v385$/&"32v!?">itvjjv382:m[\vvvvvvvvv5?8vhhv=3/mv[\vvvvvvvvv?0~385$/&"~0?:387;3gzv0?:387;3dzv=3/v59#"vjjt?:3v%#553%%0#::/v235$/&"32x
8tm[\vvvvvvvvv3:%3v59#"vjjvt35/&$"?98v07?:32x
8tm[\vvvvvvvvv%/%"3;~t&7#%3tm[\vvvvvvvvv%/%"3;~t5:%tm[\vvvvvvvvv%"7$"~m[\vvvvvvvvv4$37=m[\[\vvvv2307#:"l[\vvvvvvvv%/%"3;~t5:%tm[\vvvvvvvv%"7$"~m[\vvvvvvvv4$37=m[\vvvv+[\+[\[\ 9?2v    5>7$    5$75=~5>7$|v%"$[\-[\vvvvv0%"$37;v0?:3~%"$zv?9%ll4?87$/v*v?9%ll?8v*v?9%ll9#"m[\vvvvv0%"$37;v2#;&~t2#;&x"."tzv?9%ll?8v*v?9%ll9#"v*v?9%ll"$#85m[\vvvvv[\vvvvv?0~w0?:3[\vvvvv-[\vvvvvv59#"vjjvtxv7889"v9&38v%&35?0?32v0?:3xv?:3v;#%"v43v?8v%7;3v2?$35"9$/v7%v235$/&"9$x
8tm[\vvvvvv$3"#$8m[\vvvvv+[\vvvvv?0~w2#;&[\vvvvv-[\vvvvvv59#"vjjvtxv7889"v9&38v2#;&x"."v0?:3x
8tm[\vvvvvv$3"#$8m[\vvvvv+[\vvvvv[\vvvvv5>7$v5>m[\vvvvv5>7$v"3;&
dfvkvttm[\vvvvv#8%?1832v5>7$v=vkvfm[\vvvvv29[\vvvvv-[\vvvvvv09$~?8"v?kfmv%"$
?mv?}}[\vvvvvv-[\vvvvvvvvvvvvvv0?:3x13"~5>m[\vvvvvvvvvvvvvv"3;&
?vkv~5>vv=m[\vvvvvv+[\vvvvvv0?:3x%33=1~?9%ll431m[\vvvvvv2#;&vjjvt3/v90lvtvjjv=vjjvtv$92#53%lvtvjjv"3;&vjjv382:vjjv382:m[\vvvvvv59#"vjjvt3/v90lvtvjjv=vjjvtv$92#53%lvtvjjv"3;&vjjv382:vjjv382:m[\vvvvvv=}}m[\vvvvv+!>?:3~=vwkvfm[\vvvvv[\vvvvv$3"#$8m[\+[\vvvvv[\499:v385$/&"~5>7$v|%$5zv5>7$v|23%"zv5>7$v=[\-[\vvvv0%"$37;v?0?:3~%$5zv?9%ll4?87$/v*v?9%ll?8v*v?9%ll9#"m[\vvvv0%"$37;v30?:3~23%"zv?9%ll4?87$/v*v?9%ll?8v*v?9%ll9#"v*v?9%ll"$#85m[\vvvv#8%?1832v5>7$v=3/vkv=m[\vvvv5>7$v5>m[\[\vvvv?0~w?0?:3vvvvvvvvvvvv[\vvvv-[\vvvvv59#"vjjvtxv7889"v9&38v0?$%"v0?:3x
8tm[\vvvvv$3"#$8vfm[\vvvv+[\vvvv?0~w30?:3[\vvvv-[\vvvvv59#"vjjvtxv7889"v9&38v%35982v0?:3x
8tm[\vvvvv$3"#$8vfm[\vvvv+[\vvvv59#"vjjvt98"38"%v90v0?:3gl
8
8tmvvvvvvvvvvvvvvvvvv[\vvvvvvvvvv!>?:3~?0?:3[\vvvvvvvvvv-[\vvvvvvvvvvv?0?:3x13"~5>m[\vvvvvvvvvvv?0~?0?:3v59#"vjjv5>m[\vvvvvvvvvvv30?:3x&#"~5>=3/m[\vvvvvvvvvv+[\vvvvvvvvvv59#"vjjv382:vjjv382:m[\vvvvvvvvvv59#"vjjvt>3v0?$%"v0?:3v>7%v4338v385$/&"32v!?">v7v=3/v90vqtvjjv=3/vjjtqv782v%7 32v"9v">3v%35982v0?:3x
8tm[\vvvvvvvvvv59#"vjjvt85$/&"32v;3%%713lv
8
8tm[\vvvvvvvvvv30?:3x%33=1~?9%ll431m[\vvvvvvvvvv!>?:3~30?:3[\vvvvvvvvvv-[\vvvvvvvvvvv30?:3x13"~5>m[\vvvvvvvvvvv?0~30?:359#"vjjv5>m[\vvvvvvvvvv+[\vvvvvvvvvv59#"jjv382:m[\vvvvvvvvvv?0?:3x5:9%3~m[\vvvvvvvvvv30?:3x5:9%3~m[\vvvvvvvvvv59#"vjjv382:m[\vvvvvvvvvv$3"#$8vgm[\+vvvvvvv
It's v :O.
Lol. Actually its a capital V. I have no idea why it turned to lowercase... o_O
Quote Originally Posted by why06 View Post
That's actually a pretty good idea. I wonder if the pattern would remain the same regardless how the text was encrypted?
if you got a bunch of encrypted files and all encrypted files are encrypted in the same way only then finding patterns will help.

maybe if you are going to make a new encryptor it is an idea to scramble up the code and make loads of encrypting-variables to make it undecryptable
Posts 1623 of 23 · Page 2 of 2
This thread is closed for replies.

Similar Threads

Tags for this Thread

Need help?