информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[C++] Куча сэнксов! 20.10.01 22:15  Число просмотров: 1005
Автор: Newer Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<programming>
[C++] Звонилка, блин! 19.10.01 22:21  
Автор: Newer Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Помогите! Облазил почти всю MSDN но не нашел ничего дельного по поводу того, как можно в Win95/98 программно получить установки для дозвона к Dial-Up провайдерам. Я имею в виду Login и Password. Ничего не нашел по поводу Параметров Дозвона (Dialing Properties), т.е. Pulse/Tone. Хотел быстренько написать звонилку, а оказалась быстренько не удается. Добывать данные через функции реестра как-то не элегантно, да и по поводу Password я там ничего не нашел. Говорят есть какой-то кэш в Windows, где хранятся пароли и логины, может кто знает? Но ведь как-то Windows помнит об этих установках, блин!
[C++] Держи 19.10.01 22:51  
Автор: Tamas Статус: Member
<"чистая" ссылка>
#include <windows.h>
#include <stdio.h>

typedef struct tagPASSWORD_CACHE_ENTRY {
WORD cbEntry; // size of this entry, in bytes
WORD cbResource; // size of resource name, in bytes
WORD cbPassword; // size of password, in bytes
BYTE iEntry; // entry index
BYTE nType; // type of entry
BYTE abResource[1]; // start of resource name
// password immediately follows resource name
} PASSWORD_CACHE_ENTRY;

char *buf, *ob1;

BOOL CALLBACK pce(PASSWORD_CACHE_ENTRY *x, DWORD)
{
memmove(buf, x->abResource, x->cbResource);
buf[x->cbResource] = 0;
CharToOem(buf, ob1);
printf("%-30s : ", ob1);

memmove(buf, x->abResource+x->cbResource, x->cbPassword);
buf[x->cbPassword] = 0;
CharToOem(buf, ob1);
printf("%s\n", ob1);

return TRUE;
}

int main()
{
buf = new char[1024];
ob1 = new char[1024];
puts("No security in this crazy world!\n"
"Win95 PWL viewer (c) 1997 Vitas Ramanchauskas\n"
"http://webdon.com, e-mail: vitas@webdon.com vitas@rocketmail.com, ICQ:3024702\n\n"
*********\n"
"!DISCLAIMER!\n"
"!This program intended to be used for legal purpose only!\n"
*********\n\nPress Enter to begin...\n");
getchar();

HINSTANCE hi = LoadLibrary("mpr.dll");
if(!hi)
{
puts("Couldn't load mpr.dll");
return -1;
}
WORD (__stdcall *enp)(LPSTR, WORD, BYTE, void*, DWORD) =
(WORD (__stdcall *)(LPSTR, WORD, BYTE, void*, DWORD))GetProcAddress(hi, "WNetEnumCachedPasswords");
if(!enp)
{
puts("Couldn't import function");
return -1;
}
(*enp)(0,0, 0xff, pce, 0);
FreeLibrary(hi);

return 0;
}
[C++] Куча сэнксов! 20.10.01 22:15  
Автор: Newer Статус: Незарегистрированный пользователь
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach