purebasic.info

PureBasic forum
Текущее время: Ср сен 19, 2018 2:18 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Ср май 29, 2013 3:36 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Пн апр 15, 2013 7:03 am
Сообщений: 30
Откуда: Четвертый Энергоблок ЧАЭС
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Пётр писал(а):
Если сможешь внедрить в процесс байт-код на джаве, да еще без юзания джава-машины, расскажешь как ты это сделал.

Я как бы не собирался изучать ЯП только лишь для взлома. Но я больше склоняюсь к С++, а то что-то у джавы нездоровая любовь к памяти. :)
А по сложности изучения превосходит С++, причем преимуществ над плюсами что-то не наблюдается.

Всё, остальным завтра займусь, пора на боковую. :)[/code]

_________________
Ссылка для тех, кому НЕ всё равно! - http://programmist2013.ru/?vmbhash=0bab ... 050c493232


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт май 30, 2013 2:05 am 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Пн апр 15, 2013 7:03 am
Сообщений: 30
Откуда: Четвертый Энергоблок ЧАЭС
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Ниче не получается, готовых ArtMoney таблиц не нашел, да и не помогут они, вот в CSS находил адреса, которые хранят в себе значения количества патронов в М4А1.

Адреса 1-го теста: ----------------- 2-го теста:

09583E22 0956A622
09583FA2 0956A922
09584122 0956B6A2
095845A2 0A130468
0A130468 0A13052C
0A13052C 0C56D0B4
0C56D6B4 0CD9C6FC
0CD8D6FC

Чтобы изменить значение на нужное, надо править все адреса, иначе кол-во патронов менятеся только на экарне, а на самом деле остается то же. Некоторые адреса похожи, я уже думал рандомно искать и присваивать значения, например: 095-тут рандомом перебираем все что можно-22 и т.д., но не все адреса принадлежат игре...

_________________
Ссылка для тех, кому НЕ всё равно! - http://programmist2013.ru/?vmbhash=0bab ... 050c493232


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт май 30, 2013 10:56 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11255
Благодарил (а): 4 раз.
Поблагодарили: 429 раз.
ПолуХакер писал(а):
CSS находил адреса, которые хранят в себе значения количества патронов в М4А1
Если не получалось значит что-то не так делал.

ПолуХакер писал(а):
готовых ArtMoney таблиц не нашел, да и не помогут
CSS это Counter-Strike?
Вот таблицы. http://www.artmoney.ru/rt_win_4.htm
В них хранятся адреса.
К прмиеру для CSS 1.6.
Цитата:
"125A4AF0","","","","ni8","","Кол-во патронов в обойме пистолета"
По адресу 125A4AF0 хранится число патронов в пистолете.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт май 30, 2013 12:14 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Пн апр 15, 2013 7:03 am
Сообщений: 30
Откуда: Четвертый Энергоблок ЧАЭС
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Пётр писал(а):
CSS это Counter-Strike?

Это Counter Strike: Source (v34)

Пётр писал(а):
По адресу 125A4AF0 хранится число патронов в пистолете.

Я уже находил таблицу адресов для CSS, даже две, но при запущенной игре значений по адресам нет, т.е. ArtMoney показывает в колонке "Значение" "<НЕТ>".

_________________
Ссылка для тех, кому НЕ всё равно! - http://programmist2013.ru/?vmbhash=0bab ... 050c493232


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Фальсификатор
СообщениеДобавлено: Сб фев 11, 2017 6:42 pm 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 271
Благодарил (а): 14 раз.
Поблагодарили: 32 раз.
Пункты репутации: 0
Это если через RunProgram или инжект... :?
А хотелось бы таким путем, но не идет:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
pid.l =  3364
*address = 4223011
 
