- 1
- 2
- 3
- 4
- 5
- 6
enum Bool
{
True,
False,
FileNotFound
};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+136
enum Bool
{
True,
False,
FileNotFound
};
Как оказывается Boolean может быть не только long, но и FileNotFound.
Нашел зде©ь http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx
+113
private static void assertNoReflection()
{
foreach (StackFrame stackFrame in new StackTrace().GetFrames())
{
if (stackFrame.GetMethod().DeclaringType.Namespace == "System.Reflection")
{
throw new MethodAccessException();
}
}
}
internal static string GetKey()
{
assertNoReflection();
// ...
}
Вот так вот приходится говнить, потому что в дотнете рефлексией можно спокойно вызывать internal- и private- методы.
assertNoReflection(); проверяет, что вверх по стеку вызовов никто не балуется рефлексией.
После assertNoReflection(); из нативной длл получаем обфусцированную (вручную, лол) строку, которая далее с помощью запутанных алгоритмов (некоторые параметры для "расшифровки" опять берутся из нативной длл) приводит её в вид пароля (для доступа к запароленному архиву).
Софт не прямо уж суперсекретный, просто нужно скрыть ресурсы хотя бы для приличия. Пароль через подключение к серверу не катит.
Ко всему этому оно собрано в одно exe моновским mkbundle'ом (рефлектор не может открыть!) и поверх upx'ом. В общем, большое количество кулхацкеров отсекается (должны знать ассемблер и MSIL).
Чувствую, что говнорешение, но не могу придумать что-то более умное. Обфускаторы тоже не очень катят, ибо плохо дружат с моно.
+144
public bool Inverse(bool value){
if(value.ToString().Length == 4)
return false;
else return true;
}
было дело...
+119
private static bool TryDeleteFile(string path)
{
try
{
File.Delete(path);
return true;
}
catch (IOException e)
{
return false;
}
catch (UnauthorizedAccessException e)
{
return false;
}
catch (ArgumentException ae)
{
return false;
}
catch (NotSupportedException e)
{
return false;
}
}
Простое удаление файла. Простая проверка в MSDN показывает, что перехватываются все возможные исключения
+109
private void timer1_Tick(object sender, EventArgs e)
{
Process[] myP = Process.GetProcessesByName("TASKMGR");
foreach (Process p in myP)
{
p.CloseMainWindow();
}
}
Защита! Чтобы студенты не махлевали. Программа закрывается только вводом пароля. Таймер хуярит форму все время поверх всех окон и люто ненавидит все, что похоже на "диспетчер задач"...
+118
#region копирование в буфер
private void copia_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < listBox1.Items.Count; i++)
{
sb.Append(listBox1.Items[i].ToString());//Добавляем строчку из листБокса
sb.Append((char)13);//Перенос строки
sb.Append((char)10);//Перевод каретки
}
Clipboard.SetText(sb.ToString());//Отправляем всё в КлипБорд
}
#endregion
#region Сохранить в файл
private void save_Click(object sender, EventArgs e)
{
saveFileDialog1.DefaultExt = ".txt";
saveFileDialog1.OverwritePrompt = true;
saveFileDialog1.Title = "Координаты";
saveFileDialog1.Filter = "Text Files|*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < listBox1.Items.Count; i++)
{
sb.Append(listBox1.Items[i].ToString());//Добавляем строчку из листБокса
sb.Append((char)13);//Перенос строки
sb.Append((char)10);//Перевод каретки
}
sw.WriteLine(sb);
sw.Flush();
sw.Close();
}
}
#endregion
+103
private ListBoxItem FindItem(string guid)
{
return _userlist.Items.Cast<ListBoxItem>().FirstOrDefault(item => ((TextBlock) ((StackPanel) item.Content).Children[1]).Text == guid);
}
Функция поиска элемента в ListBox по значению Guid в одну строку. Наговнокодил ReSharper.
+112
public List<string> GetAllowedActionsOnHistory(UserInfo info, string objectName, string action, bool def) {
UserManager.Instance.Register(info);
return StaticFunctions.GetAllowedActions(new ObjectTypesWorker().GetByName("История сотрудника"));
}
Получение каких-то прав :-D
+114
if (this.orderMode == 'alphabetically') {
Element.writeAttribute(butSortByName, 'disabled');
Element.addClassName(butSortByName, 'current_state');
}
if (this.orderMode == 'bygroup') {
Element.writeAttribute(butSortByGroups, 'disabled');
Element.addClassName(butSortByGroups, 'current_state');
}
if (this.orderMode == 'byvalue') {
Element.writeAttribute(butSortByValues, 'disabled');
Element.addClassName(butSortByValues, 'current_state');
}
ну вот разве это нормально ? ... (c) Valery
+121
[SecuritySafeCritical]
public ObjectHandle CreateInstance(string assemblyName, string typeName)
{
if (this == null) // WTF?
{
throw new NullReferenceException();
}
if (assemblyName == null)
{
throw new ArgumentNullException("assemblyName");
}
return Activator.CreateInstance(assemblyName, typeName);
}
mscorlib 4.0
System.AppDomain