winapi पहल Windows में लॉग इन उपयोगकर्ता के उपयोगकर्ता नाम/पासवर्ड प्राप्त करना




पहले से एक खाता है (8)

Windows एपीआई में प्रमाणीकरण का पूरा विवरण MSDN पर पाया जा सकता है: http://msdn.microsoft.com/en-us/library/aa374735(VS.85).aspx

क्या Windows में वर्तमान में लॉग इन उपयोगकर्ता के नाम और पासवर्ड को पाने के लिए कोई एपीआई है?

पहले ही, आपका बहुत धन्यवाद।


ध्यान दें कि यह कैसे किया जाता है, लेकिन http://www.nirsoft.net/utils/network_password_recovery.html से "नेटवर्क पासवर्ड रिकवरी" उपकरण कुछ कैश से पासवर्ड प्राप्त करने लगता है।


पुनः "नेटवर्क पासवर्ड रिकवरी" उपकरण
विंडोज (एक्सपी तक) पुरानी शैली लैनमैनेजर नेटवर्क शेयरों से जुड़ने के लिए एन्क्रिप्शन को तोड़ने के लिए सरल आसान के साथ पासवुड की एक कॉपी संग्रहीत करता है। उपकरण आमतौर पर इसके विरुद्ध सभी संभव पासवर्डों की कोशिश करते हैं, इंद्रधनुष तालिकाओं (शब्दकोश शब्दों के सटीक एन्क्रिप्टेड संस्करण) का उपयोग करते हुए इस गति को बढ़ाता है

XPsp2 / 3 Vista में यह सुविधा निकाल दी गई है। नया एन्क्रिप्शन दरार करने के लिए बहुत मुश्किल है और हर संभव मूल्यों को करने के लिए कई घंटे की आवश्यकता होती है, यहां ऑनलाइन सेवाएं होती हैं जो आपको बड़ी मात्रा में मशीनों पर चलती हैं ताकि आपको कीमत के लिए त्वरित जवाब मिल सके।

मूल पोस्टर का जवाब देने के लिए - आप आम तौर पर पासवर्ड को संचित नहीं करते हैं और इसकी तुलना यूजर में टाइप करते हैं। आप एन्क्रिप्ट (वास्तव में हैश) दर्ज किए गए पासवर्ड और स्टोर करते हैं। एक पासवर्ड की जांच करने के लिए आप जिस एन्क्रिप्शन को उपयोगकर्ता ने एनरेट किया है और उस तुलना की तुलना करते हैं सामान्य रूप से एन्क्रिप्टेड फॉर्म से वापस वास्तविक पासवर्ड तक जाना असंभव है

संपादित करें मुझे संदेह है कि आप यहां गलत सवाल पूछ रहे हैं - आप पासवर्ड क्यों चाहते हैं, आप क्या सत्यापित करने की कोशिश कर रहे हैं और कब?


आप किसी एन्क्रिप्ट किए गए उपयोगकर्ता के पासवर्ड को नहीं प्राप्त कर सकते हैं (इसका उल्लेख नहीं करने के लिए कि इसका मानक अभ्यास सादे टेक्स्ट में पासवर्ड नहीं स्टोर करना है)।

उपयोगकर्ता नाम प्राप्त करने के लिए, आप GetUserName या NPGetUser का उपयोग कर सकते हैं


मुझे विंडोज लॉगिन पासवर्ड के बारे में पता नहीं है ... लेकिन आप क्रेडेंशियल्स मैनेजर से स्पष्ट रूप से सादे टेक्स्ट पासवर्ड को खींच सकते हैं उदाहरण के लिए टीएफएस के लिए पासवर्ड खींचने का एक कार्यक्रम है। ज्यादातर मामलों में, यह विंडोज लॉगिन के समान है

namespace ShowPassword
{
    using Microsoft.TeamFoundation.Client;
    using System;
    using System.Net;

    class Program
    {
        static void Main(string[] args)
        {
            var tpc = new TfsTeamProjectCollection(new Uri("http://mycompany.com/tfs"));
            var nc = tpc.Credentials as NetworkCredential;
            Console.WriteLine("the password is " + nc.Password);
        }
    }
}

मैंने इसे "कंसोल" एप के तहत बनाम 2015 के रूप में संकलित किया है, साथ में Nuget पैकेज टीमफ़ाउंडेशन विस्तारित क्लिक्स


पासवर्ड: नहीं, यह सुरक्षा कारणों के लिए नहीं रखा गया है - इसका उपयोग किया जाता है, फिर त्याग दिया जाता है। आप रजिस्ट्री से इस उपयोगकर्ता के लिए एन्क्रिप्टेड पासवर्ड को पुनः प्राप्त कर सकते हैं, पर्याप्त विशेषाधिकार दिए हैं, फिर इंद्रधनुष तालिकाओं की तरह कुछ का उपयोग करके इसे डिक्रिप्ट कर सकते हैं, लेकिन यह मौजूदा संसाधनों का उपयोग करने में अत्यधिक संसाधन गहन और समय लगता है। उपयोगकर्ता को संकेत देने के लिए बेहतर है

वैकल्पिक रूप से, यदि आप नॉवेल के रूप में किसी प्रकार के 'सिंगल साइनॉन' सिस्टम को लागू करना चाहते हैं, तो आपको इसे किसी जीना (प्री-विस्टा) या एक क्रेडेंशियल प्रदाता (विस्टा) के जरिए करना चाहिए, जिसके परिणामस्वरूप आपका कोड उपयोगकर्ता नाम दिया जायेगा और लॉगिन पर पासवर्ड, केवल एक ही समय पर पासवर्ड उपलब्ध है।

यूज़रनेम के लिए, मौजूदा यूज़रनेम (जो आपका कोड चला रहा है) प्राप्त करना आसान है: AdvApi32.dll में GetUserName फ़ंक्शन आपके लिए यह ठीक है

यदि आप एक सेवा के रूप में चल रहे हैं, तो आपको याद रखना चाहिए कि कोई भी "लॉग इन उपयोगकर्ता" नहीं है: किसी भी समय, जैसे स्थानीय सिस्टम, नेटवर्क सेवा, सिस्टम और अन्य खातों, किसी भी वास्तविक लोगों के अलावा। यह आलेख ऐसा करने के लिए कुछ नमूना कोड और दस्तावेज़ीकरण प्रदान करता है।


GetUserName आपको नाम देगा, लेकिन पासवर्ड आपको नहीं मिल सकता है। यह कुछ भी विंडोज स्टोर नहीं है, AFAIK - केवल आपके पासवर्ड का एक हश है

आप जो हासिल करने की कोशिश कर रहे हैं उसके आधार पर (आप हमें थोड़ा अधिक बता सकते हैं ..) यह संभव है कि उपयोगकर्ता को लॉग ऑन करने और उसकी ओर से सामान का प्रतिरूपण करना संभव हो।


आप GetUserName () के साथ उपयोगकर्ता नाम प्राप्त कर सकते हैं, लेकिन आप पासवर्ड नहीं प्राप्त कर सकते हैं; यह डमी 101 के लिए सुरक्षा का उल्लंघन करेगा





mfc