ld.LUID
tp.TOKEN_PRIVILEGES
;-----------------------------------------------------------------------------------------------------------------------------------
ProcessHandle = OpenProcess_(#PROCESS_ALL_ACCESS, #False, pid)
If ProcessHandle
 
  TokenHandle.l = 0
  OpenProcessToken_(ProcessHandle, #TOKEN_ALL_ACCESS, @TokenHandle); = 0
 
  LookupPrivilegeValue_(0, #SE_DEBUG_NAME, @tp\Privileges[0]\Luid)
 
  tp\PrivilegeCount = 1
  tp\Privileges[0]\Luid = ld
  tp\Privileges[0]\Attributes = #SE_PRIVILEGE_ENABLED
  tp\Privileges[0]\Luid\LowPart = 20
  tp\Privileges[0]\Luid\HighPart = 0
  AdjustTokenPrivileges_(TokenHandle, #False, @tp, SizeOf(TOKEN_PRIVILEGES), 0, 0); = 0
 
  Timer1.s = "Запись"
  ;--------------------------------------------------
  Buffer_Len.l = StringByteLength(Timer1, #PB_Ascii)
  *Buffer = AllocateMemory(Buffer_Len)
  PokeS(*Buffer, Timer1, -1, #PB_Ascii)
  ;--------------------------------------------------
 
  WriteProcessMemory_(Processhandle,*address,*Buffer,  Buffer_Len,0)
  CloseHandle_(TokenHandle)
  CloseHandle_(ProcessHandle)
EndIf

exe
Код:
1
2
3
4
5
6
7
OpenWindow(0, 0, 0, 100, 50, "Okno")
StickyWindow(0, 1)
TextGadget(0, 25, 20, 60, 30, "Строка")
Repeat
  Event.l = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End

Может что подскажете?
LookupPrivilegeValue error 997 (асинхронная операция ввода / вывода в процессе). :roll:
И так не пишет:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
pid.l =  1972
*address = $407023
*BaseAddress = 4222976
RegionSize.l = 4096
lpflOldProtect.l = 0
 
memorybasicinformation.MEMORY_BASIC_INFORMATION
;--------------------------------------------------
Timer1.s = "Запись"
Buffer_Len.l = StringByteLength(Timer1, #PB_Ascii)
*Buffer = AllocateMemory(Buffer_Len)
PokeS(*Buffer, Timer1, -1, #PB_Ascii)
;--------------------------------------------------
ProcessHandle = OpenProcess_(#PROCESS_ALL_ACCESS, #False, pid)
If ProcessHandle
  VirtualQueryEx_(ProcessHandle, *BaseAddress, @memorybasicinformation, SizeOf(MEMORY_BASIC_INFORMATION))
  If memorybasicinformation\State = #MEM_COMMIT
    If memorybasicinformation\AllocationProtect = #PAGE_READWRITE Or memorybasicinformation\AllocationProtect  = #PAGE_EXECUTE_READWRITE
      WriteProcessMemory_(Processhandle,*address,*Buffer,  Buffer_Len, 0)
    Else
      VirtualProtectEx_(ProcessHandle, *BaseAddress, RegionSize, #PAGE_EXECUTE_READWRITE, @lpflOldProtect); = 0
      WriteProcessMemory_(Processhandle,*address,*Buffer,  Buffer_Len, 0)
      VirtualProtectEx_(ProcessHandle, *BaseAddress, RegionSize, lpflOldProtect, 0)  ; = 0
    EndIf
    CloseHandle_(ProcessHandle)
  EndIf
EndIf
 

Возможно чего-то в упор не вижу.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Фальсификатор
СообщениеДобавлено: Вс фев 12, 2017 5:08 pm 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 271
Благодарил (а): 14 раз.
Поблагодарили: 32 раз.
Пункты репутации: 0
Страницы в которые пытаюсь записать имеют защиту PAGE_EXECUTE_WRITECOPY, а изменить на PAGE_READWRITE или PAGE_EXECUTE_READWRITE не получается. :?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Фальсификатор
СообщениеДобавлено: Вт фев 21, 2017 8:52 am 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 271
Благодарил (а): 14 раз.
Поблагодарили: 32 раз.
Пункты репутации: 0
Включаем DEBUG
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Procedure PrivilegeDEBUG()
  hToken.l = 0
  DebugPrivilege.l = 0
 
  OpenProcessToken_(GetCurrentProcess_(), #TOKEN_ALL_ACCESS, @hToken)
  If hToken      
    DebugValue.LUID
    LookupPrivilegeValue_("", #SE_DEBUG_NAME, @DebugValue)
   
    NewState.TOKEN_PRIVILEGES
    NewState\PrivilegeCount =1
    NewState\Privileges[0]\Luid\HighPart = DebugValue\HighPart
    NewState\Privileges[0]\Luid\LowPart = DebugValue\LowPart
    NewState\Privileges[0]\Attributes = #SE_PRIVILEGE_ENABLED
    AdjustTokenPrivileges_(hToken, #False, @NewState, SizeOf(TOKEN_PRIVILEGES), 0, 0)
   
    ;-------------------------------------------
    ps.PRIVILEGE_SET
    ps\PrivilegeCount = 1
    ps\Privilege[0]\Attributes = 0
    ps\Privilege[0]\Luid\HighPart = DebugValue\HighPart
    ps\Privilege[0]\Luid\LowPart = DebugValue\LowPart
    PrivilegeCheck_(hToken, ps, @DebugPrivilege)
    If DebugPrivilege <> 1
      MessageRequester("Error", "DEBUG отключен")
      End
    EndIf
    ;-------------------------------------------
    CloseHandle_(hToken)
  EndIf
  ProcedureReturn
EndProcedure

Не знаю как выше, под XP работает.
Кстати, вариант с сапером:
Код:
1
2
3
4
5
6
7
8
9
*AddressPoint = $0100383D
tim.l = $36EE8068
 
GetWindowThreadProcessId_(FindWindow_(0, "Сапер"), @ProcessID)
 ProcessHandle.l= OpenProcess_(#PROCESS_ALL_ACCESS , #False, ProcessID)
 If ProcessHandle
   WriteProcessMemory_(ProcessHandle, *AddressPoint, @tim, 4, 0)  
   CloseHandle_(ProcessHandle)
 EndIf



Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB