Left 4 Dead 2

Left 4 Dead 2

69 个评价
How2Bhop? very EZ (and how Admins can patch it)
由 Dark 制作
En esta guia les enseñare a descargar e instalar el archivo ".exe" bhop

Esto no lo hago para joder a la comunidad gaymer de l4D2 es decición de ustedes si lo usan o no.

"No es un addon para local"

https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=1606383151

Seguramente ya han probado el autobunny hop en sus servers local o single player pero lo que yo les comparto lo podrán hacer en partidas multijugador

a continuacion les explicare un concepto basico de lo que es el bhop.
   
奖励
收藏
已收藏
取消收藏
- ¿ Que es BunnyHop ?
  • Es una tecnica de salto que sirve para dar velocidad al jugador dentro de las partidas.
    Esta tecnica hace uso de la fisica del juego y para poder realizarla correctamente necesitas una buena precision en las teclas y un buen movimiento con el raton.
  • Hay dos tipos de BunnyHop, el básico y el avanzado.

    • Para que se entienda de una manera mas sencilla y sin tanto rodeo el bhop basico es que se realiza sin presionar la tecla "ctrl" osea la tecla con la cual te agachas y la forma avanzada se realiza presionando dicha tecla "ctrl".

- ¿ Como se realiza ?
  • Se realiza utilizando las siguientes teclas








  • yo te facilitare las cosas con el programa, haciendo que el bhop se ejecute solo presionando una tecla.
-BHop Injector by KnifeLemon
En el siguiente video que veras a continuacion se explica la funcion del bhop dentro del juego


como ven el personaje se mueve de una forma mas rapida a lo usual, esto ayuda a que en las partidas podamos tener muchas mas ventajas que los demas jugadores.

ademas se explica su correcta descarga e instalacion para que no haya errores y mucho menos problemas en el uso del programa.

Hasta el día de hoy no he encontrado reportes sobre VAC al utilizarlo, pero usarlo bajo su propio riesgo.



-Bhop.exe v2 + Links de descargas :V
Esta nueva version es mucho mas sencilla y mas facil de usar, en el siguiente video se explica su uso.

https://youtu.be/vTi_0OTj-vM
El programa viene con un Toggle integrado, esto permite bindear cualquier tecla que el usuario desees para poder activar y desactivar el programa en cualquier momento de la partida.
En el video no se logra apreciar asi que lo pongo para que se aclare la duda de como se activo el programa.

una vez explicado todo esto vamos a por lo que venimos :D

Link de descargas

  • Bhop v1(2018) : http://raboninco.com/X98K

  • Bhop v2(2020) : http://raboninco.com/1r5bI





    -dejare el link de los respectivos archivos para que lo puedan descargar y utilizar

  • -el nuevo programa es mucho mas sencillo y facil de usar, la unica condicion es tener el juego abierto antes de ejecutarlo para que funcione correctamente.

  • -Clave: bhopbhop


    ahora a disfrutar de tu salto del konejo :D




    Antes de irme dejo en esta ultima seccion el codigo fuente del bhop
-El alma del Bhop
main.h
int main() { SetConsoleTitle(""); SetWindow(20, 3); remove_scrollbar(); [add_junk /] Process.LoadProcess("left4dead2.exe"); Modules.Client = Process.LoadModule("client.dll"); Modules.Engine = Process.LoadModule("engine.dll"); [add_junk /] Scan(); D.NHealth = Process.Read<int>(D.ArrayScanBase + D.Health); D.NFlags = Process.Read<int>(D.ArrayScanBase + D.Flags); [add_junk /] cout << "L4D2 BHOP by Dark" << endl; cout << "------------------" << endl; [add_junk /] BHOP(); } void Scan() { D.ArrayScanBase = Process.Read<DWORD>(0x6FC9D8 + Modules.Client.dwBase); } void BHOP() { while (true) { if (D.NHealth >= 0) { if (D.NFlags == 129 || D.NFlags == 128 || D.NFlags == 131 || D.NFlags == 137 || D.NFlags == 138 || D.NFlags == 641 || D.NFlags == 643) { if (GetAsyncKeyState(VK_SPACE) && 0x8000) { Process.Write<int>(Modules.Client.dwBase + D.ForceJump, 5); Process.Write<int>(Modules.Client.dwBase + D.ForceJump, 4); } } } } } void SetWindow(int Width, int Height) { _COORD coord; coord.X = Width; coord.Y = Height; _SMALL_RECT Rect; Rect.Top = 0; Rect.Left = 0; Rect.Bottom = Height - 1; Rect.Right = Width - 1; HANDLE Handle = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleScreenBufferSize(Handle, coord); SetConsoleWindowInfo(Handle, TRUE, &Rect); } void remove_scrollbar() { HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo(handle, &info); COORD new_size = { info.srWindow.Right - info.srWindow.Left + 1, info.srWindow.Bottom - info.srWindow.Top + 1 }; SetConsoleScreenBufferSize(handle, new_size); }


