From 212adb101b0639d3f8dddcb3942854061d1abd08 Mon Sep 17 00:00:00 2001 From: Jason Hood Date: Sat, 13 Nov 2010 14:49:27 +1000 Subject: [PATCH] Fix for issues 1 & 2. --- ANSI-LLW.c | 16 ++++++++++++++++ ANSI.c | 37 +++++++++++++++++++------------------ ansicon.c | 19 ++++++++++++------- ansicon.rc | 8 ++++---- injdll.h | 4 ++-- injdll32.c | 28 +++++++++++++++------------- injdll64.c | 20 ++++++++++---------- makefile | 17 ++++++++++++----- readme.txt | 9 +++++++-- x64/ANSI-LLA.exe | Bin 10240 -> 0 bytes x64/ANSI32.dll | Bin 21504 -> 0 bytes x64/ANSI64.dll | Bin 25088 -> 0 bytes x64/ansicon.exe | Bin 23552 -> 0 bytes x86/ANSI32.dll | Bin 21504 -> 0 bytes x86/ansicon.exe | Bin 20480 -> 0 bytes 15 files changed, 97 insertions(+), 61 deletions(-) create mode 100644 ANSI-LLW.c delete mode 100644 x64/ANSI-LLA.exe delete mode 100644 x64/ANSI32.dll delete mode 100644 x64/ANSI64.dll delete mode 100644 x64/ansicon.exe delete mode 100644 x86/ANSI32.dll delete mode 100644 x86/ansicon.exe diff --git a/ANSI-LLW.c b/ANSI-LLW.c new file mode 100644 index 0000000..ed048b0 --- /dev/null +++ b/ANSI-LLW.c @@ -0,0 +1,16 @@ +/* + ANSI-LLW.c - Output the 32-bit address of LoadLibraryW. + + Jason Hood, 13 November, 2010 (LLA version 5 September, 2010). + + I don't know of a method to retrieve the 32-bit address of a function in + 64-bit code, so this is a simple workaround. +*/ + +#define WIN32_LEAN_AND_MEAN +#include + +int main( void ) +{ + return (DWORD)LoadLibraryW; +} diff --git a/ANSI.c b/ANSI.c index ee7265f..bb58a55 100644 --- a/ANSI.c +++ b/ANSI.c @@ -53,6 +53,9 @@ v1.30, 3 August to 7 September, 2010: x64 support. + + v1.31, 13 November, 2010: + fix multibyte conversion problems. */ #define UNICODE @@ -934,10 +937,10 @@ void Inject( LPPROCESS_INFORMATION pinfo, LPPROCESS_INFORMATION lpi, if (con) { - CHAR dll[MAX_PATH]; + WCHAR dll[MAX_PATH]; #ifdef _WIN64 - DWORD len = GetModuleFileNameA( GetModuleHandleA( "ANSI64.dll" ), - dll, sizeof(dll) ); + DWORD len = GetModuleFileName( GetModuleHandleA( "ANSI64.dll" ), + dll, lenof(dll) ); if (x86) { dll[len-6] = '3'; @@ -949,7 +952,7 @@ void Inject( LPPROCESS_INFORMATION pinfo, LPPROCESS_INFORMATION lpi, InjectDLL64( pinfo, dll ); } #else - GetModuleFileNameA( GetModuleHandleA( "ANSI32.dll" ), dll, sizeof(dll) ); + GetModuleFileName( GetModuleHandleA( "ANSI32.dll" ), dll, lenof(dll) ); InjectDLL32( pinfo, dll ); #endif } @@ -1091,28 +1094,26 @@ WINAPI MyWriteConsoleA( HANDLE hCon, LPCVOID lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved ) { - DWORD Mode; - #define BUF_SIZE 4096 - WCHAR buf[BUF_SIZE]; - DWORD len; - BOOL rc = TRUE; + DWORD Mode; + LPWSTR buf; + DWORD len; + BOOL rc = TRUE; // if we write in a console buffer with processed output if (GetConsoleMode( hCon, &Mode ) && (Mode & ENABLE_PROCESSED_OUTPUT)) { UINT cp = GetConsoleOutputCP(); DEBUGSTR( TEXT("\\WriteConsoleA: %lu \"%.*hs\""), nNumberOfCharsToWrite, nNumberOfCharsToWrite, lpBuffer ); - *lpNumberOfCharsWritten = 0; - while (nNumberOfCharsToWrite) + len = MultiByteToWideChar( cp, 0, lpBuffer, nNumberOfCharsToWrite, NULL, 0 ); + buf = malloc( len * sizeof(WCHAR) ); + if (buf == NULL) { - len = (nNumberOfCharsToWrite > BUF_SIZE) ? BUF_SIZE - : nNumberOfCharsToWrite; - MultiByteToWideChar( cp, 0, lpBuffer, len, buf, len ); - rc = ParseAndPrintString( hCon, buf, len, &Mode ); - *lpNumberOfCharsWritten += Mode; - lpBuffer += len; - nNumberOfCharsToWrite -= len; + *lpNumberOfCharsWritten = 0; + return (nNumberOfCharsToWrite == 0); } + MultiByteToWideChar( cp, 0, lpBuffer, nNumberOfCharsToWrite, buf, len ); + rc = ParseAndPrintString( hCon, buf, len, lpNumberOfCharsWritten ); + free( buf ); return rc; } else diff --git a/ansicon.c b/ansicon.c index 28d513b..531c8f2 100644 --- a/ansicon.c +++ b/ansicon.c @@ -37,10 +37,13 @@ v1.30, 3 August to 7 September, 2010: x64 support. + + v1.31, 13 November, 2010: + use LLW to fix potential Unicode path problems. */ -#define PVERS "1.30" -#define PDATE "7 September, 2010" +#define PVERS "1.31" +#define PDATE "13 November, 2010" #define UNICODE #define _UNICODE @@ -57,6 +60,8 @@ #include #include "injdll.h" +#define lenof(str) (sizeof(str)/sizeof(TCHAR)) + #ifdef __MINGW32__ int _CRT_glob = 0; #endif @@ -64,10 +69,10 @@ int _CRT_glob = 0; #ifdef _WIN64 # define InjectDLL InjectDLL64 -# define BITS "64" +# define BITS L"64" #else # define InjectDLL InjectDLL32 -# define BITS "32" +# define BITS L"32" #endif @@ -91,12 +96,12 @@ BOOL GetParentProcessInfo( LPPROCESS_INFORMATION ppi ); void Inject( LPPROCESS_INFORMATION ppi ) { DWORD len; - CHAR dll[MAX_PATH]; + WCHAR dll[MAX_PATH]; - len = GetModuleFileNameA( NULL, dll, sizeof(dll) ); + len = GetModuleFileName( NULL, dll, lenof(dll) ); while (dll[len-1] != '\\') --len; - lstrcpyA( dll + len, "ANSI" BITS ".dll" ); + lstrcpy( dll + len, L"ANSI" BITS L".dll" ); InjectDLL( ppi, dll ); } diff --git a/ansicon.rc b/ansicon.rc index 0b88235..deb2999 100644 --- a/ansicon.rc +++ b/ansicon.rc @@ -7,8 +7,8 @@ #include 1 VERSIONINFO -FILEVERSION 1,3,0,0 -PRODUCTVERSION 1,3,0,0 +FILEVERSION 1,3,1,0 +PRODUCTVERSION 1,3,1,0 FILEOS VOS_NT FILETYPE VFT_APP { @@ -19,12 +19,12 @@ FILETYPE VFT_APP VALUE "Comments", "http://ansicon.adoxa.cjb.net/" VALUE "CompanyName", "Jason Hood" VALUE "FileDescription", "ANSI Console" - VALUE "FileVersion", "1.30" + VALUE "FileVersion", "1.31" VALUE "InternalName", "ansicon" VALUE "LegalCopyright", "Freeware" VALUE "OriginalFilename", "ansicon.exe" VALUE "ProductName", "ANSICON" - VALUE "ProductVersion", "1.30" + VALUE "ProductVersion", "1.31" } } diff --git a/injdll.h b/injdll.h index 8541941..e9e1029 100644 --- a/injdll.h +++ b/injdll.h @@ -10,7 +10,7 @@ #define WIN32_LEAN_AND_MEAN #include -void InjectDLL32( LPPROCESS_INFORMATION, LPCSTR ); -void InjectDLL64( LPPROCESS_INFORMATION, LPCSTR ); +void InjectDLL32( LPPROCESS_INFORMATION, LPCWSTR ); +void InjectDLL64( LPPROCESS_INFORMATION, LPCWSTR ); #endif diff --git a/injdll32.c b/injdll32.c index 6a1f73b..105dbf2 100644 --- a/injdll32.c +++ b/injdll32.c @@ -31,23 +31,24 @@ TWow64SetThreadContext Wow64SetThreadContext; #endif -DWORD LLA; +DWORD LLW; -void InjectDLL32( LPPROCESS_INFORMATION ppi, LPCSTR dll ) +void InjectDLL32( LPPROCESS_INFORMATION ppi, LPCWSTR dll ) { CONTEXT context; DWORD len; LPVOID mem; DWORD mem32; #define CODESIZE 20 - BYTE code[CODESIZE+MAX_PATH]; + BYTE code[CODESIZE+MAX_PATH*sizeof(WCHAR)]; - len = lstrlenA( dll ) + 1; + len = lstrlenW( dll ) + 1; if (len > MAX_PATH) return; + len *= sizeof(WCHAR); - if (LLA == 0) + if (LLW == 0) { #ifdef _WIN64 extern HMODULE hKernel; @@ -62,18 +63,19 @@ void InjectDLL32( LPPROCESS_INFORMATION ppi, LPCSTR dll ) PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); - CopyMemory( code, dll, len - 7 ); // ...ANSI32.dll\0 - CopyMemory( code + len - 7, "-LLA.exe", 9 ); // ...ANSI-LLA.exe\0 + // ...ANSI32.dll\0 + CopyMemory( code, dll, len - 7*sizeof(WCHAR) ); + // ...ANSI-LLA.exe\0 + CopyMemory( code + len - 7*sizeof(WCHAR), L"-LLA.exe", 9*sizeof(WCHAR) ); if (!CreateProcess( (char*)code, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi )) return; WaitForSingleObject( pi.hProcess, INFINITE ); - GetExitCodeProcess( pi.hProcess, &LLA ); + GetExitCodeProcess( pi.hProcess, &LLW ); CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); #else - LLA = (DWORD)GetProcAddress( GetModuleHandleA( "kernel32.dll" ), - "LoadLibraryA" ); + LLW = (DWORD)LoadLibraryW; #endif } @@ -97,10 +99,10 @@ void InjectDLL32( LPPROCESS_INFORMATION ppi, LPCSTR dll ) *ip.pL++ = context.Eip; *ip.pB++ = 0x9c; // pushf *ip.pB++ = 0x60; // pusha - *ip.pB++ = 0x68; // push "path\to\ANSI32.dll" + *ip.pB++ = 0x68; // push L"path\to\ANSI32.dll" *ip.pL++ = mem32 + CODESIZE; - *ip.pB++ = 0xe8; // call LoadLibraryA - *ip.pL++ = LLA - (mem32 + (ip.pB+4 - code)); + *ip.pB++ = 0xe8; // call LoadLibraryW + *ip.pL++ = LLW - (mem32 + (ip.pB+4 - code)); *ip.pB++ = 0x61; // popa *ip.pB++ = 0x9d; // popf *ip.pB++ = 0xc3; // ret diff --git a/injdll64.c b/injdll64.c index 0a04140..d0ffb44 100644 --- a/injdll64.c +++ b/injdll64.c @@ -18,16 +18,16 @@ #define WIN32_LEAN_AND_MEAN #include -void InjectDLL64( LPPROCESS_INFORMATION ppi, LPCSTR dll ) +void InjectDLL64( LPPROCESS_INFORMATION ppi, LPCWSTR dll ) { CONTEXT context; DWORD len; LPVOID mem; - DWORD64 LLA; + DWORD64 LLW; #define CODESIZE 92 static BYTE code[CODESIZE+MAX_PATH] = { 0,0,0,0,0,0,0,0, // original rip - 0,0,0,0,0,0,0,0, // LoadLibraryA + 0,0,0,0,0,0,0,0, // LoadLibraryW 0x9C, // pushfq 0x50, // push rax 0x51, // push rcx @@ -45,8 +45,8 @@ void InjectDLL64( LPPROCESS_INFORMATION ppi, LPCSTR dll ) 0x41,0x56, // push r14 0x41,0x57, // push r15 0x48,0x83,0xEC,0x28, // sub rsp, 40 - 0x48,0x8D,0x0D,41,0,0,0, // lea ecx, "path\to\ANSI.dll" - 0xFF,0x15,-49,-1,-1,-1, // call LoadLibraryA + 0x48,0x8D,0x0D,41,0,0,0, // lea ecx, L"path\to\ANSI.dll" + 0xFF,0x15,-49,-1,-1,-1, // call LoadLibraryW 0x48,0x83,0xC4,0x28, // add rsp, 40 0x41,0x5F, // pop r15 0x41,0x5E, // pop r14 @@ -65,12 +65,13 @@ void InjectDLL64( LPPROCESS_INFORMATION ppi, LPCSTR dll ) 0x58, // pop rax 0x9D, // popfq 0xFF,0x25,-91,-1,-1,-1, // jmp original Rip - 0, // dword alignment for LLA, fwiw + 0, // dword alignment for LLW, fwiw }; - len = lstrlenA( dll ) + 1; + len = lstrlenW( dll ) + 1; if (len > MAX_PATH) return; + len *= sizeof(WCHAR); CopyMemory( code + CODESIZE, dll, len ); len += CODESIZE; @@ -78,8 +79,7 @@ void InjectDLL64( LPPROCESS_INFORMATION ppi, LPCSTR dll ) GetThreadContext( ppi->hThread, &context ); mem = VirtualAllocEx( ppi->hProcess, NULL, len, MEM_COMMIT, PAGE_EXECUTE_READWRITE ); - LLA = (DWORD64)GetProcAddress( GetModuleHandleA( "kernel32.dll" ), - "LoadLibraryA" ); + LLW = (DWORD64)LoadLibraryW; union { @@ -89,7 +89,7 @@ void InjectDLL64( LPPROCESS_INFORMATION ppi, LPCSTR dll ) ip.pB = code; *ip.pL++ = context.Rip; - *ip.pL++ = LLA; + *ip.pL++ = LLW; WriteProcessMemory( ppi->hProcess, mem, code, len, NULL ); FlushInstructionCache( ppi->hProcess, mem, len ); diff --git a/makefile b/makefile index d8c4452..6f0d86a 100644 --- a/makefile +++ b/makefile @@ -22,9 +22,12 @@ x64/%v.o: %.rc all: ansicon32 ansicon64 -ansicon32: x86/ansicon.exe x86/ANSI32.dll +ansicon32: x86 x86/ansicon.exe x86/ANSI32.dll -ansicon64: x64/ansicon.exe x64/ANSI64.dll x64/ANSI32.dll x64/ANSI-LLA.exe +ansicon64: x64 x64/ansicon.exe x64/ANSI64.dll x64/ANSI32.dll x64/ANSI-LLW.exe + +x86: + mkdir x86 x86/ansicon.exe: x86/ansicon.o x86/injdll32.o x86/ansiconv.o $(CC) -m32 $+ -s -o $@ @@ -32,6 +35,9 @@ x86/ansicon.exe: x86/ansicon.o x86/injdll32.o x86/ansiconv.o x86/ANSI32.dll: x86/ANSI.o x86/injdll32.o x86/ansiv.o $(CC) -m32 $+ -s -o $@ -mdll -Wl,-shared +x64: + mkdir x64 + x64/ansicon.exe: x64/ansicon.o x64/injdll64.o x64/ansiconv.o $(CC) $+ -s -o $@ @@ -39,9 +45,9 @@ x64/ANSI64.dll: x64/ANSI.o x64/injdll64.o x64/injdll32.o x64/ansiv.o $(CC) $+ -s -o $@ -mdll -Wl,-shared x64/ANSI32.dll: x86/ANSI32.dll - cmd /c copy x86\ANSI32.dll x64\ANSI32.dll + cp -p x86/ANSI32.dll x64/ANSI32.dll -x64/ANSI-LLA.exe: ANSI-LLA.c +x64/ANSI-LLW.exe: ANSI-LLW.c $(CC) -m32 $(CFLAGS) $< -s -o $@ x86/ansiconv.o: ansicon.rc @@ -50,4 +56,5 @@ x64/ansiconv.o: ansicon.rc x64/ansiv.o: ansi.rc clean: - -cmd /c "del x86\*.o x64\*.o" + -rm x86/*.o + -rm x64/*.o diff --git a/readme.txt b/readme.txt index d9ab8b8..73457da 100644 --- a/readme.txt +++ b/readme.txt @@ -3,7 +3,7 @@ Copyright 2005-2010 Jason Hood - Version 1.30. Freeware + Version 1.31. Freeware =========== @@ -39,6 +39,7 @@ --------- Delete ANSI.dll, it has been replaced with ANSI32.dll. + Delete ANSI-LLA.dll, it has been replaced with ANSI-LLW.dll. ===== @@ -121,6 +122,10 @@ Legend: + added, - bug-fixed, * changed. + 1.31 - 13 November, 2010: + - fixed multibyte support (no extra junk with UTF-8 files); + * fixed potential problem if install path uses Unicode. + 1.30 - 7 September, 2010: + x64 version. @@ -233,4 +238,4 @@ ============================== - Jason Hood, 7 September, 2010. + Jason Hood, 13 November, 2010. diff --git a/x64/ANSI-LLA.exe b/x64/ANSI-LLA.exe deleted file mode 100644 index 42afd668d89409ca90db94b7b84ba8a9c0f43544..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10240 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