Утила которая спасала меня миллион раз. Названа мной в 2013 CHECK DOMEN Суть проста: кушает домены и проходит по нужной вам директории и смотрит есть ли ваш текст на странице. И выдаёт список good.txt Естественно многопоток все дела. Сам пользовался в то время для проверки дле сайтов на форму обратной связи. Вариантов использования безлимит =) Кушает список вида: 0-11.ru 0-day.in 0-web.ru 03pc.biz Без http:// and / в конце Последнее поле количество потоков. Скачать: https://www.sendspace.com/file/yu931r
Прога для массовой рассылки почты с вложением и с подменой Mail (спамер). DEMO - В один поток. Удаляет дубликаты. Php закидываем на хост: Code: <?php $mailTo = $_POST[mail]; $file = 'File.exe';// Ваш файл вложения $from = $_POST[from]; $subject = $_POST[subject]; $r = sendMailAttachment($mailTo, $from, $subject, $message, $file); function sendMailAttachment($mailTo, $from, $subject, $message, $file = false){ $separator = "---"; $headers = "MIME-Version: 1.0\r\n"; $headers .= "From: $from\nReply-To: $from\n"; $header.="Content-Type: multipart/mixed; boundary=\"$bound\""; $headers .= "Content-Type: multipart/mixed; boundary=\"$separator\""; if($file){ $bodyMail = "--$separator\n"; $bodyMail .= "Content-type: text/html; charset='utf-8'\n"; $bodyMail .= "Content-Transfer-Encoding: quoted-printable"; $bodyMail .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode(basename($file))."?=\n\n"; $bodyMail .= $message."\n"; $bodyMail .= "--$separator\n"; $fileRead = fopen($file, "r"); файл $contentFile = fread($fileRead, filesize($file)); fclose($fileRead); $bodyMail .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode(basename($file))."?=\n"; $bodyMail .= "Content-Transfer-Encoding: base64\n"; $bodyMail .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode(basename($file))."?=\n\n"; $bodyMail .= chunk_split(base64_encode($contentFile))."\n"; $bodyMail .= "--".$separator ."--\n"; // письмо без вложения }else{ $bodyMail = $message; } $result = mail($mailTo, $subject, $bodyMail, $headers); return $result; } ?> Закидываем скрин и файл если надо на сервак прописываем путь и имя в коде PHP. http://rusfolder.com/45481474
Решил побаловоться с камерой на qt. Появилась идея создать приложение для скрытой записи и/или удаленного просмотра онлайн. Будет ли кому интересна это программа? Так сказать ищу мотивации, т.к. если делаешь для кого-то, то работа продуктивной идёт.
Решил написать что-то на WinApi чисто для интереса и опыта. Написал программу для расшифровки шифра Цезаря. Поддерживает и русский, и английский алфавиты, большие буквы так и оставляет большими, пробелы не съедает. Написано на C++, компилируется в Dev-C++. Code: #include <windows.h> #include <string> #include <cstring> #include <cstdlib> using namespace std; /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM); HWND hWnd; /* This is the handle for our window */ /* Make the class name into a global variable */ char szClassName[] = "Cipher Of Caesar Decoder"; // Сдвиг текста в шифре int displacement; // Поле с шифрованным текстом HWND hCipheredTextEdit; // Кнопка, уменьшающая сдвиг на 1 HWND hButtonDisplacementMinus1; #define CID_BDM1 (100) // Control ID первой кнопки // Поле, показывающее текущий сдвиг HWND hDisplacementEdit; // Кнопка, увеличивающая сдвиг на 1 HWND hButtonDisplacementPlus1; #define CID_BDP1 (101) // Control ID второй кнопки // Поле, показывающее результат преобразований HWND hTransformedTextEdit; // Переменная, содержащая результат преобразований CHAR cTransformResText[65535]; // Максимальная длина текста 65535 символов // Функция, выводящая результат в поле void refreshTransformResText() { SetWindowText(hTransformedTextEdit, cTransformResText); } // Функция, обновляющая текущий сдвиг в соответствующем поле void refreshDisplacementEdit() { char res[5]; itoa(displacement, res, 10); char cDisplacement[15] = "Сдвиг: "; strcat(cDisplacement, res); SetWindowText(hDisplacementEdit, cDisplacement); } // Векторы с буквами русского алфавита string sRusAlfabetBig("АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"); string sRusAlfabetSmall("абвгдеёжзийклмнопрстуфхцчшщъыьэюя"); // Векторы с буквами английского алфавита string sEngAlfabetBig("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); string sEngAlfabetSmall("abcdefghijklmnopqrstuvwxyz"); // Функция, возвращающая индекс буквы с необходимым сдвигом int getDisplacement(int alfabet, int index, int iDisplacement) { int result = 0; if (alfabet == 0){ result = index + iDisplacement; if (result > 0) return (result % 33); else if (result < 0) return (33 + (result % -33)); else if (result == 0) return 0; } else if (alfabet == 1) { result = index + iDisplacement; if (result > 0) return (result % 26); else if (result < 0) return (26 - (result % -26)); else if (result == 0) return 0; } else return -1; } // Функция, преобразующая шифрованный русский текст string transformRusText(string sCipheredText, int iDisplacement) { size_t found; int index; string sTemporaryText; for (int i = 0; i < sCipheredText.size(); i++){ if((found = sRusAlfabetBig.find(sCipheredText[i])) != std::string::npos){ index = getDisplacement(0, found, iDisplacement); sTemporaryText += sRusAlfabetBig[index]; } else if((found = sRusAlfabetSmall.find(sCipheredText[i])) != std::string::npos){ index = getDisplacement(0, found, iDisplacement); sTemporaryText += sRusAlfabetSmall[index]; } else if(sCipheredText[i] == ' '){ sTemporaryText += ' '; } else MessageBox(NULL, "Строка содержит смешанный текст!", "Ошибка!", MB_OK | MB_ICONEXCLAMATION); } return sTemporaryText; } // Функция, преобразующая шифрованный английский текст string transformEngText(string sCipheredText, int iDisplacement) { size_t found; int index; string sTemporaryText; for (int i = 0; i < sCipheredText.size(); i++){ if((found = sEngAlfabetBig.find(sCipheredText[i])) != std::string::npos){ index = getDisplacement(1, found, iDisplacement); sTemporaryText += sEngAlfabetBig[index]; } else if((found = sEngAlfabetSmall.find(sCipheredText[i])) != std::string::npos){ index = getDisplacement(1, found, iDisplacement); sTemporaryText += sEngAlfabetSmall[index]; } else if(sCipheredText[i] == ' '){ sTemporaryText += ' '; } else MessageBox(NULL, "Строка содержит смешанный текст!", "Ошибка!", MB_OK | MB_ICONEXCLAMATION); } return sTemporaryText; } // Функция, преобразующая шифрованный текст void transformText() { CHAR cCipheredText[65535]; GetWindowText(hCipheredTextEdit, cCipheredText, 65535); string sDecipheredText; size_t found; if((found = sRusAlfabetBig.find(cCipheredText[0])) != std::string::npos){ sDecipheredText = transformRusText(cCipheredText, displacement); } else if((found = sRusAlfabetSmall.find(cCipheredText[0])) != std::string::npos){ sDecipheredText = transformRusText(cCipheredText, displacement); } else if((found = sEngAlfabetBig.find(cCipheredText[0])) != std::string::npos){ sDecipheredText = transformEngText(cCipheredText, displacement); } else if((found = sEngAlfabetSmall.find(cCipheredText[0])) != std::string::npos){ sDecipheredText = transformEngText(cCipheredText, displacement); } strcpy(cTransformResText, sDecipheredText.c_str()); } int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { MSG messages; /* Here messages to the application are saved */ WNDCLASSEX wincl; /* Data structure for the windowclass */ /* The Window structure */ wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ wincl.style = CS_DBLCLKS; /* Catch double-clicks */ wincl.cbSize = sizeof(WNDCLASSEX); /* Use default icon and mouse-pointer */ wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor(NULL, IDC_ARROW); wincl.lpszMenuName = NULL; /* No menu */ wincl.cbClsExtra = 0; /* No extra bytes after the window class */ wincl.cbWndExtra = 0; /* structure or the window instance */ /* Use Windows's default color as the background of the window */ wincl.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // дескриптор кисти для закраски фона окна /* Register the window class, and if it fails quit the program */ if (!RegisterClassEx(&wincl)) return 0; /* The class is registered, let's create the program*/ hWnd = CreateWindowEx( 0, /* Extended possibilites for variation */ szClassName, /* Classname */ "Cipher Of Caesar Decoder", /* Title Text */ WS_OVERLAPPEDWINDOW, /* default window */ CW_USEDEFAULT, /* Windows decides the position */ CW_USEDEFAULT, /* where the window ends up on the screen */ 626, /* The programs width */ 500, /* and height in pixels */ HWND_DESKTOP, /* The window is a child-window to desktop */ NULL, /* No menu */ hThisInstance, /* Program Instance handler */ NULL /* No Window Creation data */ ); /* Make the window visible on the screen */ ShowWindow(hWnd, nFunsterStil); displacement = 0; hCipheredTextEdit = CreateWindow("Edit", "Зашифрованный текст", WS_CHILD | ES_AUTOVSCROLL | WS_BORDER, 10, 10, 600, 200, hWnd, NULL, NULL, 0 ); hButtonDisplacementMinus1 = CreateWindow("Button", "Сдвиг - 1", WS_CHILD | BS_NOTIFY, 10, 210, 100, 50, hWnd, (HMENU)CID_BDM1, NULL, 0 ); hDisplacementEdit = CreateWindow("Edit", "Сдвиг: ", WS_CHILD | ES_AUTOVSCROLL | ES_MULTILINE | ES_CENTER | ES_READONLY | WS_DISABLED, 110, 210, 400, 50, hWnd, NULL, NULL, 0 ); hButtonDisplacementPlus1 = CreateWindow("Button", "Сдвиг + 1", WS_CHILD | BS_NOTIFY, 510, 210, 100, 50, hWnd, (HMENU)CID_BDP1, NULL, 0 ); hTransformedTextEdit = CreateWindow("Edit", "Результат преобразований", WS_CHILD | ES_AUTOVSCROLL | WS_BORDER | ES_READONLY, 10, 260, 600, 200, hWnd, NULL, NULL, 0 ); ShowWindow(hCipheredTextEdit, SW_SHOW); ShowWindow(hButtonDisplacementMinus1, SW_SHOW); ShowWindow(hDisplacementEdit, SW_SHOW); ShowWindow(hButtonDisplacementPlus1, SW_SHOW); ShowWindow(hTransformedTextEdit, SW_SHOW); /* Run the message loop. It will run until GetMessage() returns 0 */ while (GetMessage(&messages, NULL, 0, 0)) { /* Translate virtual-key messages into character messages */ TranslateMessage(&messages); /* Send message to WindowProcedure */ DispatchMessage(&messages); } /* The program return-value is 0 - The value that PostQuitMessage() gave */ return messages.wParam; } /* This function is called by the Windows function DispatchMessage() */ LRESULT CALLBACK WindowProcedure (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hDC; PAINTSTRUCT ps; RECT rect; COLORREF colorText = RGB(255, 0, 0); switch (message) /* handle the messages */ { case WM_COMMAND: if (HIWORD(wParam) == (WORD)BN_CLICKED) { if (LOWORD(wParam) == CID_BDM1) { displacement--; transformText(); refreshDisplacementEdit(); refreshTransformResText(); } else if (LOWORD(wParam) == CID_BDP1) { displacement++; transformText(); refreshDisplacementEdit(); refreshTransformResText(); } } break; case WM_DESTROY: PostQuitMessage(0); /* send a WM_QUIT to the message queue */ break; default: /* for messages that we don't deal with */ return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } В эдит с текстом "Зашифрованный текст" нужно вставлять зашифрованный текст и методом подбора, нажимая на кнопки "Сдвиг - 1" и "Сдвиг + 1", подбираешь такой сдвиг, чтобы в нижнем эдите появился понятный, читаемый текст. Вот скомпилированный экзешник http://rgho.st/84rWy27Jj
Telegram Bot для удаленного управления пекарней... Очень удобный бот, если вы находитесь далеко от своего пк, то этот бот поможет вам, написан на Python. С помощью него вы можете: выключить, заблокировать ваш гроб, сделать скриншот рабочего стола и посмотреть, кто же безобразничает за ним, пока вас нет. В случае обнаружения нарушителя, отправить сообщение, где вы ласково просите убрать грабли от вашего сокровища, а так же "убивать" процессы. Так же можно и запустить такие процессы, как блокнот, Chrome, Internet Explore и Opera(вместе с Firefox и другими процессами, описанными в путях). З.Ы. Если понравилось - прошу одобрения) Исходник: # -*- coding: utf-8 -*- import subprocess import telebot from PIL import ImageGrab from telebot import types from tkinter import * import threading bot = telebot.TeleBot('Ваш токен') @bot.message_handler(commands=['start']) def welcome(msg): if msg.from_user.id == ваш telegram id: markup = types.ReplyKeyboardMarkup() markup.row('ShutDown PC') markup.row('Lock PC') markup.row('Screenshot') markup.row('Open Messager') markup.row('Show Processes') markup.row('Start Process') markup.row('Kill Process') bot.send_message(msg.chat.id, "What you need Boss?", reply_markup=markup) bot.register_next_step_handler(msg, handler) else: bot.send_message(msg.chat.id, "Error! You don't have permission") #если вашему боту напишет левый долбогон, то он его не пустит к вашему компу) def handler(msg): if msg.text == "ShutDown PC": def shutdown(shut): cmd = 'shutdown -s -c Тагуха_вырубил_ПК -t 2' p = subprocess.Popen(cmd, shell=True) p.wait() bot.send_message(msg.chat.id, 'Ok, shutdown') if __name__ == '__main__': shutdown('y') if msg.text == "Show Processes": try: bot.send_message(msg.chat.id , subprocess.check_output('tasklist /FO LIST /FI "memusage gt 30000"').decode('cp866').encode('utf-8')) welcome(msg) except TypeError: welcome(msg) if msg.text == "Open Messager": bot.send_message(msg.chat.id, "Write message") bot.register_next_step_handler(msg, send_message) if msg.text == "Kill Process": try: bot.send_message(msg.chat.id, "PID or name of process") bot.register_next_step_handler(msg, taskkill) except TypeError: welcome(msg) if msg.text == "Lock PC": subprocess.Popen('rundll32.exe USER32.DLL LockWorkStation') welcome(msg) if msg.text == "Screenshot": bot.send_chat_action(msg.chat.id, 'upload_photo') img = ImageGrab.grab() img.save("screen.png", "PNG") img = open('screen.png', 'rb') bot.send_photo(msg.chat.id, img) welcome(msg) if msg.text == "Start Process": bot.send_message(msg.chat.id, "Process") bot.register_next_step_handler(msg, startp) if msg.text == "Back": welcome(msg) def taskkill(msg): subprocess.Popen('taskkill /PID '+msg.text+' /F /T') welcome(msg) def startp(msg): subprocess.Popen('start '+msg.text, shell=True) welcome(msg) def send_message(msg): global root root = Tk() root.title('Message') root.geometry("400x50") x = (root.winfo_screenwidth() - root.winfo_reqwidth()) / 2 y = (root.winfo_screenheight() - root.winfo_reqheight()) / 2 root.wm_geometry("+%d+%d" % (x, y)) global ent global lab lab = Label(root, font="Arial 25") global m m = msg lab['text'] = msg.text but = Button(root) lab.pack() t = threading.Timer(6.0, destroy_root) t.start() root.mainloop() welcome(msg) def Button_Click(event): bot.send_message(твой telegram id, ent.get()) root.destroy() bot.register_next_step_handler(m, send_message) def destroy_root(): root.destroy() while '_main__': bot.polling(none_stop=True) Сканируйте код и получите ценную информацию ____________________________________________
Исполнение cmd команд C# : Code: using System.IO; using System; class AdvancedCMD() { static void CMD(string comand) { ProcesStartInfo psi = new ProcesStartInfo(); psi.File = @"C://windows/System32/cmd"; psi.Argument = comand; Proces.Start(psi); } void SetColor(string colorCode) { CMD("color " + colorCode); } void CLEAR() { CMD('cls'); } }
Исполнение cmd команд C# : Code: using System.IO; using System; class AdvancedCMD() { static void CMD(string comand) { ProcesStartInfo psi = new ProcesStartInfo(); psi.FileName = @"C://windows/System32/cmd"; psi.Arguments = comand; Proces.Start(psi); } void SetColor(string colorCode) { CMD("color " + colorCode); } void CLEAR() { CMD('cls'); } }
Недавно написал программу для изучения инностранного языка, она показывает слово и перевод через определенный интервал. Для работы нужен текcтовик со словами. Пример текстовика: sneaky - подлый crafty - коварный hoof - копыто kidnap - похищать, украсть ребенка wig - парик cans - баллончик handsome - красивый, благообразный fragile - хрупкий, слабый, тонкий, недолговечный adversity - несчастье, напасти possess - обладать, овладевать increasingly - в большей степени intimidating - пугающий exciting - захватывающий sponge - губка, тампон ceaselessly - непрерывно despite - не смотря на digress - отвлекся solely - исключительно Можно настроить интервал показа, время показа и разделитель слов в текстовике. Так выглядит сама программа А так выглядит уведомление Писал чисто для себя но буду рад если кому-то она пригодится. Скачать
Нужно было быстро просканить порт, вот на ходу сделал сканер портов. Может кому нужен будет. Spoiler: Код #include<stdio.h> #include<sys/socket.h> #include<sys/types.h> #include<netinet/in.h> int s,c; int port; char addr[21]; int main() { printf("ip of target:"); scanf("%s",&addr); printf("\n port,what you will scan:"); scanf("%d",&port); struct sockaddr_in in; in.sin_port = port; in.sin_family = AF_INET; in.sin_addr.s_addr = inet_addr(addr); s=socket(AF_INET,SOCK_STREAM,0); c=connect(s,(struct sockaddr*)&in,sizeof(in)); if(c==0) { printf("port are open"); } if(c==-1) { printf("port are close"); } } Правда немного некрасивый код, зато мне помог.
RLO.pyНедавно написал на Python скрипт который добавляет RLO символ в название необходимого файла. Инструкция выводится при запуске скрипта без параметров. Так же можно использовать его как модуль. Пример использования: rlo.py test.exe mp3 По умолчанию расширение jpg (т.е. можно написать: rlo.py test.exe) Скачать скрипт ---> http://rgho.st/7XglN4HZl Spoiler: Code Code: ''' --------------------------------------------------------- Name: RLO Description: Hide extension executable file Version: 0.1 Created by: SeaFox (forum.antichat.ru) --------------------------------------------------------- ''' import os import sys def RLO(fileName, fileExt = 'jpg'): if not os.path.isfile(fileName): print('File: "' + fileName + '" not exists') return 1 fName, fExt = os.path.splitext(fileName) os.rename(fileName, fName + '\u202E' + fileExt[::-1] + fExt) return 0 if __name__ == '__main__': lenArgs = len(sys.argv) fileName = fileExt = None if lenArgs == 3: fileName = sys.argv[1] fileExt = sys.argv[2] elif lenArgs == 2: fileName = sys.argv[1] fileExt = 'jpg' else: desc = ('Hide extension executable file\n\n' 'RLO.py [filename] [extension]\n\n' 'Example: RLO.py file.exe png\n' ' RLO.py file.exe\n\n' ' [filename] - executable file or whatever you want there\n' ' [extension] - default value "jpg"') print(desc) sys.exit() RLO(fileName, fileExt)
По работе скриптец накатал на коленке. Для выполнения команды на дофигища SSH клиентах. Так как судьба меня поссорила с SSH мультиагентами для винды, пришлось писать свой костыль Code: using System; using System.Collections.Generic; using Renci.SshNet; using System.IO; namespace SshMultiAgent { publicclass Program { static void Main(string[] args) { string servers = @"192.168.101.18 192.168.101.28 192.168.101.32 "; string hostnameCmd = "sudo hostname"; // Основная команда сюда string cmd = "for i in $(sudo systemctl list-unit-files | grep enabled | awk '{print $1}'); do ls -la /usr/lib/systemd/system/$i; done"; string fileLog = @"C:\Temp\NotLogin.txt"; // Куда будем складывать логи string fileAccept = @"C:\Temp\Accept.txt"; // Куда будем складывать результат if (File.Exists(fileLog)) { File.Delete(fileLog); } if (File.Exists(fileAccept)) { File.Delete(fileAccept); } foreach (string server in servers.Split('\n')) { var connectionInfo = new ConnectionInfo(server.Trim(), "<Login>", new PrivateKeyAuthenticationMethod("almorozov", new PrivateKeyFile(@"<Путь до ключа>", "<Pass фраза если есть>"))); using (var client = new SshClient(connectionInfo)) { try { client.Connect(); Console.WriteLine("Команда: {0}. Сервер: {1}", cmd, server); //client. string hostname = client.RunCommand(hostnameCmd).Result; string result = "Сервер: " + server.Trim() + " (" + hostname.Trim() + ")\n"; if (result != "") { Console.WriteLine(server); using (StreamWriter sw = File.AppendText(fileAccept)) { sw.WriteLine(result.Trim()); } } string res = client.RunCommand(cmd).Result; //Console.WriteLine(res); using (StreamWriter sw = File.AppendText(fileAccept)) { sw.WriteLine(res); } } catch (Exception e) { using (StreamWriter sw = File.AppendText(fileLog)) { sw.WriteLine(server); } } } } Console.WriteLine("Команда выполнена"); Console.ReadKey(); } } }
Простенький бот для телеги,удаляет уведомления у входе/выходе из чата. Code: ##################################################### # Простой бот для удаления уведомлений # # о входе и выходе из чата его участников. # # # # Я хер знает че здесь писать, поэтому ебну # # краткую инструкцию о его настройке. Берем # # Api-token вашего бота,вставляем в 35 строчку # # между кавычками,замещая текст *API TOKEN*, # # рядом с файлом,из которого вы читаете этот # # уебанский комментарий,создаете файл groups.txt, # # в котором пишите вайтлист групп,который будет # # обслуживать бот(Каждую группу с новой строчки, # # без разделителей).Кидаете вашего бота в чат,даете # # ему админа.Натсройка закончена,остается только # # залить на хост и радоваться. # # # # by Mexel # ##################################################### from telegram import ParseMode, Bot from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, RegexHandler, BaseFilter from telegram.error import TelegramError from telegram.ext.dispatcher import run_async class FilterAwesome(BaseFilter): def filter(self, message): file_groups = open('groups.txt','r') groups = file_group.read().split('\n') file_groups.close() if message.chat.username in groups: new_members = message.new_chat_members left_member = message.left_chat_member if new_members != [] or left_member!= []: return True return False return False def delete_message_safe(bot, msg): chat_id = msg._effective_message.chat.id message_id = msg._effective_message.message_id bot.delete_message(chat_id,message_id) updater = Updater(token='API TOKEN') dispatcher = updater.dispatcher filter_awesome = FilterAwesome() echo_handler = MessageHandler(filter_awesome,delete_message_safe) dispatcher.add_handler(echo_handler) updater.start_polling()
99% кода годовалой давности с гитхаба. И зачем? https://github.com/python-telegram-bot/python-telegram-bot
Софт уже немного изменился, добавились прокси(без них тоже работает). https://cdn.serafim.pw/index.php/s/o6xnBfYuceiZc1b/download
Не совсем программа, а пакет, полезен он только при анализе данных, зацепила меня эта тема немного, вот и упоролся) Алгоритм k-means+, распределение данных по группам и их визуализирование Golang https://github.com/krasov-rf/kmeans