Перейти к содержанию

Как писать скрипты


Akama

Рекомендуемые сообщения

11 минуту назад, maxx500 сказал:

Уважаемые админы и помогаторы хорошо бы сделать видео уроки на ютуб как писать скрипты. Было бы очень хорошо для новичков да и остальным тоже познавательно. Пожалуйста сделайте подобные видео уроки.

А чем не угодили мои видео из курса "Взлом игр от А до Я"?

Ссылка на комментарий
Поделиться на другие сайты

Уважаемый Xipho, ваши уроки очень хорошие спасибо вам большое за них. Но хотелось бы побольше про скрипты узнать на разный взлом (бесконечное передвижение, найм юнитов за 1 ход и.т.д.). Если у вас будет время взломайте пожалуйста игру Empire: Total War в вашем разделе Как я взламывал.

Ссылка на комментарий
Поделиться на другие сайты

38 minutes ago, maxx500 said:

Уважаемые админы и помогаторы хорошо бы сделать видео уроки на ютуб как писать скрипты. Было бы очень хорошо для новичков да и остальным тоже познавательно. Пожалуйста сделайте подобные видео уроки.

Как писать скрипты на что? Я честно не понимаю подобных вопросов. Ну так:

Скрытый текст

[ENABLE]
aobscan(heroHealth,E9 D9 9F B0 00 00 00)
alloc(memHealth,$1000)
label(code)
label(return)

memHealth:
  mov [edi+000000B0],(float)100
  jmp return

code:
  fstp dword ptr [edi+000000B0]
  jmp return

heroHealth+01:
  jmp memHealth
  nop
return:
registersymbol(heroHealth)

[DISABLE]
heroHealth+01:
  db D9 9F B0 00 00 00
unregistersymbol(heroHealth)
dealloc(memHealth)


Может тогда стоит задавать более конкретные вопросы по поводу как правильно написать скрипт на конкретную инструкцию ( для функции )?

 

17 minutes ago, maxx500 said:

Если у вас будет время взломайте пожалуйста игру Empire: Total War в вашем разделе Как я взламывал.

Ты подал запрос уже не надо просить в других топиках.

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, ReWanet сказал:

Как писать скрипты на что? Я честно не понимаю подобных вопросов. Ну так:

  Показать содержимое


[ENABLE]
aobscan(heroHealth,E9 D9 9F B0 00 00 00)
alloc(memHealth,$1000)
label(code)
label(return)

memHealth:
  mov [edi+000000B0],(float)100
  jmp return

code:
  fstp dword ptr [edi+000000B0]
  jmp return

heroHealth+01:
  jmp memHealth
  nop
return:
registersymbol(heroHealth)

[DISABLE]
heroHealth+01:
  db D9 9F B0 00 00 00
unregistersymbol(heroHealth)
dealloc(memHealth)


Понял что-то? Нет? Неожиданно!
Может тогда стоит задавать более конкретные вопросы по поводу как правильно написать скрипт на конкретную инструкцию ( для функции )?

 

Ты подал запрос уже не надо просить в других топиках.

ReWanet, на примере игры Empire Total War как написать скрипт на функцию бесконечного передвижения или найм войск за 1 ход.

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, maxx500 сказал:

на примере игры Empire Total War

Во взломе игр не бывает так, чтобы писались самые универсальные скрипты. К каждой игре нужен свой подход. В своих видео я демонстрирую разные виды подхода, но это не значит, что нужно действовать абсолютно также. Нужно учиться анализировать код и поведение игры, иначе никак. А вот эти вот хитрости "покажи на примере %ИМЯИГРЫ%" меня уже начали утомлять. Смотрите видео, пробуйте, делайте хоть что-то самостоятельно. А то не хотите сами ничего делать, хотите получить готовые скрипты/таблицы/взломы, но при этом "покажи на примере". Я частенько делаю по-другому -  нахожу игру, которая схожа по логике с той, что просят в примере, и где нужно действовать аналогичным образом. Взламываю ее, показываю, но это не помогает, потому что по факту просящий не хочет ничего делать сам, а хочет готовый скрипт. Я уже склоняюсь к мысли о том, что за все последующие комментарии тут и на ютубе в духе "покажи на примере" тут буду выдавать пред, а на ютубе перманентно банить. Напомню, что наш ресурс по большей части призван научить мыслить как геймхакер, искать пути взлома самостоятельно, а не слепо повторять урок. Да, для начального понятия нужно скачать ту же игру, что и в уроке, и пройти весь урок по шагам. Потом, когда придет понимание, переходить к другим играм. Извиняюсь за резкость, но наболело уже.

Ссылка на комментарий
Поделиться на другие сайты

Уважаемый Xipho, да я сильно хочу сам научиться писать скрипты. По вашему уроку в Doom 2016 я сам сделал легкий скрипт на деньги в стратегии. Извините если что лишнее ляпнул. Будем сами помаленьку осваивать взлом.

Ссылка на комментарий
Поделиться на другие сайты

15 минут назад, maxx500 сказал:

да я сильно хочу сам научиться писать скрипты

 

Тогда тебе больше подойдут для начала игры с отрытым исходным кодом, типа Pwn Adventure 3: Pwnie Island, Assault Cube и ещё вроде была стратегия опен сорсная, где перед написанием скрипта можно посмотреть устройство функции, которая работает с интересующим значением.  А уже после того как поймешь устройство функции и иерархию в игре, то можно приступать к реальным играм(имхо советую с отрытым миром там много чего можно взломать). 

Ссылка на комментарий
Поделиться на другие сайты

  • 9 месяцев спустя...

//Можно задать парочку вопросов, связанных с AA?

Как:

[0] находить скорострельность, наклон;

[1] создать валлхак (квадраты вокруг объектов);

[2] работать с адресом, к которому обращается сотня инструкций, можно ли делать несколько aobscan'ов (чтобы объединить несколько скриптов в т.ч. поиск в 1);

[3] зачем нужна полная инъекция;

[4] как писать GUI читы (внутриигровое окно);

[5] как защитить трейнер;

[6] для чего нужен отладчик в режиме ядра;

[7] реально ли написать игнор текстур без изучения кода игры;

[8] как работать с call;

[9] формировать/перехватывать пакет, отправляемый на сервер;

[A] выполнять атаку на группу адресов (например жизни сразу всех персонажей);

нужно-ли что то дописывать в скрипт при работе с mono (т.к. готовый трейнер не распознает адрес).

//Спасибо за внимание.

Изменено пользователем PresetX
..
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Привет , я умею писать скрипт на нитро в игре нфс мост вантед 2012 и нит фор спид ривалс , а вот немогу не как написать скримт на нерозбеваемую машину или бессмертие какое надо искать значение ? Всем спасибо зарание

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

Здравствуйте, о велике, о могучие, кульные хацкеры, решил я тут расширить (или обновить) свои познания, да и скриптами таблицы пополнить, скрипт написал, а он пёс такой, не в какую не работает.

Скрипт на прибавление 1000 денег.

Спойлер

{ Game   : GoldenLand.exe
  Version: 
  Date   : 2020-11-18
  Author : MeVirus

  This script does blah blah blah
}

[ENABLE]
registersymbol(INJECT)
registersymbol(_money)
{$LUA}
memrec=getAddressList().getMemoryRecordByID("1387")
memrec.color = 0x0008000
PlaySound(findTableFile([[Activate]]))
timer = createTimer(true)
timer:setInterval(100)
timer.OnTimer = function()
  sleep "5000"
  if memoryrecord_isActive(memrec) then
    memoryrecord_unfreeze(memrec)
    memrec.color = 0x00000ff
    PlaySound(findTableFile([[Deactivate]]))
  end
end

{$ASM}

