Botanias matrix wings

Dieses Thema im Forum "Offtopic" wurde erstellt von alfiealfie, 2. Mai 2016.

  1. tyler489

    tyler489 Well-Known Member

    Beiträge:
    1.873
    Zustimmungen:
    202
    Ortszeit:
    10:24
    Its built into the mod..
    Is it suppost to be capitalizedd?
     
  2. Arcanuo

    Arcanuo Old School Poster

    Beiträge:
    424
    Zustimmungen:
    160
    Ortszeit:
    11:24
    Couldn't I in theory, force the running of the finished piece to spawn, and get the name that way?
     
  3. coolgi3000

    coolgi3000 Logician of the gods

    Beiträge:
    1.064
    Zustimmungen:
    282
    Ortszeit:
    11:24
    I probly just don't know what overwrite code is. I thought it was an external code written to reproduce the effects without needing to know the ligit phrase to name the tiara. If it is that than you would have to add it as if you were adding a new mod to the server.
     
  4. Arcanuo

    Arcanuo Old School Poster

    Beiträge:
    424
    Zustimmungen:
    160
    Ortszeit:
    11:24
    What it should be, if I'm remembering correctly, is he'll override on his own so to gain the name.
     
  5. alfiealfie

    alfiealfie Well-Known Member

    Beiträge:
    465
    Zustimmungen:
    98
    Ortszeit:
    03:24
    I'm using an override to track what it does and runs it through when I type in the name I overrided in order to got the process the game goes through in order to get / verify the name
     
  6. chugga_fan

    chugga_fan ME 4M storage cell of knowledge, all the time

    Beiträge:
    5.861
    Zustimmungen:
    730
    Ortszeit:
    11:24
    I did that, just print out to the log file whenever you run through each step, you get a bunch of useless junk though, which comes to this, there's a CHANCE that you actually got the right name and it isn't correct, if you're just bruteforcing based off the SHA-256, you need to phyically use a 49 character string, that has a large mix of ACSII characters, so gl, with that
     
  7. alfiealfie

    alfiealfie Well-Known Member

    Beiträge:
    465
    Zustimmungen:
    98
    Ortszeit:
    03:24
    put of curiosity anyone know what the page that repeats ASUDA-SAN ASUDA-SAN is? On github
     
  8. chugga_fan

    chugga_fan ME 4M storage cell of knowledge, all the time

    Beiträge:
    5.861
    Zustimmungen:
    730
    Ortszeit:
    11:24
    achievement.botania:desuGun.desc=ASADA-SAN ASADA-SAN ASADA-SAN ASADA-SAN ASADA-SAN ASADA-SAN ASADA-SAN ASADA-SAN ASADA-SAN ASADA-SAN ASADA-SAN ASADA-SAN
    # ^ Don't localize
    in the localizations file
     
  9. alfiealfie

    alfiealfie Well-Known Member

    Beiträge:
    465
    Zustimmungen:
    98
    Ortszeit:
    03:24
    Different easter egg then couldn't help but notice asada-San asada-san is 19 characters so it got me hopeful, me I'll keep trying my way but there's allot of crap to sort through
     
  10. chugga_fan

    chugga_fan ME 4M storage cell of knowledge, all the time

    Beiträge:
    5.861
    Zustimmungen:
    730
    Ortszeit:
    11:24
    it's from the matrix, that's been confirmed, not an anime, but nice try
     
  11. alfiealfie

    alfiealfie Well-Known Member

    Beiträge:
    465
    Zustimmungen:
    98
    Ortszeit:
    03:24
    XD but how has it been confirmed is what I want to know, that would suggest someone knows and is being stingy with the answer, making us work geez
     
  12. chugga_fan

    chugga_fan ME 4M storage cell of knowledge, all the time

    Beiträge:
    5.861
    Zustimmungen:
    730
    Ortszeit:
    11:24
    vazkii said it's 19 chars long and is from the matrix
     
  13. alfiealfie

    alfiealfie Well-Known Member

    Beiträge:
    465
    Zustimmungen:
    98
    Ortszeit:
    03:24
    Vazkii might be lying, did go through all the trouble of encrypting it
     
  14. coolgi3000

    coolgi3000 Logician of the gods

    Beiträge:
    1.064
    Zustimmungen:
    282
    Ortszeit:
    11:24
    If they find out that it's available somewhere on the internet (not necessarily here) maybe they will change it. think they would do that? :cool:
    of coarse it would mean that some people who "earned" it would have to find it again (depending on the method used, and if Vazkii changes the encryption)
     
  15. alfiealfie

    alfiealfie Well-Known Member

    Beiträge:
    465
    Zustimmungen:
    98
    Ortszeit:
    03:24
    Oh god your right, pms to the rescue!
     
  16. aD0UBLEj

    aD0UBLEj Well-Known Member

    Beiträge:
    138
    Zustimmungen:
    17
    Ortszeit:
    16:24
    Google seems to imply this is very difficult (time consuming) to crack. Interesting though.

    If it is about neo, what is to say it is even a quote, it could be some paraphrased line, although I guess it is made to actually be solvable with a lot of work.
     
  17. The_Icy_One

    The_Icy_One Procrastinates by doing work

    Beiträge:
    1.044
    Zustimmungen:
    210
    Ortszeit:
    16:24
  18. chugga_fan

    chugga_fan ME 4M storage cell of knowledge, all the time

    Beiträge:
    5.861
    Zustimmungen:
    730
    Ortszeit:
    11:24
  19. The_Icy_One

    The_Icy_One Procrastinates by doing work

    Beiträge:
    1.044
    Zustimmungen:
    210
    Ortszeit:
    16:24
    Pity, that would've made life easier. Are we sure Vazkii isn't lying to us about the length, though? She is obviously a little trolly :p
     
  20. chugga_fan

    chugga_fan ME 4M storage cell of knowledge, all the time

    Beiträge:
    5.861
    Zustimmungen:
    730
    Ortszeit:
    11:24
    if i wanted to try that many hashes i'd have a file the size of 10 gigs on my computer, not going to be able to purge anything that size so i won't be able to test[DOUBLEPOST=1462567725,1462491188][/DOUBLEPOST]Ok, so i have a program that outputs exactly what we want, strings that pass the test, for the original one only though, so won't help us, but here

    Code:
    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.IO;
    using System.Linq;
    using System.Text;
    
    namespace Unhash
    {
    	static class Program
    	{
    		const int minChar = 32;
    
    		const int maxChar = 122;
       
    	// array of possibles
    	static char[] charChoice = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ".ToCharArray();
    		// limit maxStrLength to make sure that max hash value does not exceed long.MaxValue (2^63 - 1)
    		const int maxStrLength = 19;
    	const int minStrLength = 1;
    
    		static long[] minHashValues;
    
    		static long[] maxHashValues;
    
    		static Program()
    		{
    			minHashValues = new long[maxStrLength + 1];
    			for (int strLength = 0; strLength <= maxStrLength; strLength++)
    				minHashValues[strLength] = Pow(31, strLength) / (31 - 1) * minChar;
    
    			maxHashValues = new long[maxStrLength + 1];
    			for (int strLength = 0; strLength <= maxStrLength; strLength++)
    				maxHashValues[strLength] = Pow(31, strLength) / (31 - 1) * maxChar;
    		}
    
    		static void GuessHash(int hash, int maxLength = 256, int minLength = 1)
    		{
    			Stopwatch sw = Stopwatch.StartNew();
    			var timeLimit = new TimeSpan(0, 15, 0);
    
    			if (maxLength > maxStrLength)
    				maxLength = maxStrLength;
    		if(minLength < minStrLength)
    		minLength = minStrLength;
    
    			long currentHash = (uint)hash;
    			long step = 1L << 32;
    
    			const int bufferSize = 32 * 1024;
    			using (var writer = new StreamWriter("output.txt", false, new UTF8Encoding(false), bufferSize))
    			{
    				for (int strLength = minLength; strLength <= maxLength; strLength++)
    				{
    			Console.WriteLine(strLength.ToString() + " current length");
    					long maxHash = maxHashValues[strLength];
    					if (currentHash > maxHash)
    						continue;
    
    					long minHash = minHashValues[strLength];
    					while (currentHash < minHash)
    						currentHash += step;
    
    					while ((currentHash <= maxHash) && (sw.Elapsed < timeLimit))
    					{
    						GuessLongHash(writer, currentHash, new char[strLength], strLength - 1);
    						currentHash += step;
    					}
    				}
    			}
    		}
    		static void GuessLongHash(StreamWriter writer, long hash, char[] chars, int charPos)
    		{
    			if (hash <= maxChar)
    			{
    				char ch = (char)hash;
    		if(hash == minChar || hash.IsWithin(48, 57) || hash.IsWithin(65, 90) || hash.IsWithin(96, 122))
    		{
    					chars[charPos] = ch;
    					writer.WriteLine(new string(chars));
    		}
    				return;
    			}
    
    			char c = (char)(hash % 31);
    			while (c < minChar)
    				c += (char)31;
    
    			while (c <= maxChar)
    			{
    				chars[charPos] = c;
    				GuessLongHash(writer, (hash - c) / 31, chars, charPos - 1);
    
    				c += (char)31;
    			}
    		}
    
    		static long Pow(int value, int exponent)
    		{
    			long result = 1;
    			for (int i = 0; i < exponent; i++)
    				result *= value;
    			return result;
    		}
    
    		static void Main(string[] args)
    		{
    			const int hash = 0x7867EB0B;
    			GuessHash(hash);
    		Console.WriteLine("Done");
    		Console.ReadKey();
    		}
    	static bool IsWithin(this long value, long minimum, long maximum)
    	{
    			return value >= minimum && value <= maximum;
    	}
    	}
    }
    here's a c# program that i shamelessly stole from a stackoverflow thread and modified for this purpose
     

Diese Seite empfehlen