protected Application(Generator g, Type type, bool initialize = true) : base(g, type, initialize) { Application.Instance = this; handler = (IApplication)base.Handler; Generator.Initialize(g); // make everything use this by default }
public void Initialize() { this.output = new MemoryOutput(); this.generator = Generator.Initialize() .PreloadModule <CsharpModule>() .PreloadModule <TypeScriptModule>() .PreloadModule <ReflectionModule>() .SetOutput(this.output); }
void InitializeTiles() { tiles = new int[radius * 2, radius * 2]; generator.Initialize(this, tile, radius, temperature); for (int y = 0; y < tiles.GetLength(1); y++) { for (int x = 0; x < tiles.GetLength(0); x++) { float distance = Vector3.Distance(new Vector3(x, y), center) * Chunk.scale; float angle = Angle.CalculateAngle(center, new Vector3(x, y)); tiles[x, y] = tile[generator.GetTile(x, y, distance, angle)]; if (tiles[x, y] != 0) { startNonAirAmount++; } } } }
private void LoadFolder(object sender, RoutedEventArgs e) { generator = new Generator(this.logger, folderPath.Text) { MinimumAllowedChapterSize = (int)minimumAllowedChapterSize.Value }; generator.Initialize(); this.displayedSongs = new List <DisplaySong>(); foreach (var chapter in this.generator.Chapters) { foreach (var song in chapter.Songs) { this.displayedSongs.Add(new DisplaySong(song, chapter.ChapterName)); } } this.dataGrid.ItemsSource = this.displayedSongs; }
protected override Control Create() { // Clone the current generator and add handlers // for TabControl and TabPage. Create a TabControlSection // using the new generator and then restore the previous generator. var currentGenerator = Generator.Current; try { var generator = Activator.CreateInstance(currentGenerator.GetType()) as Generator; Generator.Initialize(generator); generator.Add <ITabControl>(() => new Eto.Test.Handlers.TabControlHandler()); generator.Add <ITabPage>(() => new Eto.Test.Handlers.TabPageHandler()); return(base.Create()); } finally { Generator.Initialize(currentGenerator); // restore } }
/* * Get keys function, the function get as a parameter key length window. it done because we need to read the length from this form * */ public void getKeys(KeyLengthWindow form) { // Generate two random numbers // Lets use our entropy based random generator Generator.Initialize(2); // For 1024 bit key length, we take 512 bits for first prime and 512 for second prime // Get same min and max BigInteger numMin = BigInteger.Pow(2, (form.BitLength / 2) - 1); BigInteger numMax = BigInteger.Pow(2, (form.BitLength / 2)); // Create two prime numbers var p = new PrimeNumber(); var q = new PrimeNumber(); p.SetNumber(Generator.Random(numMin, numMin)); q.SetNumber(Generator.Random(numMin, numMax)); // Create threaded p and q searches pThread = new Thread(p.RabinMiller); qThread = new Thread(q.RabinMiller); // For timeout DateTime start = DateTime.Now; pThread.Start(); qThread.Start(); while (pThread.IsAlive || qThread.IsAlive) { TimeSpan ts = DateTime.Now - start; if (ts.TotalMilliseconds > (1000 * 60 * 5)) { try { pThread.Abort(); } // ReSharper disable EmptyGeneralCatchClause catch (Exception) // ReSharper restore EmptyGeneralCatchClause { } try { qThread.Abort(); } // ReSharper disable EmptyGeneralCatchClause catch (Exception) // ReSharper restore EmptyGeneralCatchClause { } MessageBox.Show("Key generating error: timeout.\r\n\r\nIs your bit length too large?", "Error"); break; } } // If we found numbers, we continue to create if (p.GetFoundPrime() && q.GetFoundPrime()) { BigInteger n = p.GetPrimeNumber() * q.GetPrimeNumber(); BigInteger euler = (p.GetPrimeNumber() - 1) * (q.GetPrimeNumber() - 1); this.Dispatcher.Invoke((Action)(() => { messageStatusBar.Text = "Generating e prime number ..."; })); var primeNumber = new PrimeNumber(); while (true) { primeNumber.SetNumber(Generator.Random(2, euler - 1)); start = DateTime.Now; eThread = new Thread(primeNumber.RabinMiller); eThread.Start(); while (eThread.IsAlive) { TimeSpan ts = DateTime.Now - start; if (ts.TotalMilliseconds > (1000 * 60 * 5)) { MessageBox.Show("Key generating error: timeout.\r\n\r\nIs your bit length too large?", "Error"); break; } } if (primeNumber.GetFoundPrime() && (BigInteger.GreatestCommonDivisor(primeNumber.GetPrimeNumber(), euler) == 1)) { break; } } if (primeNumber.GetFoundPrime()) { this.Dispatcher.Invoke((Action)(() => { messageStatusBar.Text = "Calculating key components ..."; })); // Calculate secret exponent D as inverse number of E BigInteger d = MathExtended.ModularLinearEquationSolver(primeNumber.GetPrimeNumber(), 1, euler); //BigInteger d = MathExtended.ModularLinearEquationSolver(83, 1, 120); // Displaying keys if (d > 0) { // N (keysVM as KeysVM).PublicN = n.ToString(); (keysVM as KeysVM).PrivateN = n.ToString(); // E (keysVM as KeysVM).PublicE = primeNumber.GetPrimeNumber().ToString(); // D (keysVM as KeysVM).PrivateD = d.ToString(); this.Dispatcher.Invoke((Action)(() => { tabControl.SelectedIndex = 2; messageStatusBar.Text = "Successfully created key pair."; })); } else { this.Dispatcher.Invoke((Action)(() => { messageStatusBar.Text = "Error: Modular equation solver fault."; })); MessageBox.Show( "Error using mathematical extensions.\r\ne = " + primeNumber + "\r\neuler = " + euler + "\r\np = " + p.GetPrimeNumber() + "\r\n" + q.GetPrimeNumber(), "Error"); } } } else { this.Dispatcher.Invoke((Action)(() => { messageStatusBar.Text = "Idle"; })); } this.Dispatcher.Invoke((Action)(() => { this.progressBar.IsIndeterminate = false; })); }
/// <summary> /// Start Dumping Packages On Target Process<para/> /// As Programming Lang Code. /// </summary> /// <param name="requestInfo">Information About User</param> public async Task <GenRetInfo> Start(AgentRequestInfo requestInfo) { var ret = new GenRetInfo(); _requestInfo = requestInfo; ret.StartTime = DateTime.Now; #region Check Address var uDiscord = UpdateDiscordState("State", "Check Address !!"); if (!Utils.IsValidGNamesAddress(_gnames)) { return new GenRetInfo { State = GeneratorState.BadGName } } ; if (!Utils.IsTUobjectArray(_gobjects)) { return new GenRetInfo { State = GeneratorState.BadGObject } } ; #endregion // Flag for `DiscordMessageUpdater` _sdkWork = true; #region GNames // Wait Discord message to send (if was not !!) await uDiscord; uDiscord = UpdateDiscordState("State", "Dumping **GNames**. !!"); // Dump GNames var gnamesT = NamesStore.Initialize(_gnames); if (!await gnamesT) { return new GenRetInfo { State = GeneratorState.BadGName } } ; // Update Information await uDiscord; uDiscord = UpdateDiscordState("GNames", $"*{NamesStore.GNames.Names.Count}*"); #endregion #region GObjects // Wait Discord message to send (if was not !!) await uDiscord; uDiscord = UpdateDiscordState("State", "Dumping **GObjects**. !!"); // Dump GObjects var gobjectsT = ObjectsStore.Initialize(_gobjects); if (!await gobjectsT) { return new GenRetInfo { State = GeneratorState.BadGObject } } ; // Update Information await uDiscord; uDiscord = UpdateDiscordState("GObjects", $"*{ObjectsStore.GObjects.Objects.Count}*"); #endregion #region Init Generator // Init Generator Settings if (!Generator.Initialize()) { return new GenRetInfo { State = GeneratorState.BadGenerator } } ; // Init Generator info Generator.SdkPath = Path.Combine(Program.GenPath, "SDK"); Generator.LangPaths = Program.LangsPath; Generator.IsGObjectsChunks = ObjectsStore.GObjects.IsChunksAddress; // Ask User For Information Generator.GameName = await Utils.DiscordManager.StringQuestion(_requestInfo, "Game Name .?"); Generator.GameVersion = await Utils.DiscordManager.StringQuestion(_requestInfo, "Game Version .?"); Generator.GameModule = await Utils.DiscordManager.OptionsQuestion(_requestInfo, "Game Module .?", Utils.MemObj.GetModuleList().Where(m => !m.ModuleName.ToLower().EndsWith(".dll")).Select(m => m.ModuleName).ToList()); Generator.SdkType = await Utils.DiscordManager.YesNoMessage(_requestInfo, "Internal SDK .?") ? SdkType.Internal : SdkType.External; Generator.SdkLangName = await Utils.DiscordManager.OptionsQuestion(_requestInfo, "Syntax Lang .?", Program.SupportedLangs.Select(s => s.Key).ToList()); // Get Module Info Utils.MemObj.GetModuleInfo(Generator.GameModule, out var mod); Generator.GameModuleBase = mod.BaseAddress; #region Move Sdk Message // Move the Sdk Dump Message, to be the last message ulong oldMessage = _requestInfo.AgentMessage.Id; // New Message _requestInfo.AgentMessage = await _requestInfo.Context.Channel.SendMessageAsync(embed : _requestInfo.AgentMessage.Embeds.First()); // Delete Old await(await _requestInfo.Context.Channel.GetMessageAsync(oldMessage)).DeleteAsync(); #endregion // Init Sdk Lang if (!InitSdkLang()) { return new GenRetInfo { State = GeneratorState.BadSdkLang } } ; #endregion Directory.CreateDirectory(Generator.SdkPath); #region Dump Names/Objects To Files //if (Generator.ShouldDumpArrays) //{ // *startInfo.State = "Dumping (GNames/GObjects)."; // Dump(outputDirectory, *startInfo.State); // *startInfo.State = "Dump (GNames/GObjects) Done."; //} #endregion // Wait Discord message to send (if was not !!) await uDiscord; // Process Packages await ProcessPackages(); ret.State = GeneratorState.Good; return(ret); }
protected Application(Generator generator, Type type, bool initialize = true) : base(generator ?? Generator.Detect, type, initialize) { Application.Instance = this; Generator.Initialize(generator ?? Generator.Detect); // make everything use this by default }