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

misha5343

Стажёры
  • Постов

    9
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные misha5343

  1. 13 минуты назад, MasterGH сказал:

    Да. Я посмотрел в CE на dobule как на 4 байта и 4 байта. Первые 4 байта из нулей. Вторые 4 байта имеют значение 409F4000. Поэтому можно сравнить 4 байта вместо заморочек с double сравнением.

    Понятно, ещё раз спасибо, почему я не могу добавить никому репутацию за помощь?

  2. 32 минуты назад, MasterGH сказал:

    Попробуй так, хотя не уверен

     

    409F4000 - это вторая часть от double значения. Первая часть забита нулями. Для второй части смещение ebp+04. Регистр edi свободный, т.к. идет в оригинале pop edi.

     

      Показать содержимое
    
    
    [ENABLE]
    
    aobscanmodule(INJECT,TurmoilSteam.exe,DD 45 00 5F DD 1E 5E 5D B0 01 5B 59 C3 8B 55)
    alloc(newmem, $1000)
    alloc(newmem2, $1000)
    
    newmem2:
      money:
        dq (double)10000
    
    newmem:
      cmp [ebp+04],409F4000
      mov edi, ebp
    jne code
      mov edi, money
    code:
      fld qword ptr [edi]
      pop edi
      fstp qword ptr [esi]
      jmp return
      
    INJECT:
      jmp newmem
      nop
    return:
    registersymbol(INJECT)
    
    [DISABLE]
    
    INJECT:
      db DD 45 00 5F DD 1E
    
    unregistersymbol(INJECT)
    dealloc(newmem)

     

     

    Работает, большое спасибо! В структуре ebp+00 первая часть забита нулями, если поставить тип на double то значение 2000, получается 409F4000 это те же 2000 только другим значением?

  3. Всем привет, хочу взломать деньги на уровне в Turmoil, чтобы каждый раз не искать их значение, но проблема в том что тип данных у денег Double и у меня возникают проблемы с написанием скрипта. Я также нашёл на форуме тему с такой же проблемой, там я нашёл 3 способа от MasterGH как можно записать значение в Double, на 1-ом способе я и писал скрипт. При бряке на чтение на значение денег есть одна инструкция которая работает всегда, писал скрипт я именно на неё попутно посмотрел работает ли она ещё с чем, а работает она ещё с 8-ю адресами, посмотрел структуру этих адресов но значений которые бы никогда не менялись не нашёл. В игре начальный баланс на уровне всегда 2000$, поэтому решил делать фильтр сравнивая с 2000, получился вот такой скрипт, но игру при запуске скрипта крашит, что именно мне сделать/поправить чтобы игру не крашило?

    Скрытый текст
    
    { Game   : TurmoilSteam.exe
      Version: 
      Date   : 2017-07-27
      Author : misha
    
      This script does blah blah blah
    }
    
    [ENABLE]
    
    aobscanmodule(INJECT,TurmoilSteam.exe,DD 45 00 5F DD 1E 5E 5D B0 01 5B 59 C3 8B 55) // should be unique
    alloc(newmem,$1000)
    
    label(code)
    label(return)
    label(money)
    newmem:
    cmp [ebp+00],(double)2000
    jne code
    fld qword ptr [money]
    fstp qword ptr [ebp+00]
    code:
      fld qword ptr [ebp+00]
      pop edi
      fstp qword ptr [esi]
      jmp return
      money:
      dq (double)10000
    INJECT:
      jmp newmem
      nop
    return:
    registersymbol(INJECT)
    
    [DISABLE]
    
    INJECT:
      db DD 45 00 5F DD 1E
    
    unregistersymbol(INJECT)
    dealloc(newmem)
    
    {
    // ORIGINAL CODE - INJECTION POINT: "TurmoilSteam.exe"+12881C
    
    "TurmoilSteam.exe"+12880C: 39 78 08              -  cmp [eax+08],edi
    "TurmoilSteam.exe"+12880F: 75 5E                 -  jne TurmoilSteam.exe+12886F
    "TurmoilSteam.exe"+128811: 5F                    -  pop edi
    "TurmoilSteam.exe"+128812: 89 70 08              -  mov [eax+08],esi
    "TurmoilSteam.exe"+128815: 5E                    -  pop esi
    "TurmoilSteam.exe"+128816: 5D                    -  pop ebp
    "TurmoilSteam.exe"+128817: B0 01                 -  mov al,01
    "TurmoilSteam.exe"+128819: 5B                    -  pop ebx
    "TurmoilSteam.exe"+12881A: 59                    -  pop ecx
    "TurmoilSteam.exe"+12881B: C3                    -  ret 
    // ---------- INJECTING HERE ----------
    "TurmoilSteam.exe"+12881C: DD 45 00              -  fld qword ptr [ebp+00]
    "TurmoilSteam.exe"+12881F: 5F                    -  pop edi
    "TurmoilSteam.exe"+128820: DD 1E                 -  fstp qword ptr [esi]
    // ---------- DONE INJECTING  ----------
    "TurmoilSteam.exe"+128822: 5E                    -  pop esi
    "TurmoilSteam.exe"+128823: 5D                    -  pop ebp
    "TurmoilSteam.exe"+128824: B0 01                 -  mov al,01
    "TurmoilSteam.exe"+128826: 5B                    -  pop ebx
    "TurmoilSteam.exe"+128827: 59                    -  pop ecx
    "TurmoilSteam.exe"+128828: C3                    -  ret 
    "TurmoilSteam.exe"+128829: 8B 55 00              -  mov edx,[ebp+00]
    "TurmoilSteam.exe"+12882C: 5F                    -  pop edi
    "TurmoilSteam.exe"+12882D: 89 16                 -  mov [esi],edx
    "TurmoilSteam.exe"+12882F: 5E                    -  pop esi
    }

     

     

  4. Извиняюсь за тупость, вот та инструкция которая постоянно работает с патронами в дизассемблере, где мне дальше искать истинное значение патрон?

    12 часа назад, what228 сказал:

    Ну ты ставишь бряк на адрес патрон и видишь что некоторые инструкции работают постоянно это они и есть T_T

     

     

    21 час назад, partoftheworlD сказал:

    UPD

    И вроде бы там патроны не зашифрованы, там 2 адреса для каждой из рук и работают они с одной инструкцией,

    т.е 15 патронов в пистолете в левой руке, 15 патронов в пистолете в правой руке

    Ты наверное спутал с Hitman Absolution, там пистолета 2, в Hitman 2016 он 1

  5. 10 минут назад, what228 сказал:

    Ты меня вгоняешь в ступор. Патроны зашифрованы а ты пишешь про пистолет в руках.

    Я просто не знаю какая из них инструкция которая постоянно работает с патронами, я поэтому спросил стоит ли смотреть в дизассемблере инструкции которые появляются после перезарядки или после того как я пистолет в инвентарь убрал.

  6. 2 минуты назад, partoftheworlD сказал:

     

    Find out what addresses this insctruction accesses

    Все инструкции работают с адресом который показывает кол-во предметов/оружия в инвентаре, на который я ставил брейкпоинт на обращение, больше адресов к которым обращаются эти инструкции нет

  7. Я попробовал на пистолете т.к там меньше инструкций, есть 2 инструкции которые работают тогда когда пистолет в руке и 2 когда я перезаряжаюсь, ни одной не появляется когда я стреляю, мб мне смотреть в дизассемблере те 2 инструкции которые после перезарядки появляются? Там есть 3-4 инструкции которые работают постоянно но я не знаю с патронами она работает или нет.

  8. Доброго времени суток, я новичок во взломе и пока что только учусь. Дело в том что я хочу взломать кол-во предметов в HITMAN 2016, а значение зашифровано, я думаю так потому что у меня идентичная ситуация как и в этом видео, значение по видимому тоже экранное и оно также не поддаётся изменению, только в моём случае я не могу найти истинное значение и то что его шифрует и я прошу знающих людей на форуме мне помочь, чтобы знать в каком направлении мне искать. Пока что нашёл само это визуальное значение, оно меняется в зависимости от предмета/оружия в руках гг, например я держу 3 монеты, показывает 3, держу оружие, показывает кол-во патронов в обойме, как и в видео попробовал поставить брейкпоинт на обращение и вот что выдало, 1-я инструкция работала всегда , 2-я появилась когда я бросил монету, 3-я когда я подобрал её. Также поиском неизвестного значения нашёл значение которое отвечает за кол-во оружия в инвентаре, поставил на него брейкпоинт на обращение и получил это, 1-е четыре инструкции работали всегда, ещё 5 появилось когда я достал предмет из инвентаря, 14 когда я бросил монету и ещё 6 когда я её подобрал, я думаю что среди этих инструкций где-то можно найти зашифрованное значение, но я не знаю где искать.

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

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

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