aobscanmodule(INJECT,Server.dll,0C 75 0E 8B 54 24 08 03 90 B0 00 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp dword ptr [_money],1
  jne code
  add [eax+000000B0],3E8
  mov [_money],0 //чтоб бесконечного цикла не получилось

code:
  add edx,[eax+000000B0]
  //add dword ptr[eax+000000B0],3E8
exit:
  jmp return

INJECT+07:
  jmp newmem
  nop

_money:
dd 0

return:

[DISABLE]
{$LUA}
timer:setEnabled(false)

{$ASM}

INJECT+07:
  db 03 90 B0 00 00 00

unregistersymbol(INJECT)
unregistersymbol(_money)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Server.dll"+4C650

"Server.dll"+4C62D: 52                       -  push edx
"Server.dll"+4C62E: E8 F7 F8 01 00           -  call Server.dll+6BF2A
"Server.dll"+4C633: 8B 55 0C                 -  mov edx,[ebp+0C]
"Server.dll"+4C636: FF 34 9A                 -  push [edx+ebx*4]
"Server.dll"+4C639: 8B CD                    -  mov ecx,ebp
"Server.dll"+4C63B: E8 AC 15 00 00           -  call Server.dll+4DBEC
"Server.dll"+4C640: 8B 90 A8 00 00 00        -  mov edx,[eax+000000A8]
"Server.dll"+4C646: 3B 54 24 0C              -  cmp edx,[esp+0C]
"Server.dll"+4C64A: 75 0E                    -  jne Server.dll+4C65A
"Server.dll"+4C64C: 8B 54 24 08              -  mov edx,[esp+08]
// ---------- INJECTING HERE ----------
"Server.dll"+4C650: 03 90 B0 00 00 00        -  add edx,[eax+000000B0]
// ---------- DONE INJECTING  ----------
"Server.dll"+4C656: 89 54 24 08              -  mov [esp+08],edx
"Server.dll"+4C65A: 83 C3 01                 -  add ebx,01
"Server.dll"+4C65D: 53                       -  push ebx
"Server.dll"+4C65E: 8B 4C 24 08              -  mov ecx,[esp+08]
"Server.dll"+4C662: E8 39 FB FF FF           -  call Server.dll+4C1A0
"Server.dll"+4C667: 8B D8                    -  mov ebx,eax
"Server.dll"+4C669: 83 FB FF                 -  cmp ebx,-01
"Server.dll"+4C66C: 0F 85 69 FF FF FF        -  jne Server.dll+4C5DB
"Server.dll"+4C672: 8B 5C 24 08              -  mov ebx,[esp+08]
"Server.dll"+4C676: 8B 3C 24                 -  mov edi,[esp]
}

 

Не сочтите за дерзость, ткните меня паразита такого носом, что я не так написал, где я ошибся.

 

PS. Игра "Златогорье 2", ОС Win 10 [x64].

PPS. Заранее спасибо!

Ссылка на комментарий
Поделиться на другие сайты

В общем получилось не так как я хотел изначально, ну да и ладно, главное что работает, пусть криво и убого, но веть работает.

 

20000 монет при покупке (без таймера)

Спойлер

{ Game   : GoldenLand.exe
  Version: 
  Date   : 2020-11-19
  Author : MeVirus

  This script does blah blah blah
}

define(address,"Server.dll"+4CBDF)
define(bytes,8B 90 B0 00 00 00)

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
assert(address,bytes)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov dword ptr[eax+000000B0],#20000
code:
  mov edx,[eax+000000B0]
  jmp return

address:
  jmp newmem
  nop
return:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
address:
  db bytes
  // mov edx,[eax+000000B0]

dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Server.dll"+4CBDF

"Server.dll"+4CBB5: 89 74 24 0C                       -  mov [esp+0C],esi
"Server.dll"+4CBB9: FF 34 AA                          -  push [edx+ebp*4]
"Server.dll"+4CBBC: 8B CB                             -  mov ecx,ebx
"Server.dll"+4CBBE: E8 29 10 00 00                    -  call Server.dll+4DBEC
"Server.dll"+4CBC3: 85 C0                             -  test eax,eax
"Server.dll"+4CBC5: 0F 84 98 00 00 00                 -  je Server.dll+4CC63
"Server.dll"+4CBCB: 8B 90 A8 00 00 00                 -  mov edx,[eax+000000A8]
"Server.dll"+4CBD1: 3B 54 24 14                       -  cmp edx,[esp+14]
"Server.dll"+4CBD5: 0F 85 88 00 00 00                 -  jne Server.dll+4CC63
"Server.dll"+4CBDB: 8B 74 24 10                       -  mov esi,[esp+10]
// ---------- INJECTING HERE ----------
"Server.dll"+4CBDF: 8B 90 B0 00 00 00                 -  mov edx,[eax+000000B0]
// ---------- DONE INJECTING  ----------
"Server.dll"+4CBE5: 3B F2                             -  cmp esi,edx
"Server.dll"+4CBE7: 0F 82 21 01 00 00                 -  jb Server.dll+4CD0E
"Server.dll"+4CBED: 3B F2                             -  cmp esi,edx
"Server.dll"+4CBEF: 0F 84 91 00 00 00                 -  je Server.dll+4CC86
"Server.dll"+4CBF5: 2B F2                             -  sub esi,edx
"Server.dll"+4CBF7: 3B 6B 10                          -  cmp ebp,[ebx+10]
"Server.dll"+4CBFA: 89 74 24 10                       -  mov [esp+10],esi
"Server.dll"+4CBFE: 73 12                             -  jae Server.dll+4CC12
"Server.dll"+4CC00: 8B 14 24                          -  mov edx,[esp]
"Server.dll"+4CC03: 8B 7B 14                          -  mov edi,[ebx+14]
}

 

 

