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

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

Название игры: Breach & Clean

Версия игры: 1.0.0.0

Тип издания: Free license

Тип запроса: Трейнер или таблица

Требуемые опции: 

  1. Заморозка таймера
  2. Люди не реагируют на игрока

Дополнительная информация: 

Привет все, хочу попросить кого-нибудь помочь со  взломом данной игры.

(Игру можно свободно скачать в интернете)

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

А может быть я что-то неправильно делаю? 

Я был бы рад, если бы вы мне объяснили мои ошибки с таймером, так я начал заниматься взломами не так давно, и это был бы хороший опыт :)

Вторая функция не обязательна, но было бы круто, если её тоже возможно будет реализовать :) 

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

40 минут назад, FailMan сказал:

Заморозка таймера

Спойлер

{ Game   : BAC2TM-Win64-Shipping.exe
  Version: 
  Date   : 2018-03-07
  Author : Alexander

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(Boop,BAC2TM-Win64-Shipping.exe,F3 0F 11 87 84 04 00 00) // should be unique
alloc(newmem,$1000,"BAC2TM-Win64-Shipping.exe"+15B6585)

label(code)
label(return)

newmem:

code:

  mov [rdi+00000484],0 // пишущее значение
  mov [rdi+000004DC],0
  mov [rdi+0000050C],0 //час
  mov [rdi+00000520],0
  jmp return

Boop:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(Boop)

[DISABLE]

Boop:
  db F3 0F 11 87 84 04 00 00

unregistersymbol(Boop)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "BAC2TM-Win64-Shipping.exe"+15B6585

"BAC2TM-Win64-Shipping.exe"+15B6550: 48 8D 14 99              -  lea rdx,[rcx+rbx*4]
"BAC2TM-Win64-Shipping.exe"+15B6554: 48 85 D2                 -  test rdx,rdx
"BAC2TM-Win64-Shipping.exe"+15B6557: 74 06                    -  je BAC2TM-Win64-Shipping.exe+15B655F
"BAC2TM-Win64-Shipping.exe"+15B6559: C7 02 30 00 00 00        -  mov [rdx],00000030
"BAC2TM-Win64-Shipping.exe"+15B655F: F3 0F 10 8F D8 04 00 00  -  movss xmm1,[rdi+000004D8]
"BAC2TM-Win64-Shipping.exe"+15B6567: F3 0F 10 87 84 04 00 00  -  movss xmm0,[rdi+00000484]
"BAC2TM-Win64-Shipping.exe"+15B656F: E8 EC 78 5C FF           -  call BAC2TM-Win64-Shipping.exe+B7DE60
"BAC2TM-Win64-Shipping.exe"+15B6574: 44 8B 45 2F              -  mov r8d,[rbp+2F]
"BAC2TM-Win64-Shipping.exe"+15B6578: BB 1A 00 00 00           -  mov ebx,0000001A
"BAC2TM-Win64-Shipping.exe"+15B657D: F3 0F 11 87 DC 04 00 00  -  movss [rdi+000004DC],xmm0
// ---------- INJECTING HERE ----------
"BAC2TM-Win64-Shipping.exe"+15B6585: F3 0F 11 87 84 04 00 00  -  movss [rdi+00000484],xmm0
// ---------- DONE INJECTING  ----------
"BAC2TM-Win64-Shipping.exe"+15B658D: E9 6E F6 FF FF           -  jmp BAC2TM-Win64-Shipping.exe+15B5C00
"BAC2TM-Win64-Shipping.exe"+15B6592: 40 38 B7 B1 04 00 00     -  cmp [rdi+000004B1],sil
"BAC2TM-Win64-Shipping.exe"+15B6599: 0F 85 DF F6 FF FF        -  jne BAC2TM-Win64-Shipping.exe+15B5C7E
"BAC2TM-Win64-Shipping.exe"+15B659F: BB 0E 00 00 00           -  mov ebx,0000000E
"BAC2TM-Win64-Shipping.exe"+15B65A4: E9 57 F6 FF FF           -  jmp BAC2TM-Win64-Shipping.exe+15B5C00
"BAC2TM-Win64-Shipping.exe"+15B65A9: BB 3C 00 00 00           -  mov ebx,0000003C
"BAC2TM-Win64-Shipping.exe"+15B65AE: E9 4D F6 FF FF           -  jmp BAC2TM-Win64-Shipping.exe+15B5C00
"BAC2TM-Win64-Shipping.exe"+15B65B3: 90                       -  nop 
"BAC2TM-Win64-Shipping.exe"+15B65B4: 1B 5C 5B 01              -  sbb ebx,[rbx+rbx*2+01]
"BAC2TM-Win64-Shipping.exe"+15B65B8: 2B 5C 5B 01              -  sub ebx,[rbx+rbx*2+01]
}

 

 