Memory.h
#include "Memory.h" Memory::Memory() { hProcess = NULL; dwProcessId = NULL; processOk = false; } Memory::~Memory() { CloseHandle(hProcess); } bool Memory::LoadProcess(char* procName) { HANDLE hProcessId = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); PROCESSENTRY32 pEntry; pEntry.dwSize = sizeof(pEntry); do { if (!strcmp(pEntry.szExeFile, procName)) { dwProcessId = pEntry.th32ProcessID; CloseHandle(hProcessId); hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, dwProcessId); return (processOk = true); } } while (Process32Next(hProcessId, &pEntry)); return (processOk = false); } Module Memory::LoadModule(char* moduleName) { if (processOk) { HANDLE hModule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId); MODULEENTRY32 mEntry; mEntry.dwSize = sizeof(mEntry); do { if (!strcmp(mEntry.szModule, moduleName)) { CloseHandle(hModule); return { (DWORD)mEntry.hModule, mEntry.modBaseSize }; } } while (Module32Next(hModule, &mEntry)); } return { (DWORD)false, (DWORD)false }; } bool Memory::CompareData(const BYTE* PDATA, const BYTE* PMASK, const char* PSZMASK) { for (; *PSZMASK; ++PDATA, ++PMASK, ++PSZMASK) { if (*PSZMASK == 'x' && *PDATA != *PMASK) return false; } return (*PSZMASK == NULL); } DWORD Memory::FindPattern(DWORD dwStart, DWORD dwSize, const char* SIGNATURE, const char* MASK) { BYTE* data = new BYTE[dwSize]; unsigned long bytesRead; if (!ReadProcessMemory(hProcess, (LPVOID)dwStart, data, dwSize, &bytesRead)) { return NULL; } for (DWORD i = 0; i < dwSize; i++) { if (CompareData((const BYTE*)(data + i), (const BYTE*)SIGNATURE, MASK)) { return (dwStart + i); } } return NULL; } DWORD Memory::FindArray(DWORD dwStart, DWORD dwSize, const char* MASK, int argCount, ...) { char* signature = new char[argCount + 1]; va_list ap; va_start(ap, argCount); for (int i = 0; i < argCount; i++) { char argument = va_arg(ap, char); signature = argument;
}

signature[argCount] = '\0';

va_end(ap);

return FindPattern(dwStart, dwSize, signature, MASK);
}
Contenido Extra :V
Para mas guias como esta puedes checar la de mi amigo churre alias elerip

https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=2138062941
y de paso mi guia del "Fin del mundo" :V

https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=2001238718

Proximamente la guia del noclip xd

引用自 author
Sick : Sigo siendo el mejor

( ͡° ͜ʖ ͡°)
34 条留言
Dark  [作者] 2022 年 7 月 9 日 下午 7:34 
mañana
Shin 2022 年 6 月 12 日 下午 12:01 
Actualiza 2022
Dark  [作者] 2022 年 1 月 3 日 下午 12:13 
2022*
Raptorz 2021 年 7 月 22 日 上午 10:31 
Actualiza 2021
Dark  [作者] 2020 年 12 月 29 日 下午 4:19 
el del 2020
Dark  [作者] 2020 年 12 月 29 日 下午 4:19 
es uno
Arthur Morgan 2020 年 12 月 29 日 上午 10:44 
Tengo que descargar los 2 del 2018 y del 2020 o solo es 1?
💛₆ₓ₆ 2020 年 10 月 8 日 下午 2:54 
Dark  [作者] 2020 年 9 月 7 日 下午 5:07 
de nada, vuelva pronto
bau 2020 年 9 月 7 日 下午 4:38 
deenada, vuelva pron-toh xD el DDoS traia virus pedazo de gato