Цитата

Дааа, я это сделал, не поздравляйте...

 

20000 монет при покупке (таймер 10 секунд)

Спойлер

{ Game   : GoldenLand.exe
  Version: 
  Date   : 2020-11-19
  Author : MeVirus

  This script does blah blah blah
}

[ENABLE]
{$LUA}
memrec=getAddressList().getMemoryRecordByID("1398")
memrec.color = 0x0008000
PlaySound(findTableFile([[Activate]]))
timer = createTimer(true)
timer:setInterval(100)
timer.OnTimer = function()
timer.destroy()
  sleep "10000"
  if memoryrecord_isActive(memrec) then
    memoryrecord_unfreeze(memrec)
    memrec.color = 0x00000ff
    PlaySound(findTableFile([[Deactivate]]))
  end
end

{$ASM}
aobscanmodule(money,Server.dll,8B 90 B0 00 00 00 3B F2) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov dword ptr[eax+000000B0],#20000
code:
  mov edx,[eax+000000B0]
  jmp return

money:
  jmp newmem
  nop
return:
registersymbol(money)

[DISABLE]

money:
  db 8B 90 B0 00 00 00

unregistersymbol(money)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Server.dll"+4CBDF

"Server.dll"+4CBB5: 89 74 24 0C                       -  mov [esp+0C],esi
"Server.dll"+4CBB9: FF 34 AA                          -  push [edx+ebp*4]
"Server.dll"+4CBBC: 8B CB                             -  mov ecx,ebx
"Server.dll"+4CBBE: E8 29 10 00 00                    -  call Server.dll+4DBEC
"Server.dll"+4CBC3: 85 C0                             -  test eax,eax
"Server.dll"+4CBC5: 0F 84 98 00 00 00                 -  je Server.dll+4CC63
"Server.dll"+4CBCB: 8B 90 A8 00 00 00                 -  mov edx,[eax+000000A8]
"Server.dll"+4CBD1: 3B 54 24 14                       -  cmp edx,[esp+14]
"Server.dll"+4CBD5: 0F 85 88 00 00 00                 -  jne Server.dll+4CC63
"Server.dll"+4CBDB: 8B 74 24 10                       -  mov esi,[esp+10]
// ---------- INJECTING HERE ----------
"Server.dll"+4CBDF: 8B 90 B0 00 00 00                 -  mov edx,[eax+000000B0]
// ---------- DONE INJECTING  ----------
"Server.dll"+4CBE5: 3B F2                             -  cmp esi,edx
"Server.dll"+4CBE7: 0F 82 21 01 00 00                 -  jb Server.dll+4CD0E
"Server.dll"+4CBED: 3B F2                             -  cmp esi,edx
"Server.dll"+4CBEF: 0F 84 91 00 00 00                 -  je Server.dll+4CC86
"Server.dll"+4CBF5: 2B F2                             -  sub esi,edx
"Server.dll"+4CBF7: 3B 6B 10                          -  cmp ebp,[ebx+10]
"Server.dll"+4CBFA: 89 74 24 10                       -  mov [esp+10],esi
"Server.dll"+4CBFE: 73 12                             -  jae Server.dll+4CC12
"Server.dll"+4CC00: 8B 14 24                          -  mov edx,[esp]
"Server.dll"+4CC03: 8B 7B 14                          -  mov edi,[ebx+14]
}

 

PS:

Спойлер

Странно, но скрипты срабатывают на покупку, на продажу работают, но не в нашу пользу (увеличивает деньги продавца), ну да ладно, скрипты оставлю здесь на память, или как памятка для таких как я утюгов.

.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