40 минут назад, FailMan сказал:

А может быть я что-то неправильно делаю? 

Было бы не плохо узнать что ты делаешь, а после смотреть что не правильно.

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

3 часа назад, kiwipapayamongoose сказал:
  Показать контент


{ Game   : BAC2TM-Win64-Shipping.exe
  Version: 
  Date   : 2018-03-07
  Author : Alexander

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(Boop,BAC2TM-Win64-Shipping.exe,F3 0F 11 87 84 04 00 00) // should be unique
alloc(newmem,$1000,"BAC2TM-Win64-Shipping.exe"+15B6585)

label(code)
label(return)

newmem:

code:

  mov [rdi+00000484],0 // пишущее значение
  mov [rdi+000004DC],0
  mov [rdi+0000050C],0 //час
  mov [rdi+00000520],0
  jmp return

Boop:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(Boop)

[DISABLE]

Boop:
  db F3 0F 11 87 84 04 00 00

unregistersymbol(Boop)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "BAC2TM-Win64-Shipping.exe"+15B6585

"BAC2TM-Win64-Shipping.exe"+15B6550: 48 8D 14 99              -  lea rdx,[rcx+rbx*4]
"BAC2TM-Win64-Shipping.exe"+15B6554: 48 85 D2                 -  test rdx,rdx
"BAC2TM-Win64-Shipping.exe"+15B6557: 74 06                    -  je BAC2TM-Win64-Shipping.exe+15B655F
"BAC2TM-Win64-Shipping.exe"+15B6559: C7 02 30 00 00 00        -  mov [rdx],00000030
"BAC2TM-Win64-Shipping.exe"+15B655F: F3 0F 10 8F D8 04 00 00  -  movss xmm1,[rdi+000004D8]
"BAC2TM-Win64-Shipping.exe"+15B6567: F3 0F 10 87 84 04 00 00  -  movss xmm0,[rdi+00000484]
"BAC2TM-Win64-Shipping.exe"+15B656F: E8 EC 78 5C FF           -  call BAC2TM-Win64-Shipping.exe+B7DE60
"BAC2TM-Win64-Shipping.exe"+15B6574: 44 8B 45 2F              -  mov r8d,[rbp+2F]
"BAC2TM-Win64-Shipping.exe"+15B6578: BB 1A 00 00 00           -  mov ebx,0000001A
"BAC2TM-Win64-Shipping.exe"+15B657D: F3 0F 11 87 DC 04 00 00  -  movss [rdi+000004DC],xmm0
// ---------- INJECTING HERE ----------
"BAC2TM-Win64-Shipping.exe"+15B6585: F3 0F 11 87 84 04 00 00  -  movss [rdi+00000484],xmm0
// ---------- DONE INJECTING  ----------
"BAC2TM-Win64-Shipping.exe"+15B658D: E9 6E F6 FF FF           -  jmp BAC2TM-Win64-Shipping.exe+15B5C00
"BAC2TM-Win64-Shipping.exe"+15B6592: 40 38 B7 B1 04 00 00     -  cmp [rdi+000004B1],sil
"BAC2TM-Win64-Shipping.exe"+15B6599: 0F 85 DF F6 FF FF        -  jne BAC2TM-Win64-Shipping.exe+15B5C7E
"BAC2TM-Win64-Shipping.exe"+15B659F: BB 0E 00 00 00           -  mov ebx,0000000E
"BAC2TM-Win64-Shipping.exe"+15B65A4: E9 57 F6 FF FF           -  jmp BAC2TM-Win64-Shipping.exe+15B5C00
"BAC2TM-Win64-Shipping.exe"+15B65A9: BB 3C 00 00 00           -  mov ebx,0000003C
"BAC2TM-Win64-Shipping.exe"+15B65AE: E9 4D F6 FF FF           -  jmp BAC2TM-Win64-Shipping.exe+15B5C00
"BAC2TM-Win64-Shipping.exe"+15B65B3: 90                       -  nop 
"BAC2TM-Win64-Shipping.exe"+15B65B4: 1B 5C 5B 01              -  sbb ebx,[rbx+rbx*2+01]
"BAC2TM-Win64-Shipping.exe"+15B65B8: 2B 5C 5B 01              -  sub ebx,[rbx+rbx*2+01]
}

 

 

