[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. blednii

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

    Joined:
    12 Jun 2007
    Messages:
    160
    Likes Received:
    23
    Reputations:
    -7
    Ребята, подскажите как сделать вкладки в программе, приблизительно такие как во всех настройках (маленькая кнопочка с названием на которую когда нажимаешь появляеться в том же окне другая информация).

    Вот PageControl вроде называеться, но как с ней работать, покажите пожалуйста на простом примере.
     
    1 person likes this.
  2. Maxxxtri23

    Maxxxtri23 New Member

    Joined:
    20 Dec 2008
    Messages:
    76
    Likes Received:
    1
    Reputations:
    0
    Есть у кого исходники _http://www.xakep.ru/post/27185/default.asp а именно _http://www.xakep.ru/post/27185/source.zip
     
  3. Scripter

    Scripter Member

    Joined:
    3 Sep 2008
    Messages:
    141
    Likes Received:
    95
    Reputations:
    6
    http://www.beluch.ru/progr/100comp/7_3.htm

    http://yandex.ru/yandsearch?rpt=rad&text=PageControl
     
    1 person likes this.
  4. _GlaD1aT(OR)_

    _GlaD1aT(OR)_ Elder - Старейшина

    Joined:
    24 Jul 2008
    Messages:
    38
    Likes Received:
    15
    Reputations:
    0
    Подскажите пожалуйста две процедуры:
    1. Какой код надо написать, что-бы при нажатии на кнопку программа сворачивалась.
    2. На форме есть ListBox (C 2я столбцами) и Edit, как сделать так, что-бы при нажатии на 1ую строку, на Edit'e было написано тоже самое, а при нажатии на 2ую строку, на Edit'e было написано тоже, что и на второй строке сообветственно
    Заранее большое спасибо
     
  5. МongBa†

    МongBa† Member

    Joined:
    12 May 2009
    Messages:
    66
    Likes Received:
    12
    Reputations:
    0
    1. По идее WindowState:=wsMinimized; , но работает немного не корректно...
    2. По событию OnClick на ЛистБоксе: Edit.Text:=ListBox.Items.Strings[ListBox.ItemIndex];
     
    2 people like this.
  6. Nullsleep

    Nullsleep Member

    Joined:
    2 Jun 2009
    Messages:
    67
    Likes Received:
    26
    Reputations:
    0
    МongBa†, я бы на твоем месте лучше гуглил протокол RDP и делал свой клиент. Это и быстрее (в плане перебора), и извращения с окошками не нужны.
    Кстати на античате уже поднималась такая тема:
    http://forum.antichat.ru/showthread.php?p=1106632
     
    #3606 Nullsleep, 9 Jun 2009
    Last edited: 9 Jun 2009
    1 person likes this.
  7. WiPztin

    WiPztin New Member

    Joined:
    21 Mar 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    -6
    file not found(graph.tpu)
    выложите кто нибудь graph.tpu...очень надо((((((((
    или подскажите как избавиться от этой ошибки
     
    #3607 WiPztin, 9 Jun 2009
    Last edited: 9 Jun 2009
  8. intNet

    intNet Member

    Joined:
    31 May 2009
    Messages:
    29
    Likes Received:
    14
    Reputations:
    5
    Скачать файл UNITS.rar
    Разархивируешь, дальше идёшь в options -> directories и выбираешь путь к этой папке.
     
  9. Maxxxtri23

    Maxxxtri23 New Member

    Joined:
    20 Dec 2008
    Messages:
    76
    Likes Received:
    1
    Reputations:
    0
    1)Как узнать запущен ли процесс зная его путь?
    2)Как убить процесс зная его путь?
     
  10. zeppe1in

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

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    зная имя фаила.
    1) получить пид, если =0 то процесс не запущен.
    pid:=GetProcessId('process.exe');
    2) вот такую процедуру я нашол
    ProcessTerminate(pid);

    Code:
    function ProcessTerminate(dwPID:Cardinal):Boolean;
    var
     hToken:THandle;
     SeDebugNameValue:Int64;
     tkp:TOKEN_PRIVILEGES;
     ReturnLength:Cardinal;
     hProcess:THandle;
    begin
     Result:=false;
     // Добавляем привилегию SeDebugPrivilege 
     // Для начала получаем токен нашего процесса
     if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES
      or TOKEN_QUERY, hToken ) then
        exit;
    
     // Получаем LUID привилегии
     if not LookupPrivilegeValue( nil, 'SeDebugPrivilege', SeDebugNameValue ) 
      then begin
       CloseHandle(hToken);
       exit; 
      end;
    
     tkp.PrivilegeCount:= 1;
     tkp.Privileges[0].Luid := SeDebugNameValue;
     tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
    
     // Добавляем привилегию к нашему процессу
     AdjustTokenPrivileges(hToken,false,tkp,SizeOf(tkp),tkp,ReturnLength);
     if GetLastError()<> ERROR_SUCCESS  then exit;
    
     // Завершаем процесс. Если у нас есть SeDebugPrivilege, то мы можем
     // завершить и системный процесс
     // Получаем дескриптор процесса для его завершения
     hProcess := OpenProcess(PROCESS_TERMINATE, FALSE, dwPID);
     if hProcess =0  then exit;
      // Завершаем процесс
       if not TerminateProcess(hProcess, DWORD(-1))
        then exit;
     CloseHandle( hProcess );
     
     // Удаляем привилегию 
     tkp.Privileges[0].Attributes := 0; 
     AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(tkp), tkp, ReturnLength);
     if GetLastError() <>  ERROR_SUCCESS
      then exit;
     
     Result:=true; 
    end;
     
    1 person likes this.
  11. Maxxxtri23

    Maxxxtri23 New Member

    Joined:
    20 Dec 2008
    Messages:
    76
    Likes Received:
    1
    Reputations:
    0
    Немного не то, мне нужно именно по пути, потомучто много процессов с одинаковым именем, и завершить надо не все, а именно который лежит по определенному пути
     
  12. Nullsleep

    Nullsleep Member

    Joined:
    2 Jun 2009
    Messages:
    67
    Likes Received:
    26
    Reputations:
    0
    Code:
    procedure TaskKill(FileName: string);
    var
      wh: Bool;
      sp, sm, th: THandle;
      pe: TProcessEntry32;
      me: TModuleEntry32;
      seid: Int64;
      tp: TOKEN_PRIVILEGES;
      rl: Cardinal;
    begin
      //получаем debug-привелегию
      OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or
        TOKEN_QUERY, th);
      LookupPrivilegeValue(nil, 'SeDebugPrivilege', seid);
      with tp do
      begin
        PrivilegeCount := 1;
        Privileges[0].Luid := seid;
        Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
      end;
      AdjustTokenPrivileges(th, False, tp, SizeOf(tp), tp, rl);
    
      //создаем снапшот
      sp := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
      pe.dwSize := SizeOf(pe);
      wh := Process32First(sp, pe);
      //пробегаемся циклом по всем процессам и убиваем FileName при совпадении
      while wh <> False do
      begin
        sm := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pe.th32ProcessID);
        me.dwSize := SizeOf(me);
        Module32First(sm, me);
        if LowerCase(me.szExePath) = LowerCase(FileName) then
          TerminateProcess(OpenProcess($0001, False, pe.th32ProcessID), 0);
        CloseHandle(sm);
        wh := Process32Next(sp, pe);
      end;
      CloseHandle(sp);
      tp.Privileges[0].Attributes := 0;
      AdjustTokenPrivileges(th, False, tp, SizeOf(tp), tp, rl);
    end;
    
    В FileName указываем полный путь до файла.
    Кстати, если кому интересно, можно получить список процессов с их полными путями:
    - меняем procedure TaskKill(FileName: string); на procedure TaskList(Lines: TStrings);
    - вместо if LowerCase(me.szExePath) = LowerCase(FileName) then TerminateProcess(OpenProcess($0001, False, pe.th32ProcessID), 0); пишем Lines.Add(me.szExePath);
    - бросаем на форму Memo1 и вызываем TaskList(Memo1.Lines);
     
    #3612 Nullsleep, 11 Jun 2009
    Last edited: 13 Jun 2009
    1 person likes this.
  13. iGlass

    iGlass New Member

    Joined:
    14 May 2009
    Messages:
    86
    Likes Received:
    1
    Reputations:
    0
    Всем доброго времени суток =)

    У меня есть программа.. Что то типо управление трояном.. Но не хватает мозга реализовать такую фичу : Когда я включил программу то в лист боксе у меня долны появится ип компьютеров на которых есть мой троян..

    Как это реализовать ?

    Заранее спасибо!
     
  14. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Пускай зараженые компы стучатся к тебе на указаный порт
     
  15. Nullsleep

    Nullsleep Member

    Joined:
    2 Jun 2009
    Messages:
    67
    Likes Received:
    26
    Reputations:
    0
    Лучше пусть они стучатся на чужой комп (за которым гарантированно ламер), а то так засветишься в первый же день. ;) А уже этот комп пусть отсылает айпишники зараженных компов на твой сервер
     
    #3615 Nullsleep, 13 Jun 2009
    Last edited: 13 Jun 2009
  16. iGlass

    iGlass New Member

    Joined:
    14 May 2009
    Messages:
    86
    Likes Received:
    1
    Reputations:
    0
    Спасибо =) Попробую замутить =)
    P.S Пожалуй лучший форум в инете где можно быстро получить адекватные ответы ! =)
     
  17. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    В компоненте TICQCLIent нужно установить статус номера в то время, когда UIN находится в онлайне.
    ICQCLient1.Status(S_ONLINE);
    Не подходит =/
    Вот такая вот ботва =/
     
  18. grafer

    grafer Member

    Joined:
    3 Jun 2009
    Messages:
    0
    Likes Received:
    69
    Reputations:
    0
    Напиши в асю после 23:00 попробую помочь.
     
    8 people like this.
  19. ..::TROYAN::..

    ..::TROYAN::.. Elder - Старейшина

    Joined:
    22 May 2008
    Messages:
    90
    Likes Received:
    116
    Reputations:
    14
    пишу шас многопоточный брут но столкнулся с проблемой : при запуске потоков прога вылетает с ошибкой или начинает сильно лагать...хз может гдето туплю..кто писал уже много поточные бруты и т.п... стукните плз в аську:985940
     
    1 person likes this.
  20. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    .::f-duck::. проверь свойство LoggedIn, если вернёт FALSE, то беда в нём, ибо статус можно менять только после логина на сервере//
     
    1 person likes this.
Thread Status:
Not open for further replies.