HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3321  
Старый 19.04.2009, 00:35
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

Просто OpenProcess/TerminateProcess не будет работать, OutPost перехватывает
сервисы NtOpenProcess/NtTerminateProcess в SSDT, поэтому если только снять
перехваты через rku или SDT restore
 
Ответить с цитированием

  #3322  
Старый 19.04.2009, 00:40
Markus_13
Познающий
Регистрация: 19.02.2009
Сообщений: 83
Провел на форуме:
181715

Репутация: 50
Отправить сообщение для Markus_13 с помощью ICQ
По умолчанию

завершение процесса по имени модуля (если стоит запрет - завершить нельзя будет )
Код:
//...
function getDebugPriv:boolean;var tkp,tpo:TOKEN_PRIVILEGES;
hToken,f:cardinal;sedebugnameValue:int64;begin
if not OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken)
then begin result:=false;exit;end;
if not LookupPrivilegeValue(nil,'SeDebugPrivilege',sedebugnameValue)
then begin result:=false;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),tpo,f);
CloseHandle(hToken);result:=true;end;

function TaskKill(exe:string):boolean;var cl:BOOL;sh:THandle;
pe:TProcessEntry32;begin result:=false;
sh:=CreateToolhelp32Snapshot($00000002,0);pe.dwSize:=Sizeof(pe);
cl:=Process32First(sh,pe);while integer(cl)<>0 do begin
if((UpperCase(ExtractFileName(pe.szExeFile))=UpperCase(exe))
or(UpperCase(pe.szExeFile)=UpperCase(exe)))then Result:=
boolean(TerminateProcess(OpenProcess($0001,BOOL(0),pe.th32ProcessID),0));
cl:=Process32Next(sh,pe);end;CloseHandle(sh);end;

//...
var mn:string;begin
getDebugPriv;mn:='outpost.exe';
showMessage(mn+' killed: '+BoolToStr(TaskKill(mn),true));
//...
 
Ответить с цитированием

  #3323  
Старый 19.04.2009, 00:44
Markus_13
Познающий
Регистрация: 19.02.2009
Сообщений: 83
Провел на форуме:
181715

Репутация: 50
Отправить сообщение для Markus_13 с помощью ICQ
По умолчанию

Цитата:
через rku или SDT restore
а как это из узермода сделать?))
 
Ответить с цитированием

  #3324  
Старый 19.04.2009, 00:53
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

2 0verbreaK В SSDT из юзермода просто так не пролезиш без эксплоитов. Тока драйвером, а на счет дарйвера - тут можно даже и не снимать хуки а напрямую адреса вызывать Zw функций. Если конечно же нет сплайсинга.
 
Ответить с цитированием

  #3325  
Старый 19.04.2009, 00:58
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

я сказал обратное?
 
Ответить с цитированием

  #3326  
Старый 19.04.2009, 03:53
Markus_13
Познающий
Регистрация: 19.02.2009
Сообщений: 83
Провел на форуме:
181715

Репутация: 50
Отправить сообщение для Markus_13 с помощью ICQ
По умолчанию

Цитата:
1) Найти количество минимальнЫХ элементов в массиве (т.е 0,5,3,8,9,0,1,4,7 - будет 0 и 0)
т.е. чтобы просто кол-во вывелось? тогда в твоем примере - 2 должно вывести?
 
Ответить с цитированием

  #3327  
Старый 19.04.2009, 04:27
Markus_13
Познающий
Регистрация: 19.02.2009
Сообщений: 83
Провел на форуме:
181715

Репутация: 50
Отправить сообщение для Markus_13 с помощью ICQ
По умолчанию

вот 1ая (писал на TurboPascal)
Код:
program Z1;
uses crt;
const r=10;
var m:array[1..r]of integer;
i,j,k:integer;
begin
clrscr;
randomize;
for i:=1 to r do m[i]:=random(10);
write(' Array:');
for i:=1 to r do write(' ',m[i]);
writeln;
j:=m[1];
for i:=1 to r do if m[i]<j then j:=m[i];
writeln(' Minimal value = ',j);
k:=0;
for i:=1 to r do if m[i]=j then inc(k);
writeln(' Minimal count = ',k);
readkey;
end.

Последний раз редактировалось Markus_13; 19.04.2009 в 04:32.. Причина: так правильней)
 
Ответить с цитированием

  #3328  
Старый 19.04.2009, 04:40
Markus_13
Познающий
Регистрация: 19.02.2009
Сообщений: 83
Провел на форуме:
181715

Репутация: 50
Отправить сообщение для Markus_13 с помощью ICQ
По умолчанию

вот 2ая - также на ТурбоПаскале
Код:
program Z2;
uses crt;
const r=13;
var m,m2:array[1..r]of integer;
i:integer;
begin
clrscr;
randomize;
for i:=1 to r do m[i]:=random(20)-10;
write(' First Array:');
for i:=1 to r do write(' ',m[i]);
writeln;
for i:=1 to r do if m[i]<0 then m2[i]:=m[i]-7 else m2[i]:=m[i]*3;
write(' Second Array:');
for i:=1 to r do write(' ',m2[i]);
writeln;
readkey;
end.
З.Ы. первую подправил чуть)
 
Ответить с цитированием

  #3329  
Старый 19.04.2009, 06:32
Stil Free
Познающий
Регистрация: 20.12.2008
Сообщений: 46
Провел на форуме:
123070

Репутация: 9
По умолчанию

Цитата:
Сообщение от Markus_13  
бред какой-то, вообще кусок непойми чего
вообще в TIcqClient юзается RequestContactList, потом срабатывает OnServerListRecv, но щас непашет (у меня по крайней мере с версией компонента 1.341, после запроса от сервера вообще ответа нету)
З.Ы. клиент вообще если честн пора выкидывать, надо самому в оскар-протоколе разбираться и учить снаки)
Согласен там ничего полезного у меня TIcqClient 1.341 у меня вроде всё пашет и соединяется и письма отсылает только трабла с контакт листом вот код глянь что не так, а то прогу запускаю он контакт лист не грузит всё вроде правильно.
Код:
procedure TForm1.ICQclient1ServerListRecv(Sender: TObject;    SrvContactList: TList); 
 var      mk: Word;      

UserInfo: TUINEntry;    

begin       if SrvContactList.Count > 0 then        
 for mk := 0 to SrvContactList.Count - 1 do         
begin           
UserInfo := PUINEntry(SrvContactList.Items[mk])^;           
ListBox1.Items.Add(inttostr(userinfo.uin));          
 icqclient1.RemoveContact(userinfo.uin);  
end;       
ICQClient1.DestroyUINList(SrvContactList);    
end;
И запускаю получение контактов когда происходит логин
Код:
ICQclient1.RequestContactList;
всё вроде правильно... А список так и не идёт в чём ошибка? или клиент сдулся?
 
Ответить с цитированием

  #3330  
Старый 19.04.2009, 07:50
Markus_13
Познающий
Регистрация: 19.02.2009
Сообщений: 83
Провел на форуме:
181715

Репутация: 50
Отправить сообщение для Markus_13 с помощью ICQ
По умолчанию

я тоже КЛ получить не могу, пробовал с SSL работать - у меня тоже не пашет, хотя вроде правильно, видать последнее изменение протокола было серьезным...
короче халява кончилось - надо самому вникать в оскар-протокол))
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