Было бы не плохо узнать что ты делаешь, а после смотреть что не правильно.

 

Сначала ищу значения, потом 

2D8ig.jpg

 

Потом на эти значения ставлю отладчик, и смотрю доп информацию

 

2D8ii.jpg

 

После этот адрес начинаю искать

2D8ij.jpg

 

И так пока не появится зеленая, но она не появлялась ни разу :(

Пробовал смотреть по смещениям адреса, но там ничего похожего на время не находил.

 

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

 

Хотя я думал, что выбрал для тренировки довольно простую игру :D

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

19 минут назад, FailMan сказал:

Хотя я думал, что выбрал для тренировки довольно простую игру

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

 

22 минуты назад, FailMan сказал:

И так пока не появится зеленая, но она не появлялась ни разу

Просто адрес не верный, либо бряк на доступ, а не на запись стоял и поэтому вышел на инструкцию работающую с копией значения.

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

2 минуты назад, kiwipapayamongoose сказал:

Просто адрес не верный, либо бряк на доступ, а не на запись стоял и поэтому вышел на инструкцию работающую с копией значения.

 

ааа, походу да. На acces я ставил. 

То есть Write, это те строки, которые записывают число в данную ячейку памяти, так?

Если поставить на write, то таким образом все найдется?

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

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

То есть Write, это те строки, которые записывают число в данную ячейку памяти, так?

Если поставить на write, то таким образом все найдется?

на запись, будут выведены все инструкции пишущие в адрес.

а на доступ абсолютно все инструкции работающие с адресом.

 

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

Если поставить на write, то таким образом все найдется?

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

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

1 минуту назад, kiwipapayamongoose сказал:

на запись, будут выведены все инструкции пишущие в адрес.

а на доступ абсолютно все инструкции работающие с адресом.

 

Спасибо большое)

С людьми я так понимаю все тоже самое, только проблема в том, чтобы найти адрес, который отвечает за их реакцию?

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

6 минут назад, FailMan сказал:

С людьми я так понимаю все тоже самое, только проблема в том, чтобы найти адрес, который отвечает за их реакцию?

С ними все сложнее, там есть 1 функция которая постоянно работает со всеми функциями в игре, типа вызова по шаблону.

Т.е есть какая-то проверка, которая задает какой шаблон использовать, после того как игра получает адрес функции по заданному шаблону, то вызывает его.
Так что код всегда одинаковый и отловить с помощью CE я не смог, почему-то у него проблемы с трассировкой с условием. Я пробовал выйти на эту проверку, через функцию которая сохраняет результат игры и сбрасывает статистику, когда нпц запалит и игра завершится.
Думаю можно попробовать поискать состояние нпц, когда он не видит игрока, когда заметил и когда агрится.

Сделать можно, но это займет много времени.
 

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

7 часов назад, kiwipapayamongoose сказал:

 

Сделать можно, но это займет много времени.
 

Это точно пока не мой уровень

 

Надо до конца разобраться с указателями для начала :) 

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

5 часов назад, FailMan сказал:
  1. Люди не реагируют на игрока

Скрипт:

Спойлер

[ENABLE]
aobscanmodule(InvisibleReset,BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DCE,41xxxxxxxxxxxxxxffxxxxxxxxxx33xx49xxxxe8xxxxxxxx49)
alloc(newmem,$1000,BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DCE)
label(code)
label(return)

newmem:
  mov [r13+00000420],1
code:
  movzx edx,byte ptr [r13+00000420]
  jmp return

InvisibleReset:
  jmp newmem
  db 90 90 90
return:
registersymbol(InvisibleReset)

[DISABLE]
InvisibleReset:
  db 41 0F B6 95 20 04 00 00
unregistersymbol(InvisibleReset)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DCE

BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DAF: 7D 0D                            - jnl 7FF7153C5C7E
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DB1: 48 C1 E0 04                      - shl rax,04
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DB5: 48 03 05 74612401                - add rax,[7FF71660BDF0]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DBC: EB 03                            - jmp 7FF7153C5C81
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DBE: 48 8B C7                         - mov rax,rdi
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DC1: 8B 40 08                         - mov eax,[rax+08]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DC4: C1 E8 1D                         - shr eax,1D
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DC7: A8 01                            - test al,01
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DC9: 75 11                            - jne 7FF7153C5C9C
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DCB: 48 8B 01                         - mov rax,[rcx]
// ---------- INJECTING HERE -----------
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DCE: 41 0FB6 95 20040000              - movzx edx,byte ptr [r13+00000420]
// ---------- DONE INJECTING  ----------
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DD6: FF 90 90050000                   - call qword ptr [rax+00000590]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DDC: 33 D2                            - xor edx,edx
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DDE: 49 8B CD                         - mov rcx,r13
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DE1: E8 9A262DFF                      - call 7FF714698340
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DE6: 49 89 85 98040000                - mov [r13+00000498],rax
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DED: 48 8B D8                         - mov rbx,rax
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DF0: 48 85 C0                         - test rax,rax
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DF3: 74 24                            - je 7FF7153C5CD9
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DF5: 48 8D 0D 24B5C500                - lea rcx,[7FF7160211E0]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1573DFC: E8 FF78F4FF                      - call 7FF71530D5C0
}


Делал на x64. Так же еще есть такой вариант:

Спойлер

[ENABLE]
aobscanmodule(Invisible,BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C4C,88xxxxxxxxxxb2xxebxx33)
alloc(newmem,$1000,BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C4C)
label(code)
label(return)

newmem:
code:
  //mov [rcx+00000420],al
  db 90 90 90 90 90 90
  jmp return

Invisible:
  jmp newmem
  nop
return:
registersymbol(Invisible)

[DISABLE]
Invisible:
  db 88 81 20 04 00 00
unregistersymbol(Invisible)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C4C

BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C25: 3B 05 11632601                   - cmp eax,[7FF71660BDFC]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C2B: 7D 0E                            - jnl 7FF7153A5AFB
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C2D: 48 8B F8                         - mov rdi,rax
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C30: 48 C1 E7 04                      - shl rdi,04
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C34: 48 03 3D F5622601                - add rdi,[7FF71660BDF0]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C3B: 8B 47 08                         - mov eax,[rdi+08]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C3E: C1 E8 1D                         - shr eax,1D
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C41: A8 01                            - test al,01
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C43: 75 0D                            - jne 7FF7153A5B12
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C45: 0FB6 83 A0000000                 - movzx eax,byte ptr [rbx+000000A0]
// ---------- INJECTING HERE -----------
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C4C: 88 81 20040000                   - mov [rcx+00000420],al
// ---------- DONE INJECTING  ----------
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C52: B2 01                            - mov dl,01
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C54: EB 02                            - jmp 7FF7153A5B18
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C56: 33 D2                            - xor edx,edx
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C58: 48 8B CB                         - mov rcx,rbx
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C5B: E8 D0ECEEFF                      - call 7FF7152947F0
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C60: 48 8B 74 24 30                   - mov rsi,[rsp+30]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C65: 48 8B 5C 24 38                   - mov rbx,[rsp+38]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C6A: 48 8B 6C 24 40                   - mov rbp,[rsp+40]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C6F: 48 8B 7C 24 48                   - mov rdi,[rsp+48]
BAC2TM-Win64-Shipping.opus_repacketizer_out_range+1553C74: 48 83 C4 20                      - add rsp,20
}

 


Ну а там сам посмотришь.

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

Друзья, вы сами провоцируете участников, чтобы они ничего не делали. Зачем вы приводите готовые скрипты? Объясните, как выйти на нужную инструкцию, подтолкните в нужном направлении, но не давайте сразу решение. Потом сами же жалуетесь, что никто ничему учиться не хочет. 

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

3 минуты назад, Xipho сказал:

Зачем вы приводите готовые скрипты?

Хоть я оценил твоё сообщение. Но это раздел "запросы" - поэтому ребята и привели готовые скрипты.

 

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

3 минуты назад, Garik66 сказал:

Хоть я оценил твоё сообщение. Но это раздел "запросы" - поэтому ребята и привели готовые скрипты.

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

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

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

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

 

Я очень извиняюсь, что создал тему не в том разделе. 

Спасибо, что перенесли в правильный!

