Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Half Life 1 Rewersing Thread
#1
Niektóre informacje o HL1   CL_CreateMove = CreateMove   CL_CreateMove jest wyeksportowaną funkcją. Możesz więc użyć łatania bajtów, aby go podłączyć Lub EAT Hooking. EAT Hooking W bibliotekach DLL       Kod:   #ifdef DOUBLEVEC_T typedef double vec_t; #else typedef float vec_t; #endif   typedef dla vec_t       Kod:   typedef vec_t vec3_t [3]; // vec3 typedef vec_t vec4_t [4]; // vec4   typy vec3 i vec4.       Kod:   typedef struct usercmd_s {short lerp_msec; // Czas interpolacji na bajcie klienta msec; // Czas trwania w ms polecenia vec3_t viewangles; // Kąty widoku poleceń. // zamierzone prędkości pływają do przodu; // Prędkość do przodu. pływak sidemove; // Prędkość boczna. unosić się do góry; // Prędkość w górę. bajt lightlevel; // Poziom światła w miejscu, w którym stoimy. niepodpisane krótkie przyciski; // Impulsowy impuls przycisków; // Wydano polecenie Impulse. bajt weaponslect; // Aktualny identyfikator broni // Eksperymentalny wpływ na gracza. int impact_index; vec3_t impact_position; } usercmd_t;   struct dla usercmd_s       Kod:   extern "C" {// Z hl_weapons void CL_DLLEXPORT HUD_PostRunCmd (struct local_state_s * od, struct local_state_s * to, struct usercmd_s * cmd, int runfuncs, podwójny czas, unsigned int random_seed); // Z cdll_int int CL_DLLEXPORT Initialize (cl_enginefunc_t * pEnginefuncs, int iVersion); int CL_DLLEXPORT HUD_VidInit (void); void CL_DLLEXPORT HUD_Init (void); int CL_DLLEXPORT HUD_Redraw (float flTime, int intermission); int CL_DLLEXPORT HUD_UpdateClientData (client_data_t * cdata, float flTime); void CL_DLLEXPORT HUD_Reset (void); void CL_DLLEXPORT HUD_PlayerMove (struct playermove_s * ppmove, int server); void CL_DLLEXPORT HUD_PlayerMoveInit (struct playermove_s * ppmove); char CL_DLLEXPORT HUD_PlayerMoveTexture (char * nazwa); int CL_DLLEXPORT HUD_ConnectionlessPacket (const struct netadr_s * net_from, const char * args, char * response_buffer, int * response_buffer_size); int CL_DLLEXPORT HUD_GetHullBounds (int kadłuba, float * mins, float * maxs); void CL_DLLEXPORT HUD_Frame (podwójny czas); void CL_DLLEXPORT HUD_VoiceStatus (int entindex, qboolean bTalking); void CL_DLLEXPORT HUD_DirectorMessage (int iSize, void * pbuf); void CL_DLLEXPORT HUD_ChatInputPosition (int * x, int * y); // Z demo void CL_DLLEXPORT Demo_ReadBuffer (rozmiar int, unsigned char * buffer); // Z obiektu int CL_DLLEXPORT HUD_AddEntity (typ int, struct cl_entity_s * ent, const char * modelname); void CL_DLLEXPORT HUD_CreateEntities (void); void CL_DLLEXPORT HUD_StudioEvent (const struct mstudioevent_s * zdarzenie, const struct cl_entity_s * entity); void CL_DLLEXPORT HUD_TxferLocalOverrides (struct entity_state_s * state, const struct clientdata_s * client); void CL_DLLEXPORT HUD_ProcessPlayerState (struct entity_state_s * dst, const struct entity_state_s * src); void CL_DLLEXPORT HUD_TxferPredictionData (struct entity_state_s * ps, const struct entity_state_s * pps, struct clientdata_s * pcd, const struct clientdata_s * ppcd, struct weapon_data_s * wd, const struct weapon_data_s * pwd); void CL_DLLEXPORT HUD_TempEntUpdate (double frametime, double client_time, double cl_gravity, struct tempent_s ** ppTempEntFree, struct tempent_s ** ppTempEntActive, int (* Callback_AddVisibleEntity) (struct cl_entity_s * pEntity), void (* Callback_TempEntPlaySound) (struct tempent_s * pTemp, float damp )); struct cl_entity_s CL_DLLEXPORT * HUD_GetUserEntity (indeks int); // Od in_camera void CL_DLLEXPORT CAM_Think (void); int CL_DLLEXPORT CL_IsThirdPerson (void); void CL_DLLEXPORT CL_CameraOffset (float * ofs); // Z wejściowej struktury kbutton_s CL_DLLEXPORT * KB_Find (const char * name); void CL_DLLEXPORT CL_CreateMove (float frametime, struct usercmd_s * cmd, int active); void CL_DLLEXPORT HUD_Shutdown (void); int CL_DLLEXPORT HUD_Key_Event (int kod zdarzenia, int keynum, const char * pszCurrentBinding); // From inputw32 void CL_DLLEXPORT IN_ActivateMouse (void); void CL_DLLEXPORT IN_DeactivateMouse (void); void CL_DLLEXPORT IN_MouseEvent (int mstate); void CL_DLLEXPORT IN_Acumulate (void); void CL_DLLEXPORT IN_ClearStates (void); // Z tri void CL_DLLEXPORT HUD_DrawNormalTriangles (void);
Reply
#2
variadic Klasa wektorowa Kod: używając Vec4 = Vector ; używając Vec3 = Vector ; jeśli chcesz użyć brzydkiego typedef zamiast Kod: typedef Vector Vec4; typedef Vector Vec3; po prostu sayin x)
Reply
#3
Zacytować: Napisał początkowo ReactiioN variadic Klasa wektorowa Kod: używając Vec4 = Vector ; używając Vec3 = Vector ; jeśli chcesz użyć brzydkiego typedef zamiast Kod: typedef Vector Vec4; typedef Vector Vec3; po prostu sayin x) Dzięki za udział! Doda do postu. Aktualizacja: Sposobem zaczepienia CL_CreateMove jest zahaczenie EAT. Po dłuższym czasie próbuje podłączyć CL_CreateMove
Reply
#4
Ja i @ verideth ostatnio próbowaliśmy podpiąć CL_Createmove Doszliśmy do wniosku, że zamiast tego stworzyliśmy funkcję, zamiast ją zahaczyć. Czy ktokolwiek ma pomysł, dlaczego zawór sprawiłby, że byłby eksportowany? Poinformujemy, kiedy to naprawimy.
Reply
#5
Dziwne, próba stworzenia funkcji printf z tier0.dll i msg nie działa. Ale dostanie się do funkcji. Co czyni to jeszcze bardziej dziwnym.
Reply
#6
Zacytować: Originally Posted by romponu Ja i @ verideth ostatnio próbowaliśmy podpiąć CL_Createmove Doszliśmy do wniosku, że zamiast tego stworzyliśmy funkcję, zamiast ją zahaczyć. Czy ktokolwiek ma pomysł, dlaczego zawór sprawiłby, że byłby eksportowany? Poinformujemy, kiedy to naprawimy. Spójrz na post wav Pamiętaj, aby wywołać oryginalną funkcję wewnątrz haka. Zacytować: Originally Posted by verideth Dziwne, próba stworzenia funkcji printf z tier0.dll i msg nie działa. Ale dostanie się do funkcji. Co czyni to jeszcze bardziej dziwnym. Po prostu użyj jednej z funkcji Printf z cl_enginefunc Kod: g_pEngine = (cl_enginefunc_t *) ((DWORD) GetModuleHandle ("client.dll") + 0x96550);
Reply
#7
Zacytować: Originally Posted by xMiku Spójrz na post wav Po prostu użyj jednej z funkcji Printf z cl_enginefunc Kod: g_pEngine = (cl_enginefunc_t *) ((DWORD) GetModuleHandle ("client.dll") + 0x124C60); Cholera, dziękuję bardzo!
Reply
#8
Zacytować: Originally Posted by verideth Cholera, dziękuję bardzo! Właśnie edytowałem mój post powyżej z poprawnym adresem dla HL1. Ten wcześniej był dla cs1.6, więc zapisz go, jeśli potrzebujesz go czasem później.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)