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

24.09.2009, 18:10
|
|
Участник форума
Регистрация: 26.04.2009
Сообщений: 146
Провел на форуме: 468682
Репутация:
68
|
|
Mitnick17, а тебе, что нужно? "не встроенные программы", это программы, находящиеся в директориях которые прописаны в path(набрать в path в cmd).
>>%windir%/help/ntcmds.chm нужно в cmd набрать?
провести столь безабидный эксперемент быстрее, чем написать сообщение на форум, ответ - да.
а вообще, зря ты тут спросил, оффтопик какбе. тему бы создал новую лучше... хотя поздно уже 
|
|
|

24.09.2009, 20:40
|
|
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме: 233095
Репутация:
21
|
|
Вот столкнулся с такой проблемкой:
Мне нужно вычитать область памяти, адрес которой известен(hex). Сразу в голове построился процесс написания программы и что буду использовать. Сразу решил использовать указатели. Но вот проблема - при вводе в консоль адреса ячейки, которым нужно инициализировать указатель, чет не то происходит - адрес присваивается, но значение не вычитывается(то есть не правильное ).
1. В какой тип переменной можно записать hex, а потом его использовать для инициализации указателя?(с интом чаром чет не вышло)
2. Мне нужно вычитать к примеру 50 адресов, идущих после известного. Инкримент указателя для этого подойдет?
Смотрю, чет никто не отвечает. Вот к приведу пример как я делал:
Код:
void main()
{
int a = 19;
cout << "a = " << a << "\n&a = " << &a << endl;
}
это код в одной проге. Я ее запускаю и вижу адрес переменной а в памяти.
Далее я запускаю другую прогу, с кодом
Код:
void main()
{
int *a = (int*)0x0012FF60; //адрес переменной из 1-й проги
cout << "a = " << a << "\n*a = " << *a << endl;
}
Видно что адрес в указателе сменился, а вот доступиться к значению не могу по нормальному(((
А вообще нужно чтоб адрес был введен пользователем к примеру так:
Код:
char addr[10];
cin >> addr; // сюда вводится адрес из первой проги
char *mem = (char*) addr;
Подскажите плз, а то моск уже кипит от количеста перепробованных вариантов(((
Последний раз редактировалось horlyk; 25.09.2009 в 00:04..
|
|
|

25.09.2009, 00:02
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
2horlyk
1. память я надеюсь своего процесса? Если нет то читать из чужого ReadProcessMemory MSDN
Если из своего, то просто по указателю. Чтото типа этого.
int foo;
int bar;
foo = 0xXXXXXXXX;
bar = *((int *)foo);
для foo можно использовать любой тип, главное чтобы он был 4-x байтным.
Если в следующий раз будет что-то не получатся - покажи код!
2. Да, но следи, чтобы указатель не вылетал за пределы выделенной памяти, а то схватишь access violation.
|
|
|

25.09.2009, 00:14
|
|
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме: 233095
Репутация:
21
|
|
Сообщение от Hiro Protagonist
2horlyk
1. память я надеюсь своего процесса? Если нет то читать из чужого ReadProcessMemory MSDN
Да, именно в другом процессе. Так то оно выходит. Можно плз пример использования той ф-и, что ты мне дал в ссылке, а то я чет там ниче не понял.
|
|
|

25.09.2009, 00:26
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
2horlyk
Небольшой ликбез. В винде каждый процесс имеет свое изолированное адресное пространство, напрямую недоступное из другого процесса. Чтобы прочитать из другого процесса необходимо получить описатель объекта ядра типа процесс, связанного с другим процессом. Для этого нужно воспользоваться функцией OpenProcess (если конечно мы сами его не создавали, тк CreateProcess в структуре PROCESS_INFORMATION вернет описатели созданного процесса и его первичного потока).
HANDLE hProc;
hProc = OpenProcess(PROCESS_VM_READ, NULL, PID);
где PID - идентификатор процесса. Обрати внимание что перед этим необходимо установить привелегию seDebugPrivilege иначе читать нельзя будет, об этом читай здесь.
далее используешь этот описатель в ReadProcessMemory:
ReadProcessMemory(hProc, lpBaseAddress, ...);
где lpBaseAddress - указатель на данные в удаленном потоке (тот самый foo в примере выше). Остальные параметры должны быть понятны.
|
|
|

25.09.2009, 00:33
|
|
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме: 233095
Репутация:
21
|
|
Hiro Protagonist, спасибо, буду пробовать.
|
|
|

25.09.2009, 10:11
|
|
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме: 262809
Репутация:
21
|
|
Столкнулся с проблемой.
Нужно прочитать из файла массив целочисленных переменных, как это можно реализовать.
файл вида
12 54 65 43 23
23 54 32 65 63
и т.д.
числа разделенны пробелом.
Спасибо.
|
|
|

25.09.2009, 10:17
|
|
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме: 1284900
Репутация:
399
|
|
Сообщение от Gin
Столкнулся с проблемой.
Нужно прочитать из файла массив целочисленных переменных, как это можно реализовать.
файл вида
12 54 65 43 23
23 54 32 65 63
и т.д.
числа разделенны пробелом.
Спасибо.
Здесь нужно уточнить, что в итоге должно получиться:
одномерный массив со всеми числами, или двумерный...
|
|
|

25.09.2009, 10:28
|
|
Познающий
Регистрация: 29.01.2008
Сообщений: 82
Провел на форуме: 373690
Репутация:
88
|
|
Как проверять валидность хттп и сокс прокси?
|
|
|

25.09.2009, 10:33
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
в зависимости от ситуации и способа использования. Очень удобное делать так:
сначала пингуеш его - чтобы отсеять те которые в офлайне компы.
А потом короткий тестовый запрос на крутой ресурс. хотябы на главную страницу гугля. ну или на свой гейт который даст ответ. И тогда ты можеш смотреть как именно пашет прокси. Но чаще всего хватает уже пинга
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|