Ну а насчет готового решения, его тоже надо анализировать, так что желание учиться оно не отбивает :) 

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

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

Потом сами же жалуетесь, что никто ничему учиться не хочет. 

Если человек изначально хочет получить знания, то и готовый скрипт не помешает экспериментировать и пробовать что-то новое, чтобы получить тот же результат как был в предоставленном кем-то скрипте.  А по ходу дела уже будут возникать вопросы о модификации скрипта и прочем. Уже не раз спорили, у всех разная подача информации, главное чтобы пошаговых уроков не было.:D

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

В общем поставил я, как советовал kiwipapayamongooseпоставить на запись. 

Первое, что происходит, это то, что там есть один, адрес, который пишет туда, ура!

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

После смотрю что пишет на него (по алгоритму, представленному выше мной же все делаю). 

Получаю более 20 адресов, в часть из которых ничего не пишется.

После нахожу адрес куда что-то пишется, и в 3-й раз куча адресов, и ни в один из них не происходит запись. 

2D8XE.jpg

 

2D8XC.jpg

Второе значение я так понял просто копируется, откуда я не смог найти :(

 

 

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

 

upd: пойду в 10-й раз пересмотрю поиск указателей, может поможет :D 

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

53 минуты назад, FailMan сказал:

пойду в 10-й раз пересмотрю поиск указателей, может поможет :D 

 

Если никто не поможет, то могу через 1-1.5 часа видео записать по ручному поиску указателей на примере этой игры.

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

В данный момент я дошел до этого момента (немного потренировался искать указатели :) )

2D9bx.jpg

 

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

И такое кстати в первый раз увидел [rax+rcx], без понятия что с ним дальше делать.

 

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

Оказывается проблема в самом CE, при срабатывании бряка выводится адрес после расчета указателя + смещения в том регистре, где должен был быть просто указатель.

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

29 минут назад, kiwipapayamongoose сказал:

Оказывается проблема в самом CE, при срабатывании бряка выводится адрес после расчета указателя + смещения в том регистре, где должен был быть просто указатель.

Что-то не очень понял данное сообщение. В каком именно моменте проблема СЕ?

Из-за этого я не могу найти указатель, или из-за чего-то другого?

 

upd: Кстати совсем забыл, спасибо ReWanet за скрипт на людей) Но боюсь, для понимания как его реализовать, мне расти и расти)

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

5 минут назад, FailMan сказал:

Из-за этого я не могу найти указатель, или из-за чего-то другого?

Возможно из-за этого, я протупил с этим минут 30 :D пока не заметил что регистр не изменяется.

 

 

зы некоторые адреса пропускал, потому что там постоянно работает пишущая инструкция.

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

14 минут назад, kiwipapayamongoose сказал:

Возможно из-за этого, я протупил с этим минут 30 :D пока не заметил что регистр не изменяется.

Так вот похоже и ошибка, я искал эти адреса в 4 байтах, а тут я смотрю в 8 байтах.

Постараюсь пересказать данное видео своими словами)

Мы ищем значение, первый уровень, смещение на F0, второй на 484. Потом мы ищем начало rdi в 8 байтном поиске.

Из всей этой кучи выбираем то, что ссылается на указатель F0, а потом, честно сказать, происходит что-то невообразимое))

 

 

Важно, что цифры в видео идут на повышение? 

А то я всегда искал на понижение, то есть таймер идет с 300 до 0.

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

1 час назад, FailMan сказал:

Важно, что цифры в видео идут на повышение? 

А то я всегда искал на понижение, то есть таймер идет с 300 до 0.

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

 

1 час назад, FailMan сказал:

а потом, честно сказать, происходит что-то невообразимое))

Обычный бряк, чтобы получить значение перед тем как оно посчитает указатель на следующий уровень.

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

В общем вчера попробовал еще, но игру пробить не смог. Теряюсь в этой  куче адресов, на которые ведет адрес времени. Думаю я вернусь к этой игре попозже :)

Но вчера работал над другой игрой, и вроде как сдвиги появились (например, игра больше не запускается :D ). Появились некоторые общие вопросы по CE, позже объединю их и создам тему с ними (дабы кучу топиков не плодить).

Спасибо ReWanet,  за магический скрипт. Спасибо kiwipapayamongoose,  за попытку помочь, к сожалению умом ученик не выделился, и уроки освоить не смог :(  

 

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

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

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

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