|
You last visited: Today at 07:51
Advertisement
[FREE] [RELEASE] M2Heat - Script as you need
Discussion on [FREE] [RELEASE] M2Heat - Script as you need within the Metin2 Hacks, Bots, Cheats, Exploits & Macros forum part of the Metin2 category.
09/27/2021, 17:15
|
#1
|
elite*gold: 0
Join Date: Sep 2021
Posts: 34
Received Thanks: 84
|
[FREE] [NEW FEATURES 18.05.2024] M2Heat - Script as you need
M2Heat - Script as you need- It's free.
- It's scriptable which means you can add or edit anything you want.
- It works on GF servers only.
Screenshots
How to use- and extract files to a folder. ()
- Start injector.exe
- It should automatically inject the hack for you.
If you want to compile injector yourself here is the source code
Code:
#include <Windows.h>
#include <iostream>
#include <string>
#include <thread>
#include <chrono>
#include <TlHelp32.h>
#include <algorithm>
DWORD get_process_id(const std::wstring& process_name)
{
DWORD process_id = 0;
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (snapshot != INVALID_HANDLE_VALUE)
{
PROCESSENTRY32 process_entry;
process_entry.dwSize = sizeof(process_entry);
if (Process32First(snapshot, &process_entry))
{
do
{
if (process_name == process_entry.szExeFile)
{
process_id = process_entry.th32ProcessID;
break;
}
} while (Process32Next(snapshot, &process_entry));
}
CloseHandle(snapshot);
}
return process_id;
}
bool inject_dlls(const DWORD process_id, const std::vector<std::wstring>& dll_paths)
{
HANDLE process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, process_id);
if (!process)
{
std::cerr << "Failed to open process." << std::endl;
return false;
}
auto load_library_addr = reinterpret_cast<LPVOID>(GetProcAddress(GetModuleHandleW(L"kernel32.dll"), "LoadLibraryW"));
if (!load_library_addr)
{
std::cerr << "Failed to get LoadLibraryW address." << std::endl;
CloseHandle(process);
return false;
}
bool injection_success = true;
for (const auto& dll_path : dll_paths)
{
auto remote_string = VirtualAllocEx(process, nullptr, (dll_path.length() + 1) * sizeof(wchar_t), MEM_COMMIT, PAGE_READWRITE);
if (!remote_string)
{
std::wcerr << L"Failed to allocate memory in the target process for DLL: " << dll_path << std::endl;
injection_success = false;
continue;
}
if (!WriteProcessMemory(process, remote_string, dll_path.c_str(), (dll_path.length() + 1) * sizeof(wchar_t), nullptr))
{
std::wcerr << L"Failed to write the DLL path to the target process for DLL: " << dll_path << std::endl;
VirtualFreeEx(process, remote_string, 0, MEM_RELEASE);
injection_success = false;
continue;
}
auto remote_thread = CreateRemoteThread(process, nullptr, 0, reinterpret_cast<LPTHREAD_START_ROUTINE>(load_library_addr), remote_string, 0, nullptr);
if (!remote_thread)
{
std::wcerr << L"Failed to create remote thread for DLL: " << dll_path << std::endl;
VirtualFreeEx(process, remote_string, 0, MEM_RELEASE);
injection_success = false;
continue;
}
WaitForSingleObject(remote_thread, 1000);
if(injection_success)
std::wcout << L"Injected DLL: " << dll_path << std::endl;
else
std::wcerr << L"Failed to inject DLL: " << dll_path << std::endl;
CloseHandle(remote_thread);
VirtualFreeEx(process, remote_string, 0, MEM_RELEASE);
}
CloseHandle(process);
return injection_success;
}
const std::wstring get_path()
{
wchar_t file_path[MAX_PATH];
GetModuleFileNameW(NULL, file_path, MAX_PATH);
std::wstring file_dir(file_path);
size_t last_slash_pos = file_dir.find_last_of(L"\\/");
if (last_slash_pos != std::wstring::npos)
{
file_dir = file_dir.substr(0, last_slash_pos + 1);
}
return file_dir;
}
std::vector<DWORD> get_process_ids_from_window(const std::wstring& window_title)
{
std::vector<DWORD> process_ids;
HWND window_handle = NULL;
while ((window_handle = FindWindowExW(NULL, window_handle, NULL, window_title.c_str())) != NULL)
{
DWORD process_id;
GetWindowThreadProcessId(window_handle, &process_id);
process_ids.push_back(process_id);
}
return process_ids;
}
int main()
{
const std::wstring path = get_path();
const std::wstring target_window_title = L"METIN2";
const std::vector<std::wstring> dll_names = { L"boost_python27-vc143-mt-x32-1_83.dll", L"m2heat.dll" };
std::vector<std::wstring> dll_paths;
for (const auto& dll_name : dll_names)
{
dll_paths.push_back(path + dll_name);
}
std::wcout << L"Watching for window: " << target_window_title << std::endl;
std::vector<DWORD> injected_process_ids;
while (true)
{
std::vector<DWORD> process_ids = get_process_ids_from_window(target_window_title);
using namespace std::chrono_literals;
for (const auto& process_id : process_ids)
{
if (std::find(injected_process_ids.begin(), injected_process_ids.end(), process_id) == injected_process_ids.end())
{
std::cout << "Target window found. Process ID: " << process_id << std::endl;
injected_process_ids.push_back(process_id);
std::thread injection_thread([=] {
std::this_thread::sleep_for(5s);
inject_dlls(process_id, dll_paths);
});
injection_thread.detach();
}
}
std::this_thread::sleep_for(1s);
}
return 0;
}
for people who want to write their own scripts.
Some features are not enabled by default and there are no controls for them in the UI. If you need them you can enable them by writing a python script. Read the document above for more information.
You should put the scripts you write into scripts folder near m2heat.dll. If you want to use a custom path create a file named customs.txt and put the path inside it.
M2Heat will load your scripts for you and hot reload when you do changes and save. So you won't have to restart the game each time. (It is experimental and may fail in some cases depending on what you're doing inside the script.)
Video - How to install - OUTDATED
Video - Ingame
Video - Exploit
You do not have to enable anything extra for damage exploit to work. All you need to do is have second character in the same core(ip ort) and unequip it's weapon. Same maps share same core and sometimes multiple maps share same core in same channels. I do not have the exact list of them. The hack will do the matching between characters automatically for you.
PS: Keep in mind this is early stage release. There might be bugs/errors we haven't discovered yet. If you encounter any let us know. Thank you.
|
|
|
09/28/2021, 23:13
|
#2
|
elite*gold: 0
Join Date: Apr 2015
Posts: 44
Received Thanks: 6
|
wait mode and path walk is broken and need more customization but its still pretty new and early great job !
|
|
|
09/28/2021, 23:41
|
#3
|
elite*gold: 0
Join Date: Oct 2017
Posts: 31
Received Thanks: 7
|
The client is instantly closing for me.
Cheers
|
|
|
09/28/2021, 23:58
|
#4
|
elite*gold: 0
Join Date: Sep 2021
Posts: 34
Received Thanks: 84
|
Quote:
Originally Posted by Teals53
wait mode and path walk is broken and need more customization but its still pretty new and early great job !
|
Can you record a video? Thanks.
Quote:
Originally Posted by Degrec
The client is instantly closing for me.
Cheers
|
PM'ed you.
|
|
|
09/28/2021, 23:59
|
#5
|
elite*gold: 0
Join Date: Apr 2015
Posts: 44
Received Thanks: 6
|
Quote:
Originally Posted by int1516
Can you record a video? Thanks.
PM me please.
|
im pretty lazy af atm
|
|
|
09/29/2021, 00:02
|
#6
|
elite*gold: 0
Join Date: Sep 2021
Posts: 34
Received Thanks: 84
|
Quote:
Originally Posted by Teals53
im pretty lazy af atm
|
It's okay, can you explain the problem with more detail please?
|
|
|
09/29/2021, 00:04
|
#7
|
elite*gold: 0
Join Date: Apr 2015
Posts: 44
Received Thanks: 6
|
Quote:
Originally Posted by int1516
It's okay, can you explain the problem with more detail please?
|
its only circling around the character when i tried to make pathway system metin farm and wait module is only blocking my attacks its need ms range and count customization
|
|
|
09/29/2021, 00:07
|
#8
|
elite*gold: 0
Join Date: Sep 2021
Posts: 34
Received Thanks: 84
|
Quote:
Originally Posted by Teals53
its only circling around the character when i tried to make pathway system metin farm and wait module is only blocking my attacks its need ms range and count customization
|
Oh, that's probably you've "auto revive" enabled and died soon. It goes in circle until you get %30 HP. Also noted the latter. Thanks for your feedback.
|
|
|
09/29/2021, 00:13
|
#9
|
elite*gold: 0
Join Date: Apr 2015
Posts: 44
Received Thanks: 6
|
Quote:
Originally Posted by int1516
Oh, that's probably you've "auto revive" enabled and died soon. It goes in circle until you get %30 HP. Also noted the latter. Thanks for your feedback.
|
no im full hp xd np
|
|
|
09/29/2021, 00:18
|
#10
|
elite*gold: 0
Join Date: Sep 2021
Posts: 34
Received Thanks: 84
|
Quote:
Originally Posted by Teals53
no im full hp xd np
|
Uhm that's strange Can you show me your settings? I will try it later.
|
|
|
09/29/2021, 00:19
|
#11
|
elite*gold: 0
Join Date: Apr 2015
Posts: 44
Received Thanks: 6
|
Quote:
Originally Posted by int1516
Uhm that's strange Can you show me your settings? I will try it later.
|
im not on pc rn tryna sleeping with watching smthng xd maybe later
|
|
|
09/29/2021, 00:27
|
#12
|
elite*gold: 0
Join Date: Nov 2012
Posts: 25
Received Thanks: 10
|
Thanks
|
|
|
09/29/2021, 19:39
|
#13
|
elite*gold: 0
Join Date: Sep 2021
Posts: 11
Received Thanks: 0
|
I see similarities with C4US
|
|
|
09/29/2021, 19:40
|
#14
|
elite*gold: 50
Join Date: Sep 2021
Posts: 50
Received Thanks: 1
|
Quote:
Originally Posted by int1516
|
Still working? :3
|
|
|
09/29/2021, 19:45
|
#15
|
elite*gold: 0
Join Date: Sep 2021
Posts: 34
Received Thanks: 84
|
Quote:
Originally Posted by badforce788
I see similarities with C4US
|
Our cheat is different. You can not only add more functionality to it but also change almost every functionality of it by editing scripts.
Quote:
Originally Posted by BoostYA
Still working? :3
|
Yep.
|
|
|
Similar Threads
|
hi to you and you and you and you oh and you too
06/14/2009 - Say Hello - 1 Replies
Hi all.. Here to learn and help if I can.. lol
|
If you work on a private server, or if you have in the past you need to know this.
05/21/2009 - CO2 Private Server - 9 Replies
TQ is sabotaging Conquer Online. With every patch, the game is becoming worse. With every month passing, people who loved and enjoyed the game are quitting.
Conquer Online is dying.
There is an unreached horde of people who love the original Conquer Online. TQ will never bring it back for its players. But private servers can.
So why not lend your expertise to the cause?
Read the Private Server Manifesto. Tell us what you think, we want YOU involved in it.
|
All times are GMT +2. The time now is 07:51.
|
|