Показать сообщение отдельно

  #892  
Старый 08.02.2016, 23:32
san0
Постоянный
Регистрация: 15.12.2013
Сообщений: 412
С нами: 6530249

Репутация: 133
По умолчанию

Цитата:
Сообщение от AW_Rage  

С Vitual Protect крашит еще при загрузке. В остальных случаях текстдравов нет (адрес отвечает за размер текстдравов(?)).
Пробовал так:

C++:





Код:
DWORD some
=
0x00002042
;
*
(
PDWORD
*
)
0x718D14
=
&
some
;


И так:

Код:





Код:
DWORD some = 0x42200000; // 40.0 = 0x42200000 ?
*(PDWORD*)0x718D14 = &some;


И даже так:

Код:





Код:
float some = 40.0;
*(PFLOAT*)0x718D14 = &some;


Вот код Легенд'а: https://www.blast.hk/threads/34/page-153#post-81158

CLEO:





Код:
{$CLEO}
{$INCLUDE SF}
0001:
wait
0
ms
0662:
"by legend2360"
0662:
"BlastHack - cheating is art"
0AC6:
0@
= label
@font_size
offset
0A8C:
write_memory
0x0718D14
size
4
value
0@
virtual_protect
1
// записываем новый адрес памяти откуда будет читаться значение
// (gta_sa.exe+318D12 - D8 0D 108A8500        - fmul dword ptr [gta_sa.exe+458A10] | gta_sa.exe+458A10 заменяем на адрес "лейбла")
0A8C:
write_memory
0x0858A10
size
4
value
100.0
virtual_protect
1
// Меняем позицию радара
while
true
wait
0
end
:font_size
// standart
hex
00
00
20
42
// 40.0
end

По нажатию на нумпад 1 изменяет позиию радара на 100.0

*Внимание на объявление RadarPos.

Цитата:
Сообщение от Спойлер  


Код:





Код:
#include 
#include 
#include 

#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"

SAMPFUNCS *SF = new SAMPFUNCS();
float RadarPos = 40.0;

void CALLBACK mainloop()
{
   static bool init = false;
   if (!init)
   {
     if (GAME == nullptr)
       return;
     if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME)
       return;
     if (!SF->getSAMP()->IsInitialized())
       return;
     init = true;
   }
   if (SF->getGame()->isKeyPressed(0x61))
   {
     *(DWORD*)(0x0718D14) = (DWORD)&RadarPos;
     *(float*)(0x0858A10) = 100.0;
   }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
   switch (dwReasonForCall)
   {
   case DLL_PROCESS_ATTACH:
     SF->initPlugin(mainloop, hModule);
     break;
   case DLL_THREAD_ATTACH:
   case DLL_THREAD_DETACH:
   case DLL_PROCESS_DETACH:
     break;
   }
   return TRUE;
}


 
Ответить с цитированием