Garik66 Опубликовано 6 марта, 2016 Поделиться Опубликовано 6 марта, 2016 Ладно тогда задаю кучу вопросов: ты написал 28 минуты назад, Baracuda сказал: скрипт не работает про этот скрипт: 1. Ты добавил адреса Money99 и flag в таблицу? Именно как адреса без указателей. 2. Ты присваивал значение flag = 1? 3. Или он вообще не включается? 4. Или значение не расшифрованное? 5. Уверен ли ты в твоих фильтрах и смещении 3b80? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 6 марта, 2016 Поделиться Опубликовано 6 марта, 2016 37 минуты назад, Baracuda сказал: находишь деньги ставишь бряк на доступ вылазить 3 инструкции 37 минуты назад, Baracuda сказал: 2- инструкция mov eax,[rcx] СКРИПТ КОТОРЫЙ Я ВЫЛОЖИЛ ОН ИЗ ЭТОЙ ИНСТРУКЦИИ mov [rsp+18],rcx Исходя из этого, вообще не понимаю при чём здесь смещение 3b80, если в [rsx] уже лежит зашифрованное значение денег и соответственно в eax тоже. Тогда добавив после mov eax,[rsx] это: xor eax,ecx mov [Money99],eax xor eax,ecx мы уже получим расшифрованное значение денег в [Money99]. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 6 марта, 2016 Автор Поделиться Опубликовано 6 марта, 2016 (изменено) короче так вот скрипт ВСЕ РАБОТАЕТ GARIK66 БЕЗ ПРОБЛЕМ НО ТОЛЬКО С ЭТОЙ ИНСТРУКЦИЕЙ Скрытый текст [ENABLE] aobscanmodule(money,GTA5.exe,4B 48 83 C1 10 48 89 4C 24) alloc(newmem,1024,money) label(returnhere) label(originalcode) label(flag) registersymbol(flag) label(Money99) registersymbol(Money99) registersymbol(money) newmem: cmp [rcx+38],10343C10 jne originalcode cmp [flag],1 jne @f push rax mov eax,[rcx] xor eax,ecx mov [Money99],eax pop rax mov [flag],0 jmp originalcode @@: cmp [flag],2 jne originalcode push rax mov eax,[Money99] xor eax,ecx mov [rcx],eax pop rax mov [flag],0 originalcode: mov eax,[rcx] xor ecx,ecx mov [rsp+08],eax jmp returnhere Money99: // Добавь в таблицу адрес с адресом "Money99" и названием "Денюжки" dd 0 flag: // Добавь в таблицу адрес с адресом "flag" и названием "1 - сколько денег в игре, 2 - изменить значение денег" dd 0 money+0A: jmp newmem nop nop nop returnhere: registersymbol(money) registersymbol(Money99) [DISABLE] money+0A: db 8B 01 33 C9 89 44 24 08 unregistersymbol(flag) unregistersymbol(money) unregistersymbol(Money99) dealloc(newmem) //Alt: db 8B 01 33 C9 89 44 24 08 { // ORIGINAL CODE - INJECTION POINT: "GTA5.exe"+C79325 "GTA5.exe"+C79307: 8A 44 04 10 - mov al,[rsp+rax+10] "GTA5.exe"+C7930B: 30 44 0C 07 - xor [rsp+rcx+07],al "GTA5.exe"+C7930F: 48 FF CA - dec rdx "GTA5.exe"+C79312: 75 EA - jne GTA5.exe+C792FE "GTA5.exe"+C79314: 0F B7 44 24 08 - movzx eax,word ptr [rsp+08] "GTA5.exe"+C79319: C3 - ret "GTA5.exe"+C7931A: 90 - nop "GTA5.exe"+C7931B: 4B 48 - dec r8 "GTA5.exe"+C7931D: 83 C1 10 - add ecx,10 "GTA5.exe"+C79320: 48 89 4C 24 10 - mov [rsp+10],rcx // ---------- INJECTING HERE ---------- "GTA5.exe"+C79325: 8B 01 - mov eax,[rcx] "GTA5.exe"+C79327: 33 C9 - xor ecx,ecx "GTA5.exe"+C79329: 89 44 24 08 - mov [rsp+08],eax // ---------- DONE INJECTING ---------- "GTA5.exe"+C7932D: 8D 51 04 - lea edx,[rcx+04] "GTA5.exe"+C79330: 48 8B C1 - mov rax,rcx "GTA5.exe"+C79333: 48 FF C1 - inc rcx "GTA5.exe"+C79336: 83 E0 07 - and eax,07 "GTA5.exe"+C79339: 8A 44 04 10 - mov al,[rsp+rax+10] "GTA5.exe"+C7933D: 30 44 0C 07 - xor [rsp+rcx+07],al "GTA5.exe"+C79341: 48 FF CA - dec rdx "GTA5.exe"+C79344: 75 EA - jne GTA5.exe+C79330 "GTA5.exe"+C79346: 8B 44 24 08 - mov eax,[rsp+08] "GTA5.exe"+C7934A: C3 - ret } Изменено 6 марта, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 6 марта, 2016 Поделиться Опубликовано 6 марта, 2016 4 минуты назад, Baracuda сказал: но не добавляется через Flag 1. Значение в таблице денег менял? 2. Значение flag ставил 2 ? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 6 марта, 2016 Автор Поделиться Опубликовано 6 марта, 2016 (изменено) всё работает Garik66 БЕЗ ПРОБЛЕМ БЛАГОДАРЮ ТЕБЯ ОООООООООООООООООО ВЕЛИКИЙ Garik66 Изменено 6 марта, 2016 пользователем Baracuda 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 6 марта, 2016 Поделиться Опубликовано 6 марта, 2016 Только что, Baracuda сказал: всё работает Garik66 БЕЗ ПРОБЛЕМ 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 2 мая, 2016 Автор Поделиться Опубликовано 2 мая, 2016 (изменено) Помогите разобраться, возникла проблема, вот скрипт в этом скрипте я пытался вывести 5 разных указателей, но они не выводятся, что не так если выводить по одному указателю, то всё нормально, если вывести сразу 5 разных указателей то не работает, что я делаю не так. Скрытый текст [ENABLE] aobscanmodule(objects,Disrupt_b64.dll,8B 42 0C 48 8B 5C 24 38 48 8B 74 24 40 48) alloc(newmem,2048,objects) label(returnhere) label(originalcode) label(fame99) registersymbol(fame99) label(fame100) registersymbol(fame100) label(fame200) registersymbol(fame200) label(fame300) registersymboll(fame300) label(fame400) registersymbol(fame400) newmem: cmp [rdx+8],FFD91B7B //ВОТ ID УКАЗАТЕЛЯ jne @F mov [fame99],rdx @@: cmp [rdx+8],B940FFDB //ВОТ ID УКАЗАТЕЛЯ jne @F mov [fame100],rdx @@: cmp [rdx+8],F3AA69F8 //ВОТ ID УКАЗАТЕЛЯ jne @F mov [fame200],rdx @@: cmp [rdx+8],2822D5F9 //ВОТ ID УКАЗАТЕЛЯ jne @F mov [fame300],rdx @@: cmp [rdx+8],431BA89D //ВОТ ID УКАЗАТЕЛЯ jne originalcode mov [fame400],rdx originalcode: mov eax,[rdx+0C] mov rbx,[rsp+38] jmp returnhere fame99: dd 0 fame100: dd 0 fame200: dd 0 fame300: dd 0 fame400: dd 0 objects: jmp newmem nop nop nop returnhere: registersymbol(objects) [DISABLE] objects: db 8B 42 0C 48 8B 5C 24 38 unregistersymbol(objects) unregistersymbol(fame99) unregistersymbol(fame100) unregistersymbol(fame200) unregistersymbol(fame300) unregistersymbol(fame400) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "Disrupt_b64.dll"+1208C50 "Disrupt_b64.dll"+1208C43: 48 83 C4 40 - add rsp,40 "Disrupt_b64.dll"+1208C47: 5B - pop rbx "Disrupt_b64.dll"+1208C48: C3 - ret "Disrupt_b64.dll"+1208C49: CC - int 3 "Disrupt_b64.dll"+1208C4A: CC - int 3 "Disrupt_b64.dll"+1208C4B: CC - int 3 "Disrupt_b64.dll"+1208C4C: CC - int 3 "Disrupt_b64.dll"+1208C4D: CC - int 3 "Disrupt_b64.dll"+1208C4E: CC - int 3 "Disrupt_b64.dll"+1208C4F: CC - int 3 // ---------- INJECTING HERE ---------- "Disrupt_b64.dll"+1208C50: 8B 81 70 01 00 00 - mov eax,[rcx+00000170] // ---------- DONE INJECTING ---------- "Disrupt_b64.dll"+1208C56: C3 - ret "Disrupt_b64.dll"+1208C57: CC - int 3 "Disrupt_b64.dll"+1208C58: CC - int 3 "Disrupt_b64.dll"+1208C59: CC - int 3 "Disrupt_b64.dll"+1208C5A: CC - int 3 "Disrupt_b64.dll"+1208C5B: CC - int 3 "Disrupt_b64.dll"+1208C5C: CC - int 3 "Disrupt_b64.dll"+1208C5D: CC - int 3 "Disrupt_b64.dll"+1208C5E: CC - int 3 "Disrupt_b64.dll"+1208C5F: CC - int 3 } Изменено 2 мая, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 2 мая, 2016 Поделиться Опубликовано 2 мая, 2016 3 часа назад, Baracuda сказал: Помогите разобраться, возникла проблема, вот скрипт в этом скрипте я пытался вывести 5 разных указателей, но они не выводятся, что не так если выводить по одному указателю, то всё нормально, если вывести сразу 5 разных указателей то не работает, что я делаю не так. Визуально скрипт верный. Так что - либо фильтры (ID) не постоянные (проверь их), либо ты ошибаешься при проверке - работает ли скрипт. Вот, как ты забиваешь новые адреса в таблицу, покажи. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 3 мая, 2016 Автор Поделиться Опубликовано 3 мая, 2016 Привет Garik66, ID верные абсолютно, я их проверял не один раз, они рабочие.Как понять забиваешь адрес в таблицу, скрипт сверху я выложил там всё написано, скрипт полностью мой, единственное только вот @F и @@: ты мене показывал. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 3 мая, 2016 Автор Поделиться Опубликовано 3 мая, 2016 (изменено) Это как либо ты ошибаешься при проверке - работает ли скрипт. сам скрипт работает, но указатели не вы водятся.Ну а если указатели в бивать по одному в скрипт и проверять, то всё прекрасно работает. Вот пример скрипт с одним указателем, прекрасно работает. Скрытый текст [ENABLE] aobscanmodule(objects,Disrupt_b64.dll,8B 42 0C 48 8B 5C 24 38 48 8B 74 24 40 48) alloc(newmem,2048,objects) label(returnhere) label(originalcode) label(fame99) registersymbol(fame99) newmem: cmp [rdx+8],431BA89D //ВОТ ID УКАЗАТЕЛЯ jne originalcode mov [fame99],rdx УКАЗАТЕЛЬ РАБОТАЕТ ОТЛИЧНО ///НО ЕСЛИ СУДА ЕЩЁ В БИТЬ 4 УКАЗАТЕЛЯ ТО ОНИ ПЕРЕСТАЮТ РАБОТАТЬ originalcode: mov eax,[rdx+0C] mov rbx,[rsp+38] jmp returnhere fame99: dd 0 objects: jmp newmem nop nop nop returnhere: registersymbol(objects) [DISABLE] objects: db 8B 42 0C 48 8B 5C 24 38 unregistersymbol(objects) unregistersymbol(fame99) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "Disrupt_b64.dll"+1208C50 "Disrupt_b64.dll"+1208C43: 48 83 C4 40 - add rsp,40 "Disrupt_b64.dll"+1208C47: 5B - pop rbx "Disrupt_b64.dll"+1208C48: C3 - ret "Disrupt_b64.dll"+1208C49: CC - int 3 "Disrupt_b64.dll"+1208C4A: CC - int 3 "Disrupt_b64.dll"+1208C4B: CC - int 3 "Disrupt_b64.dll"+1208C4C: CC - int 3 "Disrupt_b64.dll"+1208C4D: CC - int 3 "Disrupt_b64.dll"+1208C4E: CC - int 3 "Disrupt_b64.dll"+1208C4F: CC - int 3 // ---------- INJECTING HERE ---------- "Disrupt_b64.dll"+1208C50: 8B 81 70 01 00 00 - mov eax,[rcx+00000170] // ---------- DONE INJECTING ---------- "Disrupt_b64.dll"+1208C56: C3 - ret "Disrupt_b64.dll"+1208C57: CC - int 3 "Disrupt_b64.dll"+1208C58: CC - int 3 "Disrupt_b64.dll"+1208C59: CC - int 3 "Disrupt_b64.dll"+1208C5A: CC - int 3 "Disrupt_b64.dll"+1208C5B: CC - int 3 "Disrupt_b64.dll"+1208C5C: CC - int 3 "Disrupt_b64.dll"+1208C5D: CC - int 3 "Disrupt_b64.dll"+1208C5E: CC - int 3 "Disrupt_b64.dll"+1208C5F: CC - int 3 } ЗАПУСКАЕШЬ СКРИП, И ДОБАВЛЯЕШЬ АДРЕС Fame99, и вбиваешь смещения С. Изменено 3 мая, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 3 мая, 2016 Поделиться Опубликовано 3 мая, 2016 4 часа назад, Baracuda сказал: сам скрипт работает, но указатели не вы водятся. Визуально ошибок в твоём скрипте не вижу. Давай попробуем переписать его так: Скрытый текст [ENABLE] aobscanmodule(objects,Disrupt_b64.dll,8B 42 0C 48 8B 5C 24 38 48 8B 74 24 40 48) alloc(newmem,2048,objects) label(returnhere) label(originalcode) label(fame99) registersymbol(fame99) label(fame100) registersymbol(fame100) label(fame200) registersymbol(fame200) label(fame300) registersymbol(fame300) label(fame400) registersymbol(fame400) registersymbol(objects) newmem: cmp [rdx+8],FFD91B7B jne @f push rdx pop [fame99] jmp originalcode @@: cmp [rdx+8],B940FFDB jne @f push rdx pop [fame100] jmp originalcode @@: cmp [rdx+8],F3AA69F8 jne @f push rdx pop [fame200] jmp originalcode @@: cmp [rdx+8],2822D5F9 jne @f push rdx pop [fame300] jmp originalcode @@: cmp [rdx+8],431BA89D jne originalcode push rdx pop [fame400] originalcode: mov eax,[rdx+0C] mov rbx,[rsp+38] jmp returnhere fame99: dd 0 fame100: dd 0 fame200: dd 0 fame300: dd 0 fame400: dd 0 objects: jmp newmem db 90 90 90 returnhere: [DISABLE] objects: db 8B 42 0C 48 8B 5C 24 38 unregistersymbol(objects) unregistersymbol(fame99) unregistersymbol(fame100) unregistersymbol(fame200) unregistersymbol(fame300) unregistersymbol(fame400) dealloc(newmem) Проверь. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 4 мая, 2016 Автор Поделиться Опубликовано 4 мая, 2016 (изменено) Не не помогает, не работают указатели. Изменено 4 мая, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 4 мая, 2016 Поделиться Опубликовано 4 мая, 2016 4 часа назад, Baracuda сказал: Не не помогает, не работают указатели. Странно - должен работать. Кинь в ЛС ссылку на свою версию игры, проверю. Так не понятно - в чём может быть дело. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 4 мая, 2016 Поделиться Опубликовано 4 мая, 2016 7 часов назад, Baracuda сказал: Не не помогает, не работают указатели. Пришлось скачать, хоть ты и не написал какая игра. У тебя ошибка - здесь: fame99: dd 0 Адреса в игре по 8 байт. Так что вот скрипт: Скрытый текст { Game : Watch_Dogs.exe Version: Date : 2016-05-04 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(Item,Disrupt_b64.dll,8B 42 0C 48 8B 5C 24 38 48 8B 74 24 40 48) // should be unique alloc(newmem,$1000,"Disrupt_b64.dll"+137D12C) label(code) label(return) label(fame99) registersymbol(fame99) label(fame100) registersymbol(fame100) label(fame200) registersymbol(fame200) label(fame300) registersymbol(fame300) label(fame400) registersymbol(fame400) registersymbol(Item) newmem: cmp ebx,FFD91B7B jne @f push rdx pop [fame99] @@: cmp ebx,B940FFDB jne @f push rdx pop [fame100] @@: cmp ebx,F3AA69F8 jne @f push rdx pop [fame200] @@: cmp ebx,2822D5F9 jne @f push rdx pop [fame300] @@: cmp ebx,431BA89D jne code push rdx pop [fame400] code: mov eax,[rdx+0C] mov rbx,[rsp+38] jmp return fame99: dq (double)0 fame100: dq (double)0 fame200: dq (double)0 fame300: dq (double)0 fame400: dq (double)0 Item: jmp newmem db 90 90 90 return: [DISABLE] Item: db 8B 42 0C 48 8B 5C 24 38 unregistersymbol(fame99) unregistersymbol(fame100) unregistersymbol(fame200) unregistersymbol(fame300) unregistersymbol(fame400) unregistersymbol(Item) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "Disrupt_b64.dll"+137D12C "Disrupt_b64.dll"+137D110: 48 85 D2 - test rdx,rdx "Disrupt_b64.dll"+137D113: 75 F3 - jne Disrupt_b64.dll+137D108 "Disrupt_b64.dll"+137D115: 33 C0 - xor eax,eax "Disrupt_b64.dll"+137D117: 48 8B 5C 24 38 - mov rbx,[rsp+38] "Disrupt_b64.dll"+137D11C: 48 8B 74 24 40 - mov rsi,[rsp+40] "Disrupt_b64.dll"+137D121: 48 83 C4 20 - add rsp,20 "Disrupt_b64.dll"+137D125: 5F - pop rdi "Disrupt_b64.dll"+137D126: C3 - ret "Disrupt_b64.dll"+137D127: 48 85 D2 - test rdx,rdx "Disrupt_b64.dll"+137D12A: 74 E9 - je Disrupt_b64.dll+137D115 // ---------- INJECTING HERE ---------- "Disrupt_b64.dll"+137D12C: 8B 42 0C - mov eax,[rdx+0C] "Disrupt_b64.dll"+137D12F: 48 8B 5C 24 38 - mov rbx,[rsp+38] // ---------- DONE INJECTING ---------- "Disrupt_b64.dll"+137D134: 48 8B 74 24 40 - mov rsi,[rsp+40] "Disrupt_b64.dll"+137D139: 48 83 C4 20 - add rsp,20 "Disrupt_b64.dll"+137D13D: 5F - pop rdi "Disrupt_b64.dll"+137D13E: C3 - ret "Disrupt_b64.dll"+137D13F: CC - int 3 "Disrupt_b64.dll"+137D140: CC - int 3 "Disrupt_b64.dll"+137D141: CC - int 3 "Disrupt_b64.dll"+137D142: CC - int 3 "Disrupt_b64.dll"+137D143: CC - int 3 "Disrupt_b64.dll"+137D144: CC - int 3 } 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 4 мая, 2016 Поделиться Опубликовано 4 мая, 2016 (изменено) Либо можно ещё так сделать - вариант 2: Скрытый текст { Game : Watch_Dogs.exe Version: Date : 2016-05-04 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(Item,Disrupt_b64.dll,8B 42 0C 48 8B 5C 24 38 48 8B 74 24 40 48) // should be unique alloc(newmem,$1000,"Disrupt_b64.dll"+137D12C) label(code) label(return) label(fame99) registersymbol(fame99) label(fame100) registersymbol(fame100) label(fame200) registersymbol(fame200) label(fame300) registersymbol(fame300) label(fame400) registersymbol(fame400) registersymbol(Item) newmem: cmp ebx,FFD91B7B jne @f push edx pop [fame99] @@: cmp ebx,B940FFDB jne @f push edx pop [fame100] @@: cmp ebx,F3AA69F8 jne @f push edx pop [fame200] @@: cmp ebx,2822D5F9 jne @f push edx pop [fame300] @@: cmp ebx,431BA89D jne code push edx pop [fame400] code: mov eax,[rdx+0C] mov rbx,[rsp+38] jmp return fame99: dd 0 fame100: dd 0 fame200: dd 0 fame300: dd 0 fame400: dd 0 Item: jmp newmem db 90 90 90 return: [DISABLE] Item: db 8B 42 0C 48 8B 5C 24 38 unregistersymbol(fame99) unregistersymbol(fame100) unregistersymbol(fame200) unregistersymbol(fame300) unregistersymbol(fame400) unregistersymbol(Item) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "Disrupt_b64.dll"+137D12C "Disrupt_b64.dll"+137D110: 48 85 D2 - test rdx,rdx "Disrupt_b64.dll"+137D113: 75 F3 - jne Disrupt_b64.dll+137D108 "Disrupt_b64.dll"+137D115: 33 C0 - xor eax,eax "Disrupt_b64.dll"+137D117: 48 8B 5C 24 38 - mov rbx,[rsp+38] "Disrupt_b64.dll"+137D11C: 48 8B 74 24 40 - mov rsi,[rsp+40] "Disrupt_b64.dll"+137D121: 48 83 C4 20 - add rsp,20 "Disrupt_b64.dll"+137D125: 5F - pop rdi "Disrupt_b64.dll"+137D126: C3 - ret "Disrupt_b64.dll"+137D127: 48 85 D2 - test rdx,rdx "Disrupt_b64.dll"+137D12A: 74 E9 - je Disrupt_b64.dll+137D115 // ---------- INJECTING HERE ---------- "Disrupt_b64.dll"+137D12C: 8B 42 0C - mov eax,[rdx+0C] "Disrupt_b64.dll"+137D12F: 48 8B 5C 24 38 - mov rbx,[rsp+38] // ---------- DONE INJECTING ---------- "Disrupt_b64.dll"+137D134: 48 8B 74 24 40 - mov rsi,[rsp+40] "Disrupt_b64.dll"+137D139: 48 83 C4 20 - add rsp,20 "Disrupt_b64.dll"+137D13D: 5F - pop rdi "Disrupt_b64.dll"+137D13E: C3 - ret "Disrupt_b64.dll"+137D13F: CC - int 3 "Disrupt_b64.dll"+137D140: CC - int 3 "Disrupt_b64.dll"+137D141: CC - int 3 "Disrupt_b64.dll"+137D142: CC - int 3 "Disrupt_b64.dll"+137D143: CC - int 3 "Disrupt_b64.dll"+137D144: CC - int 3 } Вместо rdx использовать edx и тогда по 4 байта прописывать: fame99: dd 0 Изменено 4 мая, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 5 мая, 2016 Автор Поделиться Опубликовано 5 мая, 2016 (изменено) я проверил не тот, не другой скрипт, не работает. Да ещё там тип не Double а 4 Байта Изменено 5 мая, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 5 мая, 2016 Автор Поделиться Опубликовано 5 мая, 2016 во общем я проверил твои скрипты, указатели не выводятся не в одном твоём скрипте. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 5 мая, 2016 Поделиться Опубликовано 5 мая, 2016 3 часа назад, Baracuda сказал: Да ещё там тип не Double а 4 Байта Да, когда писал это: 20 часа назад, Garik66 сказал: Адреса в игре по 8 байт. я хотел другое написать не 8 байт, а использование записи mov [fame99],rdx мы записываем в [fame99] 8 байт, а в rdx лежат адреса в виде (0000000000 + 4 байта адрес), соответственно, когда ты записываешь только один адрес - всё ровно, но когда ты записываешь следующий [fame100] поверх адреса в [fame99] записываются 0000000000. Записал для тебя видео, на моей версии игры - первый скрипт работает чётко, второй не сработал как нужно (хотя в самом начале работал, его нужно смотреть и отлаживать, но в лом). Видео: 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 5 мая, 2016 Поделиться Опубликовано 5 мая, 2016 (изменено) ЗЫ: Сейчас перекачаю и установлю твою версию игры (Пропатчено до версии - 1.06.329) и проверю, скорее всего в ebx не лежат ID на этой версии и нужно использовать именно твои фильтры, т.е. смещение +08 структуры. Изменено 5 мая, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 5 мая, 2016 Поделиться Опубликовано 5 мая, 2016 (изменено) Работают скрипты вариант 1 и 4. 1 - выложил ранее. Вариант 4: Скрытый текст { Game : Watch_Dogs.exe Version: Date : 2016-05-04 Author : Garik66 This script does blah blah blah } [ENABLE] aobscanmodule(Item,Disrupt_b64.dll,8B 42 0C 48 8B 5C 24 38 48 8B 74 24 40 48) // should be unique alloc(newmem,$1000,"Disrupt_b64.dll"+137D12C) label(code) label(return) label(fame) registersymbol(fame) registersymbol(Item) newmem: cmp ebx,FFD91B7B jne @f mov [fame],edx @@: cmp ebx,B940FFDB jne @f mov [fame+8],edx @@: cmp ebx,F3AA69F8 jne @f mov [fame+10],edx @@: cmp ebx,2822D5F9 jne @f mov [fame+18],edx @@: cmp ebx,431BA89D jne code mov [fame+20],edx code: mov eax,[rdx+0C] mov rbx,[rsp+38] jmp return fame: db 0 Item: jmp newmem db 90 90 90 return: [DISABLE] Item: db 8B 42 0C 48 8B 5C 24 38 unregistersymbol(fame) unregistersymbol(Item) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "Disrupt_b64.dll"+137D12C "Disrupt_b64.dll"+137D110: 48 85 D2 - test rdx,rdx "Disrupt_b64.dll"+137D113: 75 F3 - jne Disrupt_b64.dll+137D108 "Disrupt_b64.dll"+137D115: 33 C0 - xor eax,eax "Disrupt_b64.dll"+137D117: 48 8B 5C 24 38 - mov rbx,[rsp+38] "Disrupt_b64.dll"+137D11C: 48 8B 74 24 40 - mov rsi,[rsp+40] "Disrupt_b64.dll"+137D121: 48 83 C4 20 - add rsp,20 "Disrupt_b64.dll"+137D125: 5F - pop rdi "Disrupt_b64.dll"+137D126: C3 - ret "Disrupt_b64.dll"+137D127: 48 85 D2 - test rdx,rdx "Disrupt_b64.dll"+137D12A: 74 E9 - je Disrupt_b64.dll+137D115 // ---------- INJECTING HERE ---------- "Disrupt_b64.dll"+137D12C: 8B 42 0C - mov eax,[rdx+0C] "Disrupt_b64.dll"+137D12F: 48 8B 5C 24 38 - mov rbx,[rsp+38] // ---------- DONE INJECTING ---------- "Disrupt_b64.dll"+137D134: 48 8B 74 24 40 - mov rsi,[rsp+40] "Disrupt_b64.dll"+137D139: 48 83 C4 20 - add rsp,20 "Disrupt_b64.dll"+137D13D: 5F - pop rdi "Disrupt_b64.dll"+137D13E: C3 - ret "Disrupt_b64.dll"+137D13F: CC - int 3 "Disrupt_b64.dll"+137D140: CC - int 3 "Disrupt_b64.dll"+137D141: CC - int 3 "Disrupt_b64.dll"+137D142: CC - int 3 "Disrupt_b64.dll"+137D143: CC - int 3 "Disrupt_b64.dll"+137D144: CC - int 3 } На видео всё объяснено (сейчас загрузиться и обработается и вложу сюдым): Изменено 5 мая, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 6 мая, 2016 Автор Поделиться Опубликовано 6 мая, 2016 (изменено) Заработал Первый, скрипт Item v 1 и работает Item v 4. Но это го достаточно что бы взять пример, то как правильно надо делать указатели в скриптах AA Cheat Engine. Все остальные почему то у меня не работают, и у тебя я так понял Garik66 тоже но это и не важно. А видео ты Garik66 оставь хороший пример, и другим пользователям. Я хотел расписать не много, но ты видео выложил, так что расписывать не надо, видео достаточна, для хороши го примера. Я ДУМАЮ ТЕМУ МОЖНО ЗАКРЫВАТЬ, ЕСЛИ КОНЕЧНО ДОБАВИТЬ БОЛЬШЕ НЕ КОМУ, НЕ ЧЕГО. Как всегда огромное тебе спасибо Garik66 что я ещё могу сказать душевного спасибо Изменено 6 мая, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения