ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

17.08.2009, 16:13
|
|
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
Провел на форуме: 2816163
Репутация:
158
|
|
спасибо.
Последний раз редактировалось fker; 18.08.2009 в 02:21..
|
|
|

17.08.2009, 17:06
|
|
Познающий
Регистрация: 05.06.2009
Сообщений: 41
Провел на форуме: 258796
Репутация:
72
|
|
Я видел, что некоторые приложения запускаются каким-то образом что на них не срабатывает OpenProcess. Как???
Процесс скрывает себя. Так часто ведут себя хорошие бэкдоры. Процесс есть, но информация от ядра обрабатывается и изменяется, и поэтому он становится невидимым.(Если ты об этом)
|
|
|

17.08.2009, 21:42
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
банальный хук в ядре на ZwOpenProcess
Код:
NTSTATUS NewZwOpenProcess (OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN PCLIENT_ID ClientId OPTIONAL)
{
HANDLE ProcessId;
if ((ULONG *)ClientId > MmUserProbeAddress) return STATUS_INVALID_PARAMETER;
__try
{
ProcessId = ClientId->UniqueProcess;
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
return STATUS_INVALID_PARAMETER;
}
if (ProcessId == ProtectedPid)
{
return STATUS_ACCESS_DENIED;
}
else
{
return TrueZwOpenProcess(ProcessHandle, DesiredAccess, ObjectAttributes, ClientId);
}
}
........................................
switch (*NtBuildNumber)
{
case 2195 : //win 2k
OpenProcId = 0x06A;
break;
case 2600 : //win xp
OpenProcId = 0x07A;
break;
default :
return STATUS_NOT_IMPLEMENTED;
break;
}
TrueZwOpenProcess = NTCALL(OpenProcId);
__asm
{
cli
mov eax, cr0
mov CR0Reg,eax
and eax,0xFFFEFFFF
mov cr0, eax
}
NTCALL(OpenProcId) = NewZwOpenProcess;
__asm
{
mov eax, CR0Reg
mov cr0, eax
sti
}
|
|
|

18.08.2009, 19:03
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
Почему сразу хук. Может человек привилегии не запросил для своего процесса. Деталей маловато в вопросе.
|
|
|

19.08.2009, 00:38
|
|
Постоянный
Регистрация: 29.09.2008
Сообщений: 553
Провел на форуме: 2584134
Репутация:
519
|
|
Привет всем, подскажите, как работать с большими числами в С++ ?
Нажно чтото типа:
...
int i = 1;
while(i<=10000000000000000000000000000000000000000 0000000000000000000000000000000000000000)
{
++i;
cout<<i;
}
...
Но увы инт принимает только 20 цыфр, как быть?
|
|
|

19.08.2009, 01:00
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
ищи тут
Первый же поиск в вики дал такое...
http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic#Libraries
Последний раз редактировалось Ra$cal; 19.08.2009 в 01:07..
|
|
|

19.08.2009, 01:36
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Смотри класс BigInt
|
|
|

19.08.2009, 07:49
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
почему нельзя присоединить к объекту класса string - цифру?
PHP код:
int n = 5;
string str = "test";
str.append(n);
cout << str;
|
|
|

19.08.2009, 08:57
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
Провел на форуме: 2823587
Репутация:
106
|
|
PHP код:
string& append ( const string& str );
Appends a copy of str.
string& append ( const string& str, size_t pos, size_t n );
Appends a copy of a substring of str. The substring is the portion of str that begins at the character position pos and takes up to n characters (it takes less than n if the end of string is reached before).
If the position passed is past the end of str, an out_of_range exception is thrown.
string& append ( const char * s, size_t n );
Appends a copy of the string formed by the first n characters in the array of characters pointed by s.
string& append ( const char * s );
Appends a copy of the string formed by the null-terminated character sequence (C string) pointed by s. The length of this character sequence is determined by the first ocurrence of a null character (as determined by traits.length(s)).
string& append ( size_t n, char c );
Appends a string formed by the repetition n times of character c.
Потому и нельзя
PHP код:
int n = 5;
string str = "test";
str.append((char *)n);
cout << str;
если только так и это уже будет не число. или так
PHP код:
int n = 5;
char f[5];
string str = "test";
itoa(n,f,10);
str.append(f);
cout << str;
Последний раз редактировалось St0nX; 19.08.2009 в 13:14..
|
|
|

19.08.2009, 10:15
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
так не получается, пробовал
ещё вопрос:
PHP код:
descr = new char[100];
strcpy(descr, "std");
if(descr == "std")
...
условие не срабатывает
как сравнить выделенную память со строкой?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|