-
Posts
14 -
Joined
-
Last visited
-
Feedback
0%
About oguzhankrcby
Informations
-
Gender
Male
oguzhankrcby's Achievements
-
Lua error handling ?
oguzhankrcby replied to oguzhankrcby's topic in Community Support - Questions & Answers
any help ? -
Lua error handling ?
oguzhankrcby replied to oguzhankrcby's topic in Community Support - Questions & Answers
I have used your quest but when i login into game there was one empty inputbox and nothing in syserr.txt. -
Hello to all! i made a simple quest for client - quest communication i want to check out of my client side with this method. quest adw begin -- QUEST NAME MUST BE communication_test.quest !!! state start begin when login begin cmdchat("quest_name_index "..q.getcurrentquestindex()) adw.wtfbaby() end function wtfbaby() cmdchat("get_input_start") local donen = input(cmdchat("get_input_value")) cmdchat("get_input_end") if donen != "blablalbla" then chat("not match!") command("quit") else chat("Correct!") end end end end But when i use a root which hasn't got a command like "get_input_start , get_input_value, get_input_end" quest is not working, i could login to game correctly there wasn't any message like "blablabla" and game didn't close. What must i do to catch if there isn't any command in root like "get_input_start" ?
-
is there any answer ? it's good to know you are following me
-
is there any answer ?
-
@Tyrar, can you make it work on 50k+ cores
-
Thank you, nice work :-) nice but bypassable
-
Game - Client / Client - Game communication with Packets
oguzhankrcby replied to Sanchez's topic in Guides & HowTo
well its not impossible to make but this will just stupid why work on 34k with shity and limited difs while you can do (almost anything) with src as long as you are a pro in c++ You are really right but i don't interesting about source of metin2 i just need communicate client and game of file for securing my hackshield, i am only developing security softwares for metin2. -
Game - Client / Client - Game communication with Packets
oguzhankrcby replied to Sanchez's topic in Guides & HowTo
is there any difs for communicate client and game in 34k files ? -
Hi to all ! I have made a code which can enumerate module names associated threads. But there is a problem in windows xp. When i enumarate modules dll names return NULL. IN WINDOWS XP LIKE THAT : Karacabay-Scan : Dlls : Karacabay-Scan : Dlls : Karacabay-Scan : Dlls : Karacabay-Scan : Dlls : Karacabay-Scan : Dlls : Karacabay-Scan : Dlls : Karacabay-Scan : Dlls : Karacabay-Scan : Dlls : Karacabay-Scan : Dlls : Karacabay-Scan : Dlls : Karacabay-Scan : Dlls : IN WINDOWS 8 , WINDOWS 7 , WIN 8.1 Karacabay-Scan : Dlls : D:TEMIZ METIN2 - HS CALISMAgiris.exe Karacabay-Scan : Dlls : D:TEMIZ METIN2 - HS CALISMAgiris.exe Karacabay-Scan : Dlls : C:WindowsSYSTEM32ntdll.dll Karacabay-Scan : Dlls : C:WindowsSYSTEM32ntdll.dll Karacabay-Scan : Dlls : C:WindowsSYSTEM32ntdll.dll Karacabay-Scan : Dlls : C:WindowsSYSTEM32ntdll.dll Karacabay-Scan : Dlls : C:WindowsSYSTEM32ntdll.dll Karacabay-Scan : Dlls : C:WindowsSYSTEM32ntdll.dll Karacabay-Scan : Dlls : C:Windowssystem32mswsock.dll And here is my source : #define STATUS_SUCCESS ((NTSTATUS)0x00000000L) #define ThreadQuerySetWin32StartAddress 9 typedef NTSTATUS (WINAPI *NTQUERYINFOMATIONTHREAD)(HANDLE, LONG, PVOID, ULONG, PULONG); BOOL MatchAddressToModule(__in DWORD dwProcId, __out_bcount(MAX_PATH) LPTSTR lpstrModule, __in DWORD dwThreadStartAddr, __out_opt PDWORD pModuleStartAddr) // by Echo { BOOL bRet = FALSE; HANDLE hSnapshot; MODULEENTRY32 moduleEntry32; hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPALL, dwProcId); moduleEntry32.dwSize = sizeof(MODULEENTRY32); moduleEntry32.th32ModuleID = 1; if(Module32First(hSnapshot, &moduleEntry32)){ if(dwThreadStartAddr >= (DWORD)moduleEntry32.modBaseAddr && dwThreadStartAddr <= ((DWORD)moduleEntry32.modBaseAddr + moduleEntry32.modBaseSize)){ wcscpy(lpstrModule, moduleEntry32.szExePath); //convert from wide char to narrow char array }else{ while(Module32Next(hSnapshot, &moduleEntry32)){ if(dwThreadStartAddr >= (DWORD)moduleEntry32.modBaseAddr && dwThreadStartAddr <= ((DWORD)moduleEntry32.modBaseAddr + moduleEntry32.modBaseSize)){ wcscpy(lpstrModule, moduleEntry32.szExePath); break; } } } } if(pModuleStartAddr) *pModuleStartAddr = (DWORD)moduleEntry32.modBaseAddr; CloseHandle(hSnapshot); return bRet; } DWORD WINAPI GetThreadStartAddress(__in HANDLE hThread) // by Echo { NTSTATUS ntStatus; DWORD dwThreadStartAddr = 0; HANDLE hPeusdoCurrentProcess, hNewThreadHandle; NTQUERYINFOMATIONTHREAD NtQueryInformationThread; if((NtQueryInformationThread = (NTQUERYINFOMATIONTHREAD)GetProcAddress(GetModuleHandle(_T("ntdll.dll")), ("NtQueryInformationThread")))){ hPeusdoCurrentProcess = GetCurrentProcess(); if(DuplicateHandle(hPeusdoCurrentProcess, hThread, hPeusdoCurrentProcess, &hNewThreadHandle, THREAD_QUERY_INFORMATION, FALSE, 0)){ ntStatus = NtQueryInformationThread(hNewThreadHandle, ThreadQuerySetWin32StartAddress, &dwThreadStartAddr, sizeof(DWORD), NULL); CloseHandle(hNewThreadHandle); if(ntStatus != STATUS_SUCCESS){ return 0; } } } return dwThreadStartAddr; } int threadmodules() { HANDLE hSnapshot, hThread; THREADENTRY32 threadEntry32; DWORD dwModuleBaseAddr, dwThreadStartAddr; TCHAR lpstrModuleName[MAX_PATH] = {0}; CHAR moduleget[MAX_PATH] = {0}; if((hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, GetCurrentProcessId())) == INVALID_HANDLE_VALUE) return 0; threadEntry32.dwSize = sizeof(THREADENTRY32); threadEntry32.cntUsage = 0; if(Thread32First(hSnapshot, &threadEntry32)){ if(threadEntry32.th32OwnerProcessID == GetCurrentProcessId()){ hThread = OpenThread(THREAD_ALL_ACCESS, FALSE, threadEntry32.th32ThreadID); dwThreadStartAddr = GetThreadStartAddress(hThread); MatchAddressToModule(GetCurrentProcessId(), lpstrModuleName, dwThreadStartAddr, &dwModuleBaseAddr); std::wstring aaa (lpstrModuleName); std::string mystr (aaa.begin() , aaa.end()); fstream textfile; textfile.open ("mgm.log", ios::out | ios::app); textfile<< "Karacabay-Scan : " <<"Dlls : "<< mystr.c_str()<< endl; CloseHandle(hThread); } while(Thread32Next(hSnapshot, &threadEntry32)){ if(threadEntry32.th32OwnerProcessID == GetCurrentProcessId()){ hThread = OpenThread(THREAD_ALL_ACCESS, FALSE, threadEntry32.th32ThreadID); dwThreadStartAddr = GetThreadStartAddress(hThread); MatchAddressToModule(GetCurrentProcessId(), lpstrModuleName, dwThreadStartAddr, &dwModuleBaseAddr); std::wstring aaa (lpstrModuleName); std::string mystr (aaa.begin() , aaa.end()); fstream textfile; textfile.open ("mgm.log", ios::out | ios::app); textfile<< "Karacabay-Scan : " <<"Dlls : "<< mystr.c_str()<< endl; CloseHandle(hThread); } } } CloseHandle(hSnapshot); return 0; }
-
pack/Index problem?
oguzhankrcby replied to oguzhankrcby's topic in Community Support - Questions & Answers
you understand me wrong , everything is fine with enigma , i need change "pack/Index" location to "lib/blabla" -
Hello to all I made a anti cheat system and i have locked my executable with enigma virtual box but however some people open executable with hex editors and changes the name of mapped files so mapped file won't work anymore , i need change pack/Index to lib/blabla how can i do that ?