Intellij IDEA FAQ – Part 1

0. Equivalent shortcuts to Visual Studio?

Ctrl+. <–> Alt+Enter

F2       <–> Shift+F6

Clean up code : Ctrl + Alt + L

1. How to add reference to a library?

File –> Project Structure –> Modules –> Dependencies –> + –> Jars or directories

Intellij Idea Modules Dependencies

Continue reading Intellij IDEA FAQ – Part 1

My online notes – Section 0008

Note 1: Remove diacritics (special characters) from string

private static string RemoveDiacritics(string text)
	string textNormalized = text.Normalize(NormalizationForm.FormD);
	StringBuilder stringBuilder = new StringBuilder();

	for (int index = 0; index < textNormalized.Length; index++)
		UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(textNormalized[index]);
		if (uc != UnicodeCategory.NonSpacingMark)

	return (stringBuilder.ToString().Normalize(NormalizationForm.FormC));

Continue reading My online notes – Section 0008

C# – Useful code listings

1. List all properties and their values

static void Main(string[] args)
	string fileName = Path.Combine(Directory.GetCurrentDirectory(), "All Polished.mp4");
	ShellObject shellObject= ShellObject.FromParsingName(fileName);
	PropertyInfo[] propertyInfos = shellObject.Properties.System.GetType().GetProperties();
	foreach (var propertyInfo in propertyInfos)
		object value = propertyInfo.GetValue(shellObject.Properties.System, null);

		if (value is ShellProperty<int?>)
			var nullableIntValue = (value as ShellProperty<int?>).Value;
			Console.WriteLine($"{propertyInfo.Name} - {nullableIntValue}");
		else if (value is ShellProperty<ulong?>)
			var nullableLongValue =
				(value as ShellProperty<ulong?>).Value;
			Console.WriteLine($"{propertyInfo.Name} - {nullableLongValue}");
		else if (value is ShellProperty<string>)
			var stringValue =
				(value as ShellProperty<string>).Value;
			Console.WriteLine($"{propertyInfo.Name} - {stringValue}");
		else if (value is ShellProperty<object>)
			var objectValue =
				(value as ShellProperty<object>).Value;
			Console.WriteLine($"{propertyInfo.Name} - {objectValue}");
			Console.WriteLine($"{propertyInfo.Name} - Dummy value");



DeXe – Deobfuscator for Xenocode

Strings in assembly protected by XenoCode was encrypted. This tool will help you to decrypt string into readable form. Flow control is defeated too, but this tool can not recover to 100% original code. After version, the code name of this tool will be changed to DeXe because it is a part of a series of Deobfuscator which I make for .net. After decryption, a patched assembly with decrypted string will be saved at the same folder of the application. Use Reflector to see result. This tool will be updated soonly with more functions.

  • Requirements : .NET Framework 2.0
  • Version:
  • Supported version of Xenocode Postbuild
  • To XenoCode Postbuild 2007 build 6675
  • Want more functions. Post your comment directly after this post.


If this tool doesn’t work with your packed assembly, send it to me. DO NOT blame me if this one doesn’t work. I’m just a newbie. Tongue out


When you want to post this tool to somewhere. Please post url to my site, that keeps update for this tool when you do that.



  • [ –] : Fix mirror bugs
  • [] : Anti-obfuscate flow control is now better
  • [] : Anti-obfuscate flow control
  • [] : Fix Bug bei convert string to in at ID

DeXe Screenshot