Полезные программы (собственные)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by De-visible, 9 Jul 2008.

  1. ADeKBaT

    ADeKBaT Member

    Joined:
    21 Dec 2011
    Messages:
    1
    Likes Received:
    11
    Reputations:
    0
    Утила которая спасала меня миллион раз. Названа мной в 2013 CHECK DOMEN
    [​IMG]
    Суть проста: кушает домены и проходит по нужной вам директории и смотрит есть ли ваш текст на странице. И выдаёт список good.txt
    Естественно многопоток все дела. Сам пользовался в то время для проверки дле сайтов на форму обратной связи. Вариантов использования безлимит =)
    Кушает список вида:
    0-11.ru
    0-day.in
    0-web.ru
    03pc.biz
    Без http:// and / в конце
    Последнее поле количество потоков.

    Скачать: https://www.sendspace.com/file/yu931r
     
  2. vasykas

    vasykas Banned

    Joined:
    7 Mar 2011
    Messages:
    963
    Likes Received:
    137
    Reputations:
    37
    Прога для массовой рассылки почты с вложением и с подменой Mail (спамер).
    DEMO - В один поток.
    Удаляет дубликаты.
    [​IMG]

    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
     
    id01 likes this.
  3. Hydra13

    Hydra13 New Member

    Joined:
    22 Mar 2017
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    Решил побаловоться с камерой на qt. Появилась идея создать приложение для скрытой записи и/или удаленного просмотра онлайн. Будет ли кому интересна это программа? Так сказать ищу мотивации, т.к. если делаешь для кого-то, то работа продуктивной идёт.
     
    xenomat, qrsao and altblitz like this.
  4. id01

    id01 New Member

    Joined:
    12 Jul 2017
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Решил написать что-то на 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
     
    #164 id01, 7 Sep 2017
    Last edited: 7 Sep 2017
  5. John D

    John D New Member

    Joined:
    30 Sep 2017
    Messages:
    1
    Likes Received:
    2
    Reputations:
    0
    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)

    Сканируйте код и получите ценную информацию :p
    ____________________________________________
     
    madik and SeaFox like this.
  6. MrFacker

    MrFacker New Member

    Joined:
    24 Jul 2017
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Исполнение 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');
    }
    }
     
  7. MrFacker

    MrFacker New Member

    Joined:
    24 Jul 2017
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Исполнение 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');
    }
    }
     
  8. totenkopf

    totenkopf Elder - Старейшина

    Joined:
    19 Jul 2010
    Messages:
    92
    Likes Received:
    64
    Reputations:
    19
    #168 totenkopf, 16 Oct 2017
    Last edited: 16 Oct 2017
  9. AndiSs

    AndiSs New Member

    Joined:
    21 Oct 2017
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    Недавно написал программу для изучения инностранного языка, она показывает слово и перевод через определенный интервал.

    Для работы нужен текcтовик со словами.
    Пример текстовика:
    sneaky - подлый
    crafty - коварный
    hoof - копыто
    kidnap - похищать, украсть ребенка
    wig - парик
    cans - баллончик
    handsome - красивый, благообразный
    fragile - хрупкий, слабый, тонкий, недолговечный
    adversity - несчастье, напасти
    possess - обладать, овладевать
    increasingly - в большей степени
    intimidating - пугающий
    exciting - захватывающий
    sponge - губка, тампон
    ceaselessly - непрерывно
    despite - не смотря на
    digress - отвлекся
    solely - исключительно

    Можно настроить интервал показа, время показа и разделитель слов в текстовике.
    Так выглядит сама программа
    А так выглядит уведомление

    Писал чисто для себя но буду рад если кому-то она пригодится.
    Скачать
     
    Defcon likes this.
  10. qwaszx000

    qwaszx000 Member

    Joined:
    10 Feb 2018
    Messages:
    27
    Likes Received:
    14
    Reputations:
    7
    Нужно было быстро просканить порт, вот на ходу сделал сканер портов. Может кому нужен будет.
    #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");
    }
    }
    Правда немного некрасивый код, зато мне помог.
     
    to.Index likes this.
  11. SeaFox

    SeaFox New Member

    Joined:
    13 Oct 2017
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    RLO.py
    Недавно написал на Python скрипт который добавляет RLO символ в название необходимого файла.
    Инструкция выводится при запуске скрипта без параметров.
    Так же можно использовать его как модуль.

    Пример использования: rlo.py test.exe mp3
    По умолчанию расширение jpg (т.е. можно написать: rlo.py test.exe)

    Скачать скрипт ---> http://rgho.st/7XglN4HZl

    [​IMG]

    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)
     
    #171 SeaFox, 27 Feb 2018
    Last edited: 27 Feb 2018
  12. madik

    madik Member

    Joined:
    4 May 2017
    Messages:
    244
    Likes Received:
    93
    Reputations:
    6
    Перезалить можно?
     
  13. madik

    madik Member

    Joined:
    4 May 2017
    Messages:
    244
    Likes Received:
    93
    Reputations:
    6
    Перезалей
     
  14. SooLFaa

    SooLFaa Members of Antichat

    Joined:
    17 Mar 2014
    Messages:
    530
    Likes Received:
    499
    Reputations:
    154
    По работе скриптец накатал на коленке. Для выполнения команды на дофигища 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();
            }
        }
    }
    
     
    _________________________
  15. Mexel

    Mexel Member

    Joined:
    22 Nov 2016
    Messages:
    37
    Likes Received:
    39
    Reputations:
    3
    Простенький бот для телеги,удаляет уведомления у входе/выходе из чата.
    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()
    
     
  16. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    634
    Likes Received:
    246
    Reputations:
    42
  17. ADeKBaT

    ADeKBaT Member

    Joined:
    21 Dec 2011
    Messages:
    1
    Likes Received:
    11
    Reputations:
    0
    eminlayer7788 likes this.
  18. Mexel

    Mexel Member

    Joined:
    22 Nov 2016
    Messages:
    37
    Likes Received:
    39
    Reputations:
    3
    Не совсем программа, а пакет, полезен он только при анализе данных, зацепила меня эта тема немного, вот и упоролся)
    Алгоритм k-means+, распределение данных по группам и их визуализирование

    Golang

    https://github.com/krasov-rf/kmeans
     
    #178 Mexel, 16 Nov 2024
    Last edited: 16 Nov 2024
Loading...
Similar Threads - Полезные программы собственные
  1. Peja
    Replies:
    0
    Views:
    2,523