Jump to content

oguzhankrcby

Inactive Member
  • Posts

    14
  • Joined

  • Last visited

  • Feedback

    0%

About oguzhankrcby

Informations

  • Gender
    Male

Recent Profile Visitors

847 profile views

oguzhankrcby's Achievements

Apprentice

Apprentice (3/16)

  • Collaborator
  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

2

Reputation

  1. I have used your quest but when i login into game there was one empty inputbox and nothing in syserr.txt.
  2. 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" ?
  3. is there any answer ? it's good to know you are following me
  4. @Tyrar, can you make it work on 50k+ cores
  5. 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.
  6. is there any difs for communicate client and game in 34k files ?
  7. but i need module names which are associated threads not only module name
  8. 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; }
  9. you understand me wrong , everything is fine with enigma , i need change "pack/Index" location to "lib/blabla"
  10. 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 ?
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.