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

NickSpirit

Пользователи
  • Постов

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

  • Посещение

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

  1. Появилось снова время и желание возиться - вообщем - все скрипты давали вылет. При просмотре инструкций которые работают с нужным мне адресом вываливались две инструкции - та над которой мы бились и еще одна. Плюнул попробовал с другой. Сделал такой скрипт - 

    Скрытый текст
    
    { Game   : FClient.exe
      Version: 
      Date   : 2016-10-17
      Author : AirSim
    
      This script does blah blah blah
    }
    
    [ENABLE]
    //code from here to '[DISABLE]' will be used to enable the cheat
    
     
     
    aobscanmodule(VIDRYBI,FClient.exe,D9 47 6C D9 E8) // should be unique
    alloc(newmem,$1000)
    
    label(code)
    label(return)
    label(pointer)
    registersymbol(pointer)
    registersymbol(VIDRYBI)
    
    newmem:
      push eax
      lea eax,[edi+6C]
      mov [pointer],eax
      pop eax
    
    code:
      fld dword ptr [edi+6C]
      fld1 
      jmp return
    
    pointer:
      dd 0
    
    VIDRYBI:
      jmp newmem
    return:
    
    
    [DISABLE]
    //code from here till the end of the code will be used to disable the cheat
    VIDRYBI:
      db D9 47 6C D9 E8
    
    dealloc(newmem)
    unregistersymbol(VIDRYBI)
    unregistersymbol(pointer)
    {
    // ORIGINAL CODE - INJECTION POINT: "FClient.exe"+151415
    
    "FClient.exe"+1513EF: 2B F0                    -  sub esi,eax
    "FClient.exe"+1513F1: 89 74 24 14              -  mov [esp+14],esi
    "FClient.exe"+1513F5: 83 FE 01                 -  cmp esi,01
    "FClient.exe"+1513F8: 7F 08                    -  jg FClient.exe+151402
    "FClient.exe"+1513FA: C7 44 24 14 01 00 00 00  -  mov [esp+14],00000001
    "FClient.exe"+151402: DB 44 24 14              -  fild dword ptr [esp+14]
    "FClient.exe"+151406: 8B C3                    -  mov eax,ebx
    "FClient.exe"+151408: 2B 47 74                 -  sub eax,[edi+74]
    "FClient.exe"+15140B: DC 0D 68 C0 12 01        -  fmul qword ptr [FClient.exe+33C068]
    "FClient.exe"+151411: D9 5C 24 10              -  fstp dword ptr [esp+10]
    // ---------- INJECTING HERE ----------
    "FClient.exe"+151415: D9 47 6C                 -  fld dword ptr [edi+6C]
    "FClient.exe"+151418: D9 E8                    -  fld1 
    // ---------- DONE INJECTING  ----------
    "FClient.exe"+15141A: DC E9                    -  fsub st(1),st(0)
    "FClient.exe"+15141C: D9 44 24 10              -  fld dword ptr [esp+10]
    "FClient.exe"+151420: D9 C0                    -  fld st(0)
    "FClient.exe"+151422: 89 44 24 10              -  mov [esp+10],eax
    "FClient.exe"+151426: DE FB                    -  fdivp st(3),st(0)
    "FClient.exe"+151428: D9 CA                    -  fxch st(2)
    "FClient.exe"+15142A: D9 5C 24 14              -  fstp dword ptr [esp+14]
    "FClient.exe"+15142E: DB 44 24 10              -  fild dword ptr [esp+10]
    "FClient.exe"+151432: 79 06                    -  jns FClient.exe+15143A
    "FClient.exe"+151434: D8 05 BC B9 12 01        -  fadd dword ptr [FClient.exe+33B9BC]
    }

     

    Вообщем - на двух компах работает. вылетов нет. перезаходил в игру - включал выключал скрипт - тестил часа 3-4. Теперь есть другой адрес..но там инструкция работает не с одним адресом...и придется изучать фильтры. P.S. подскажите - вот этот скрипт на вид верен или нет?

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

    Ну ладно, результатов тестирования скриптов, я по-видимому не дождусь - я пошёл по делам.;)

     

    Работа такая работа!) я пока работу работаю. не могу тестить) и на том пока спасибо!

  3. Только что, Garik66 сказал:

    Должны работать правильно все три скрипта.

    Попробовал вот этот вариант

    Скрытый текст
    
    { Game   : FClient.exe
      Version:
      Date   : 2016-10-09
      Author : NickGrava
      This script does blah blah blah
    }
    [ENABLE]
    aobscanmodule(Adress,FClient.exe,D9 5F 6C 5E 5B) // should be unique
    alloc(newmem,$1000)
    label(return)
    label(myAddr)
    registersymbol(myAddr)
    registersymbol(Adress)
    
    newmem:
      fstp dword ptr [edi+6C]
      lea ebx,[edi+6C]
      mov [myAddr],ebx
      pop esi
      pop ebx
      jmp return
    
    myAddr:
    dd 0
    
    Adress:
      jmp newmem
    return:
    
    [DISABLE]
    Adress:
      db D9 5F 6C 5E 5B
    
    unregistersymbol(myAddr)
    unregistersymbol(Adress)
    dealloc(newmem)
    {
    // ORIGINAL CODE - INJECTION POINT: "FClient.exe"+151F38
    "FClient.exe"+151F13: 8B 8F 88 00 00 00  -  mov ecx,[edi+00000088]
    "FClient.exe"+151F19: 89 5F 64           -  mov [edi+64],ebx
    "FClient.exe"+151F1C: 8B 49 04           -  mov ecx,[ecx+04]
    "FClient.exe"+151F1F: B8 06 00 00 00     -  mov eax,00000006
    "FClient.exe"+151F24: E8 97 40 ED FF     -  call FClient.exe+25FC0
    "FClient.exe"+151F29: 89 45 F4           -  mov [ebp-0C],eax
    "FClient.exe"+151F2C: DB 45 F4           -  fild dword ptr [ebp-0C]
    "FClient.exe"+151F2F: D9 5D F4           -  fstp dword ptr [ebp-0C]
    "FClient.exe"+151F32: D9 45 F4           -  fld dword ptr [ebp-0C]
    "FClient.exe"+151F35: D9 57 70           -  fst dword ptr [edi+70]
    // ---------- INJECTING HERE ----------
    "FClient.exe"+151F38: D9 5F 6C           -  fstp dword ptr [edi+6C]
    "FClient.exe"+151F3B: 5E                 -  pop esi
    "FClient.exe"+151F3C: 5B                 -  pop ebx
    // ---------- DONE INJECTING  ----------
    "FClient.exe"+151F3D: 8B E5              -  mov esp,ebp
    "FClient.exe"+151F3F: 5D                 -  pop ebp
    "FClient.exe"+151F40: C3                 -  ret
    "FClient.exe"+151F41: CC                 -  int 3
    "FClient.exe"+151F42: CC                 -  int 3
    "FClient.exe"+151F43: CC                 -  int 3
    "FClient.exe"+151F44: CC                 -  int 3
    "FClient.exe"+151F45: CC                 -  int 3
    "FClient.exe"+151F46: CC                 -  int 3
    "FClient.exe"+151F47: CC                 -  int 3
    }

     

    Получил вылет игры. 

  4. Попробую щас вариант с Вашим скриптом. А вот по поводу 4 скрипта - не соглашусь. Там же точка инъекции абсолютно в ином месте. Я может чего то не допонимаю...но я вижу другой порядок инструкций в 4 скрипте.

     

  5. Вообщем вот рабочий вариант скрипта! 

     

    Скрытый текст
    
    [ENABLE]
    registersymbol(myAddr)
    alloc(newmem,64)
    alloc(myAddr,4)
    label(returnhere)
    newmem:
    fstp dword ptr [edi+6C] // Оригинальный код игры
    lea ebx,[edi+6C]        // Загружаем в EAX адрес EDI+6C
    mov [myAddr],ebx        // Сохраняем адрес в myAddr, скопировав его из EAX
    pop esi
    pop ebx
    jmp returnhere
    "FClient.exe"+151F38:
    jmp newmem
    returnhere:
    [DISABLE]
    "FClient.exe"+151F38:
    db D9 5F 6C 5E 5B
    dealloc(newmem)
    dealloc(myAddr)
    unregistersymbol(myAddr)

     

    Как дошел до такого)) - 1) сначала перенес мои действия после оригинальной инструкции. Игра вылетала. 2) А потом заметил одну малость и добавил строчку dealloc(myAddr) которой не было - и ведь заработало!!! P.S. в комментах к скрипту от Keng - регистр EAX - c ним не пошло почему то. Пошло с EBX.

  6. Опа...вроде прокатило. Только я строчку про mov float 23 стер. дабы ничего не писать в память.

     

     Щас адрес ручками найду - и буду сверять те ли данные мы получаем.

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

    Так это же просто мы это уже делали в первом скрипте, сейчас сделаю Скрипт 4 и выложу таблицу.

    Это да, я уже сделал. Щас буду пробовать. Ой, чет напрямую не дает копирнуть. Надо через что-то.

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

     

    Скрипты поюзаю. 

     

    Ну вроде как второй скрипт вылета не вызывает пока. 

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

    { Game   : FClient.exe
      Version: 
      Date   : 2016-10-09
      Author : GravaPC

      This script does blah blah blah
    }

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

     
     
    aobscanmodule(Garik66,FClient.exe,D9 45 F4 D9 57 70) // should be unique
    alloc(newmem,$1000)

    label(code)
    label(return)

    newmem:

    code:
      fld dword ptr [ebp-0C]
      fst dword ptr [edi+70]
      jmp return

    Garik66:
      jmp code
      nop
    return:
    registersymbol(Garik66)

    [DISABLE]
    //code from here till the end of the code will be used to disable the cheat
    Garik66:
      db D9 45 F4 D9 57 70

    unregistersymbol(Garik66)
    dealloc(newmem)

    {
    // ORIGINAL CODE - INJECTION POINT: "FClient.exe"+151F32

    "FClient.exe"+151F0A: 83 C1 10           -  add ecx,10
    "FClient.exe"+151F0D: 89 8F A0 00 00 00  -  mov [edi+000000A0],ecx
    "FClient.exe"+151F13: 8B 8F 88 00 00 00  -  mov ecx,[edi+00000088]
    "FClient.exe"+151F19: 89 5F 64           -  mov [edi+64],ebx
    "FClient.exe"+151F1C: 8B 49 04           -  mov ecx,[ecx+04]
    "FClient.exe"+151F1F: B8 06 00 00 00     -  mov eax,00000006
    "FClient.exe"+151F24: E8 97 40 ED FF     -  call FClient.exe+25FC0
    "FClient.exe"+151F29: 89 45 F4           -  mov [ebp-0C],eax
    "FClient.exe"+151F2C: DB 45 F4           -  fild dword ptr [ebp-0C]
    "FClient.exe"+151F2F: D9 5D F4           -  fstp dword ptr [ebp-0C]
    // ---------- INJECTING HERE ----------
    "FClient.exe"+151F32: D9 45 F4           -  fld dword ptr [ebp-0C]
    "FClient.exe"+151F35: D9 57 70           -  fst dword ptr [edi+70]
    // ---------- DONE INJECTING  ----------
    "FClient.exe"+151F38: D9 5F 6C           -  fstp dword ptr [edi+6C]
    "FClient.exe"+151F3B: 5E                 -  pop esi
    "FClient.exe"+151F3C: 5B                 -  pop ebx
    "FClient.exe"+151F3D: 8B E5              -  mov esp,ebp
    "FClient.exe"+151F3F: 5D                 -  pop ebp
    "FClient.exe"+151F40: C3                 -  ret 
    "FClient.exe"+151F41: CC                 -  int 3 
    "FClient.exe"+151F42: CC                 -  int 3 
    "FClient.exe"+151F43: CC                 -  int 3 
    "FClient.exe"+151F44: CC                 -  int 3 
    }

     

  10. 1 минуту назад, Garik66 сказал:

    Зачем руками то, я же дал инструкцию и её адрес:

    
    "FClient.exe"+151F32: D9 45 F4           -  fld dword ptr [ebp-0C]

     

    Эммм...если б уметь по другому..))) я ж новичок в этом. я знаю что можно как то найти инструкцию где-то..а как и где - уже не знаю.

  11. Щас попробую таблицу добавить. Что касаемо скрипта с AOBScan - щас адрес руками найду - выложу. 

     

    Добавил - скрипт активировался. Игра не вылетела. 

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

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

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