- 1
- 2
- 3
- 4
public static bool GetUpperBit(long number)
{
return number < 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+120
public static bool GetUpperBit(long number)
{
return number < 0;
}
Да это не ГК, но остроумный способ получить верхний бит числа.
+120
///<summary>
/// Перемещение страницы в/из корзины
///</summary>
///<param name="PageID">Идентификатор страницы</param>
///<param name="Direction">Определяет в корзину или из нее перемещать страницу</param>
///<param name="Page">Экземпляр страницы</param>
///<returns></returns>
///<exception cref="Exception"></exception>
public static Exception PageToRecicle(int PageID, int Direction, Page Page)
{
SiteData data = new SiteData("MsSqlConnectionString");
SiteXml xml = new SiteXml();
Exception ee = new Exception();
SitePage page = new SitePage(Page);
if (page.StartPageID == PageID)
{
try
{
throw new Exception(xml.GetXmlResource("adminmenu.ascx", "RemoveStart"));
}
catch (Exception exc)
{
ee = exc;
}
return ee;
}
if (Direction == 0 || !SitePage.HasPageChilds(PageID, false))
{
data.ExecuteStoredProcedure("sPageToRecicle", ref ee, "@PageID", PageID, "@Direction", Direction,
"@UserName", HttpContext.Current.User.Identity.Name);
}
else
{
try
{
throw new Exception(xml.GetXmlResource("adminmenu.ascx", "RemoveError"));
}
catch (Exception exc)
{
ee = exc;
}
}
return ee;
}
Это фрагмент коммерческой CMS между прочим. Если бы автор родился в Спарте, его бы незамедлительно ё*нули об скалы.
+106
bool tos = true;
susid:
while (tos)
{
goto susid;
}
Энто был я=(
+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.