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

04.04.2009, 18:05
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
Сообщение от _nic
Я правильно понял что если RegDeleteKey возвращяет вместо ноля 6 ,то это значит что HKEY кривой?
"При ошибке, возвращаемое значение – это код ошибки, объявленный в WINERROR.H."
.....
|
|
|

06.04.2009, 21:45
|
|
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
Провел на форуме: 505362
Репутация:
66
|
|
Подскажите пожалуйста, можно ли обращатся напрямую к оперативной памяти других программ или самой ОС или это можно только через ассемблер? Пример - программа для тестирования всей ОП компа.
|
|
|

06.04.2009, 22:01
|
|
Участник форума
Регистрация: 20.02.2009
Сообщений: 224
Провел на форуме: 5075819
Репутация:
274
|
|
Рихтер, тебе в помощь... там целая глава, по поводу твоего вопроса!!
|
|
|

06.04.2009, 22:04
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Подскажите где тут ошибка
Код:
HANDLE hh;
hh=HeapCreate(0,0x01000,(1024*1024)*50);
if(hh==NULL){MessageBox(0,"!","!",MB_OK);}
char *buf=(char*)HeapAlloc(hh,0,1024*1024);
if(buf==NULL){MessageBox(0,"!","!",MB_OK);}//вовращяет NULL :(
strcpy(buf,"sdjbksadbvkjlbsdkvljbsdkjbvkjsdabvkjasdbkvjbasdkjvbsakjbvkjslb");
MessageBox(0,buf,"!",MB_OK);
HeapFree(hh,0,&buf);
HeapDestroy(hh);
ЗЫ:GetLastError возвращяет 0 
Последний раз редактировалось _nic; 06.04.2009 в 22:10..
|
|
|

06.04.2009, 22:18
|
|
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
Провел на форуме: 505362
Репутация:
66
|
|
еще такой вопрос по памяти: хочу сделать обработку исключений следующим способом:
Код:
#include <iostream>
using namespace std;
main()
{
char * a;
for (int x = 0; x<1000; x++)
{
a = new char[10000000];
if (a == NULL)
{
cout << "Error allocating memory\n";
return 0;
}
else
{
cout << x << ")" << "memory allocated successfully\n";
}
}
return 0;
}
но при превышении лимита выделяемой памяти пишет в консоли не мое сообщение а вот что:
Код:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted
запускал в bash'e никсов. Как я понимаю это ограничение на уровне самой ОС и его нельзя обойти? :-/
Последний раз редактировалось awdrg; 06.04.2009 в 22:25..
|
|
|

06.04.2009, 22:31
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
Сообщение от _nic
Подскажите где тут ошибка
может дело в
Сообщение от msdn
If the heap specified by the hHeap parameter is a "non-growable" heap, dwBytes must be less than 0x7FFF8.
это для HeapAlloc
|
|
|

06.04.2009, 22:41
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
Сообщение от awdrg
Код:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted
это вроде сообщение о переполнении стека...
и где, собсна, перехват(try/catch)? 
|
|
|

06.04.2009, 22:53
|
|
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
Провел на форуме: 505362
Репутация:
66
|
|
в учебнике написано, что если оператор NEW не может присвоить адрес для памяти массиву то он помещает в него значение NULL. Ну в моем коде я сверял его и использовал ветвление  По идее, все должно работать. Но не работает.
|
|
|

06.04.2009, 23:44
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
awdrg, переполнение стэка, юзай оператор static
|
|
|

07.04.2009, 01:31
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
2awdrg при переполнении оператор new выкидует исключение bad_alloc, вот его и отлавлюй
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|