Доброго времени суток. Хотелось бы узнать у экспертов, как занопить в newmem, если при добавлении нопов в newmem, значение продолжается меняться. Вот пример...но тут мне пришлось нопить сам код (тогда значение в игре не меняется). А через newmem это можно как то сделать? Закомментировал в code ту функцию, которую нужно занопить. 
 

Спойлер

[ENABLE]

aobscanmodule(Energy,GameRus.exe,39 86 A8 0A 00 00) // should be unique
alloc(newmem,$1000)
 

label(code)
label(return)
 

newmem:
 

code:
  db 90 90 90 90
  //cmp [esi+00000AA8],eax
  jmp return


Energy:
  jmp newmem
  nop

return:
registersymbol(Energy)


[DISABLE]


Energy:
  db 39 86 A8 0A 00 00


unregistersymbol(Energy)
dealloc(newmem)

 

Изменено пользователем Конунг
Ссылка на комментарий
Поделиться на другие сайты

59 минут назад, Конунг сказал:

как занопить в newmem

Судя по твоему коду, ты не представляешь, что делаешь и зачем нопишь. Рекомендую почитать про инструкцию cmp, тогда станет понятно, что ты делаешь не так.

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Xipho сказал:

Судя по твоему коду, ты не представляешь, что делаешь и зачем нопишь. Рекомендую почитать про инструкцию cmp, тогда станет понятно, что ты делаешь не так.

Да, я новичок. Но суть в том, что когда ее в коде нопишь, значения у персонажей становится максимальными и не падают. Вот оригинальный код на всякий случай. Там стоят комментарии, где такой же скрипт нопами, делает максимальное значение параметров. А вот через newmem не получается. Мне кажется через него правильнее будет, чем через code. А про cmp прочитаю, спасибо за наводку.

Спойлер

00460115: 8B CE                              - mov ecx,esi
00460117: E8 BE B2 FC FF             - call 0042B3DA
0046011C: 3B D8                             - cmp ebx,eax  //Религия
0046011E: 7D 02                              - jnl 00460122
00460120: FF 07                               - inc [edi]
00460122: 33 ED                              - xor ebp,ebp
00460124: A1 EC 7B 4F 00             - mov eax,[004F7BEC]
00460129: 8B C8                              - mov ecx,eax
0046012B: D1 F9                              - sar ecx,1
0046012D: 03 C1                             - add eax,ecx
// ---------- INJECTING HERE ----------
0046012F: 39 86 A8 0A 00 00       - cmp [esi+00000AA8],eax  //Энергия
// ---------- DONE INJECTING  ----------
00460135: 7E 06                             - jle 0046013D
00460137: 89 86 A8 0A 00 00      - mov [esi+00000AA8],eax
0046013D: A1 F0 7B 4F 00           - mov eax,[004F7BF0]
00460142: 8B C8                            - mov ecx,eax
00460144: D1 F9                            - sar ecx,1
00460146: 03 C1                            - add eax,ecx
00460148: 39 86 AC 0A 00 00     - cmp [esi+00000AAC],eax  //Стамина
0046014E: 7E 06                            - jle 00460156
00460150: 89 86 AC 0A 00 00     - mov [esi+00000AAC],eax
00460156: A1 F4 7B 4F 00           - mov eax,[004F7BF4]

 

Изменено пользователем Конунг
Ссылка на комментарий
Поделиться на другие сайты

33 минуты назад, Конунг сказал:

Но суть в том, что когда ее в коде нопишь, значения у персонажей становится максимальными и не падают.

Вот как почитаешь про инструкцию, станет понятно, почему так происходит.

Ссылка на комментарий
Поделиться на другие сайты

18 часов назад, Конунг сказал:

Да, я новичок. Но суть в том, что когда ее в коде нопишь, значения у персонажей становится максимальными и не падают. Вот оригинальный код на всякий случай. Там стоят комментарии, где такой же скрипт нопами, делает максимальное значение параметров. А вот через newmem не получается. Мне кажется через него правильнее будет, чем через code. А про cmp прочитаю, спасибо за наводку.

  Скрыть контент

00460115: 8B CE                              - mov ecx,esi
00460117: E8 BE B2 FC FF             - call 0042B3DA
0046011C: 3B D8                             - cmp ebx,eax  //Религия
0046011E: 7D 02                              - jnl 00460122
00460120: FF 07                               - inc [edi]
00460122: 33 ED                              - xor ebp,ebp
00460124: A1 EC 7B 4F 00             - mov eax,[004F7BEC]
00460129: 8B C8                              - mov ecx,eax
0046012B: D1 F9                              - sar ecx,1
0046012D: 03 C1                             - add eax,ecx
// ---------- INJECTING HERE ----------
0046012F: 39 86 A8 0A 00 00       - cmp [esi+00000AA8],eax  //Энергия
// ---------- DONE INJECTING  ----------
00460135: 7E 06                             - jle 0046013D
00460137: 89 86 A8 0A 00 00      - mov [esi+00000AA8],eax
0046013D: A1 F0 7B 4F 00           - mov eax,[004F7BF0]
00460142: 8B C8                            - mov ecx,eax
00460144: D1 F9                            - sar ecx,1
00460146: 03 C1                            - add eax,ecx
00460148: 39 86 AC 0A 00 00     - cmp [esi+00000AAC],eax  //Стамина
0046014E: 7E 06                            - jle 00460156
00460150: 89 86 AC 0A 00 00     - mov [esi+00000AAC],eax
00460156: A1 F4 7B 4F 00           - mov eax,[004F7BF4]

 

Тебе или наверное всем(и мне тоже)) нужен справочник команд ассемблера; про NOP - http://www.club155.ru/x86cmd/NOP , про CMP  http://www.club155.ru/x86cmd/CMP . Дело в том что когда ты нопишь инструкцию CMP. проверка не происходит и значение не меняется.

 

 

 

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, NubZilla сказал:

Тебе или наверное всем(и мне тоже)) нужен справочник команд ассемблера; про NOP, про CMP. Дело в том что когда ты нопишь инструкцию CMP. проверка не происходит и значение не меняется.

 

 

 

Не надо публично, рекламировать сторонние ресурсы, напиши личное сообщение.

Ссылка на комментарий
Поделиться на другие сайты

  • 9 месяцев спустя...

Нет ничего такого, чтобы использовать много девяток и другие большие числа, ведь главное, чтоб всё стабильно работало, а в большинстве случаев так и будет)

Может и выглядит не совсем эстетично, зато работает и обычно из-за этого не возникает лагов

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Добрый день!

Подскажите такой вопрос, нашёл адрес пытаюсь записать его в метку, сделал такой код

Спойлер
alloc(newmem,$1000,ammo_bonus)

label(code)
label(return)
label(pABonus)
registersymbol(pABonus)

newmem:
  mov [pABonus],rax
code:
  movsd xmm6,[rax+rcx*8]
  jmp return
ammo_bonus:
  jmp newmem
pABonus:
  db 0
return:
registersymbol(ammo_bonus)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
ammo_bonus:
  db F2 0F 10 34 C8

unregistersymbol(ammo_bonus)
unregistersymbol(pABonus)
dealloc(newmem)

 

 

Далее создаю запись в CE которая смотрит на pABonus, но адрес в неё не правильный, так как мне по сути нужен не rax а именно rax+rx*8 а как этот адрес поместить в метку?

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за ответ, извиняюсь за глупый вопрос, но не нашёл информации как сделать. Не подскажите ещё, по Вашему описанию, я получил корректный адрес, НО он лёг в значение label pABonus, я же хочу сделать так, чтобы он лёг в адрес этого поля и после активации скрипта я мог корректировать содержимое полученного адреса. Возможно в самом CE надо как-то иначе заводить, но я не не нашёл. Может есть где почитать про такое подробно для совсем новичка?

Ссылка на комментарий
Поделиться на другие сайты

17 часов назад, Din102 сказал:

после активации скрипта я мог корректировать содержимое полученного адреса

Вытаскивай в таблицу не метку, а метку как указатель.

Ссылка на комментарий
Поделиться на другие сайты

В 27.01.2022 в 10:55 AM, Din102 сказал:

Далее

[rax+rcx*8] - это контейнер, даже если сделаешь правильно (через lea) у тебя все равно будет много адресов, нужно фильтровать по ID, в твоем случае id находится в ecx 

Ссылка на комментарий
Поделиться на другие сайты

18 часов назад, Garik66 сказал:

в твоем случае id находится в ecx 

А как ты определил что в ecx я смотрел скрипт там его нет, и логи он не прописал.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.