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

ZoraVl

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

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

  • Посещение

  • Победитель дней

    1

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

  1. Спасибо за объяснения! С этим я разобрался, теперь хочу сделать по этому способу, урон для зомби...

    Нашел значение HP у зомби, поставил бряк на запись, вылезла вот эта функция:

    6F6C2502 - F3 0F11 6E 24  - movss [rsi+24],xmm5
    каждый удар по зомби прибавляет 1 обращение к этой инструкции, тоесть эта функция нанесения урона, вот сам отладчик

    i9463287

    вот код инструкции: 

    Скрытый текст
    
    { Game   : 7DaysToDie.exe
      Version: 
      Date   : 2016-07-14
      Author : ?????????
    
      This script does blah blah blah
    }
    
    [ENABLE]
    
    aobscan(damage,F3 0F 11 6E 24 48 8B CE) // should be unique
    alloc(newmem,$1000,6F6C2502)
    
    label(code)
    label(return)
    
    newmem:
    
    code:
      movss [rsi+24],xmm5
      jmp return
    
    damage:
      jmp code
    return:
    registersymbol(damage)
    
    [DISABLE]
    
    damage:
      db F3 0F 11 6E 24
    
    unregistersymbol(damage)
    dealloc(newmem)
    
    {
    // ORIGINAL CODE - INJECTION POINT: 6F6C2502
    
    6F6C24D6: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
    6F6C24DA: F2 0F 5A E8                    -  cvtsd2ss xmm5,xmm0
    6F6C24DE: F3 0F 11 6D EC                 -  movss [rbp-14],xmm5
    6F6C24E3: F3 0F 10 46 24                 -  movss xmm0,[rsi+24]
    6F6C24E8: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
    6F6C24EC: F2 0F 5A E8                    -  cvtsd2ss xmm5,xmm0
    6F6C24F0: F3 0F 11 6D E8                 -  movss [rbp-18],xmm5
    6F6C24F5: F3 0F 10 45 D8                 -  movss xmm0,[rbp-28]
    6F6C24FA: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
    6F6C24FE: F2 0F 5A E8                    -  cvtsd2ss xmm5,xmm0
    // ---------- INJECTING HERE ----------
    6F6C2502: F3 0F 11 6E 24                 -  movss [rsi+24],xmm5
    // ---------- DONE INJECTING  ----------
    6F6C2507: 48 8B CE                       -  mov rcx,rsi
    6F6C250A: 48 83 EC 20                    -  sub rsp,20
    6F6C250E: 49 BB E0 25 6C 6F 00 00 00 00  -  mov r11,000000006F6C25E0
    6F6C2518: 41 FF D3                       -  call r11d
    6F6C251B: 48 83 C4 20                    -  add rsp,20
    6F6C251F: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
    6F6C2523: F2 0F 5A E8                    -  cvtsd2ss xmm5,xmm0
    6F6C2527: F3 0F 11 6D E4                 -  movss [rbp-1C],xmm5
    6F6C252C: F3 0F 10 45 EC                 -  movss xmm0,[rbp-14]
    6F6C2531: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
    }

     

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

     

  2. Только что, Dmitryhip сказал:

    Не во всех играх все так просто, например в css уже так на анти отдачу не выйдешь. Я просмотрел на youtube наверно все подобные видео, может есть ещё какой нибудь материал?

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

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

    Не за что.:D

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

    А по этому вопросу, сделаем проще, ты же скорее всего, ещё много чего взломаешь, как допилишь свою табличку до конца, сделаешь новую тему, я тебе там и закреплю твою табличку, а может к тому времени, смотря как активно будешь работать на форуме и статус у тебя будет "Разработчик", тогда и сам это сделаешь.

    Ну ладно, позже сам сделаю:lol:

  4. Garik66, сделал скрипт на быстрый крафт (сборку) предметов, можешь в шапке темы закрепить, может понадобится кому-нибудь:

    Скрытый текст
    
    { Game   : 7DaysToDie.exe
      Version: 
      Date   : 2016-07-12
      Author : ?????????
    
      This script does blah blah blah
    }
    
    [ENABLE]
    
    aobscan(craft,F3 0F 10 86 D4 00 00 00 F3 0F 5A C0 F3) // should be unique
    alloc(newmem,$1000,60B3F1DE)
    
    label(code)
    label(return)
    
    newmem:
      mov [rsi+000000D4],(float)0
    code:
      movss xmm0,[rsi+000000D4]
      jmp return
    
    craft:
      jmp newmem
      nop
      nop
      nop
    return:
    registersymbol(craft)
    
    [DISABLE]
    
    craft:
      db F3 0F 10 86 D4 00 00 00
    
    unregistersymbol(craft)
    dealloc(newmem)
    
    {
    // ORIGINAL CODE - INJECTION POINT: 60B3F1DE
    
    60B3F1AF: 66 0F 2F C8                    -  comisd xmm1,xmm0
    60B3F1B3: 0F 8A 6F 00 00 00              -  jp 60B3F228
    60B3F1B9: 0F 83 69 00 00 00              -  jae 60B3F228
    60B3F1BF: B8 03 00 00 00                 -  mov eax,00000003
    60B3F1C4: 83 F8 01                       -  cmp eax,01
    60B3F1C7: 0F B6 86 DC 00 00 00           -  movzx eax,byte ptr [rsi+000000DC]
    60B3F1CE: 85 C0                          -  test eax,eax
    60B3F1D0: 0F 84 52 00 00 00              -  je 60B3F228
    60B3F1D6: B8 04 00 00 00                 -  mov eax,00000004
    60B3F1DB: 83 F8 01                       -  cmp eax,01
    // ---------- INJECTING HERE ----------
    60B3F1DE: F3 0F 10 86 D4 00 00 00        -  movss xmm0,[rsi+000000D4]
    // ---------- DONE INJECTING  ----------
    60B3F1E6: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
    60B3F1EA: F3 0F 10 4D B8                 -  movss xmm1,[rbp-48]
    60B3F1EF: F3 0F 5A C9                    -  cvtss2sd xmm1,xmm1
    60B3F1F3: F2 0F 5C C1                    -  subsd xmm0,xmm1
    60B3F1F7: F2 0F 5A E8                    -  cvtsd2ss xmm5,xmm0
    60B3F1FB: F3 0F 11 AE D4 00 00 00        -  movss [rsi+000000D4],xmm5
    60B3F203: F3 0F 10 86 D8 00 00 00        -  movss xmm0,[rsi+000000D8]
    60B3F20B: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
    60B3F20F: F3 0F 10 4D B8                 -  movss xmm1,[rbp-48]
    60B3F214: F3 0F 5A C9                    -  cvtss2sd xmm1,xmm1
    }

     

    Сделал на подобии твоего скрипта на damage, спасибо тебе!)

    • Плюс 1
  5. 8 часов назад, Garik66 сказал:

    Скрипт и табличка здесь.

    Интересно то, что у меня даже скрипт не активируется...:(

    А нет, заработал, мгновенный урон работает на всех оружиях, блоки ломаются с одного удара:lol: спасибо большое за помощь уважаемые форумчане!:rolleyes:

    • Плюс 1
  6. Скрытый текст
    
    { Game   : 7DaysToDie.exe
      Version: 
      Date   : 2016-07-11
      Author : ?????????
      This script does blah blah blah
    }
    [ENABLE]
    aobscan(damageblock,F3 0F 11 68 44 48 8B 85) // should be unique
    alloc(newmem,$1000,32711427)
    label(code)
    label(return)
    newmem:
    code:
      movss [rax+44],xmm5
      jmp return
    damageblock:
      jmp code
    return:
    registersymbol(damageblock)
    [DISABLE]
    damageblock:
      db F3 0F 11 68 44
    unregistersymbol(damageblock)
    dealloc(newmem)
    {
    // ORIGINAL CODE - INJECTION POINT: 32711427
    327113FA: F2 0F 58 C1                    -  addsd xmm0,xmm1
    327113FE: F2 0F 5A E8                    -  cvtsd2ss xmm5,xmm0
    32711402: F3 0F 11 68 3C                 -  movss [rax+3C],xmm5
    32711407: C6 40 50 00                    -  mov byte ptr [rax+50],00
    3271140B: 48 63 8D 84 FE FF FF           -  movsxd  rcx,dword ptr [rbp-0000017C]
    32711412: F2 0F 2A C1                    -  cvtsi2sd xmm0,ecx
    32711416: F3 0F 10 48 3C                 -  movss xmm1,[rax+3C]
    3271141B: F3 0F 5A C9                    -  cvtss2sd xmm1,xmm1
    3271141F: F2 0F 58 C1                    -  addsd xmm0,xmm1
    32711423: F2 0F 5A E8                    -  cvtsd2ss xmm5,xmm0
    // ---------- INJECTING HERE ----------
    32711427: F3 0F 11 68 44                 -  movss [rax+44],xmm5
    // ---------- DONE INJECTING  ----------
    3271142C: 48 8B 85 50 FE FF FF           -  mov rax,[rbp-000001B0]
    32711433: 48 8B 80 B0 00 00 00           -  mov rax,[rax+000000B0]
    3271143A: 0F B6 40 74                    -  movzx eax,byte ptr [rax+74]
    3271143E: 85 C0                          -  test eax,eax
    32711440: 0F 85 D8 16 00 00              -  jne 32712B1E
    32711446: 48 8B 85 80 00 00 00           -  mov rax,[rbp+00000080]
    3271144D: F3 0F 10 40 3C                 -  movss xmm0,[rax+3C]
    32711452: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
    32711456: 66 0F 57 C9                    -  xorpd xmm1,xmm1
    3271145A: 66 0F 2F C8                    -  comisd xmm1,xmm0
    }

     

     

  7. Есть один вопрос, хочу написать скрипт на разрушение блоков с одного удара.

    Допустим, есть у нас сейф, у него 2500 HP. Я нанес ему 15 урона, стало 2485\2500 HP, я нашел значение нанесенного урона этому блоку, путем отсеивания полученного урона. Нанес 15 урона стало 2485 HP нанес еще 20 стало 2465 HP.

    Таким образом я нашел 3 адреса отвечающие за полученный урон этим блоком:

    f19cd8c30265875a504e45f188839843.png

    Ставлю брейкпоинт на запись, получаю функцию такого типа: 

    3AC10007 - F3 0F11 68 44  - movss [rax+44],xmm5

    Если я правильно понимаю то это функция нанесения урона блокам, собственно вопрос: как сделать так что-бы к этому урону прибавлялся еще, грубо говоря, 10000 урона, что-бы блок сломался с одного удара?

     


     

  8. Здравствуйте уважаемые форумчане, интересует такой вопрос, как можно найти значение скорости атаки кирки или дальность ее применения, тоесть что-бы я мог я любого расстояния сломать блок... В игре 7 days to die... 

    Если значения в структуре, то какой тип они примерно имеют?  

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

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

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