-
Постов
120 -
Зарегистрирован
-
Посещение
-
Победитель дней
7
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент lamalamaz
-
newmem: cmp rbx,12C je instruction jmp originalcode instruction: // сюда если rbx(смещение равно 12С) mov [rax+rbx],(float)100 //к примеру mov xmm0,[rax+rbx] jmp returnhere originalcode: //сюда во всех остальных случаях mov xmm0,[rax+rbx] jmp returnhere
-
Мало данных,что за смещение, что за игра? смещение в стеке или смещение по анализу структур? mov xmm0,[rax+rbx] инструкция чтения.
-
mov xmm0,[rax+rbx-12с]
-
[ENABLE]alloc(newMem,64)label(returnHere)label(nol)label(sto)label(load)newMem:cmp dword ptr [esi+00000280],(float)100je nolcmp dword ptr [esi+00000280],(float)0je stojmp loadnol:mov dword ptr [esi+00000280],(float)0 jmp returnHeresto:mov dword ptr [esi+00000280],(float)100jmp returnHereload:mov dword ptr [esi+00000280],(float)100jmp returnHereFallout3.exe+36E4E0:jmp newMemnopnopreturnHere:[DISABLE]Fallout3.exe+36E4E0:fstp dword ptr [esi+edi*4+00000200]dealloc(newMem)Попробуй так
-
Csharp так же как и C++ не могут напрямую работать с регистрами, так что использование инструкций отпадает. Искать только статический указатель. Как искать, к примеру логика такая 2 уровня хоть бы найти вручную а потом воспользоваться автоматическим поиском. То есть уже визуально можно видеть какие указатели не правильные чтобы не отсеивать по 100500 раз. к примеру твоя инструкция [ecx+34],eax то последний уровень будет 0x34. Ты бы сделал скрин инструкции которая пишет в твой адрес азота новое значение.
-
Как я помню они запакованы в mpq архивы,сам формат карт .ds1 Скачать распаковщик с сайтов диабло моддинга и полазить в архивах First, let's extract these files from the MPQs : from Patch_D2.mpq :Data\Global\Excel\Levels.txtData\Global\Excel\LvlPrest.txtData\Global\Excel\LvlTypes.txtData\Global\Excel\Objects.txt from D2Exp.mpq :Data\Global\Excel\LvlWarp.txtData\Global\Excel\ObjType.txtData\Global\Tiles\Act1\Town\TownE1.ds1Data\Global\Tiles\Act1\Tristram\Tri_Town4.ds1Data\Global\Tiles\Act2\Town\LutN.ds1 from D2Data.mpq :Data\Global\Tiles\Act1\Barracks\JailEWarpNext.ds1Data\Global\Tiles\Act1\Caves\CaveDR1.ds1Data\Global\Tiles\Act1\Caves\CaveEDown1.ds1Data\Global\Tiles\Act1\Caves\CaveESpec.ds1Data\Global\Tiles\Act1\Caves\CaveNSpec.ds1Data\Global\Tiles\Act1\Caves\CaveSSpec.ds1Data\Global\Tiles\Act1\Caves\CaveWSpec.ds1Data\Global\Tiles\Act1\Graveyard\Gravey.ds1Data\Global\Tiles\Act1\Outdoors\Cott1.ds1
-
попробуй заменить прям в коде sub ecx,edi на add ecx,ecx По идее при любом растрачивании поинтов они должны увеличиваться в 2 раза. или jb в том же промежутке на je заменить, как я понял без этого сравнения деньги уйдут в минуса но ты можешь покупать все даже с минусом. Нет игры на данный момент, снес... Играть невозможно
-
mov ecx,[rax+28] mov [rax+28],ecx Обычно между инструкциями такого типа идет вычисление то есть типо того mov ecx,[rax+28] //сохраняем текущее значение в ecx ... //манипуляции с ecx mov [rax+28],ecx //обновляем текущее значение из ecx можно скриншот MemoryView между этими инструкциями? Смысл в том что можно без AA скрипта сделать деньги. PS. Юбики выпустили очень сырой релиз Unity. Она даже на консольках глючит а FPS выше 23 не поднимается. О пк геймерах вообще молчу баг на баге оптимизация кривейшая. Нужно ждать патчи.
-
-
Версия 1.0.6.0
138 раз скачали
Тип издания: Лицензия (Steam-RIP) Отличная игра вот только GOD и 1HIT напроч убивают интерес, но есть вот такое предложение 1. stamina - Стамина не кончается 2. defence/damage - Опция интереснее в ней можно увеличивать свой урон и так же уменьшать урон по вам. по умолчанию стоит урон по вам уменьшен в раза 4 и ваш урон по врагам увеличен в 4 раза в скрипте можете опционально менять на любые значения. -
Как и писал Xipho попробуй запуститься в режиме без проверки подписей драйверов. Подробнее тут http://skesov.ru/otklyuchenie-proverki-tsifrovoy-podpisi-drayverov/#p1
-
[ENABLE]label(newmem,2048)label(returnhere)label(damage)registersymbol(damage)newmem:push ebpmov dword ptr ebp,edx // устанавливаем текущее значение в ebpsub dword ptr ebp,[ecx+000002D4] // отнимаем остаток здоровья от "прошлого" значения здоровья, и в ebp получаем уронmov dword ptr [damage],ebp // записываем в метку damage количество урона// дальше выполняем оригинальный кодdamage:dd 0// инструкция[DISABLE]unregistersymbol(damage)dealloc(newmem)
-
Здравствуйте Геймхаклаберы! Есть такая инструкция mov edx,[ecx+000002D4] (срабатывает только когда наносится урон) Где edx - количество жизней после урона [ecx+000002D4] - количество жизней после урона. Значения верные смотрел из инструкции которая пишет mov [ebp+000002D4],eax(не взял ее потому что часто обращается даже когда урон не наносится) eax=edx,[ecx+000002D4]=[ebp+000002D4]. все значения целое 4 байта Суть в том что хочу высчитать сам урон. написал вот что: pushadmov eax,edx //кол-во после урона сохраняем в eaxmov ebx,[ecx+000002D4] //кол-во до сохраняем в ebxsub ebx,eax //до урона-после урона=сам уронsub [ecx+000002D4],ebx // от жизней отнимаем сам уронpopadmov edx,[ecx+000002D4] //оригинальная инструкцияjmp returnhereСуть в том что не работает, мобы умирают с одной тычки. Подскажите правильно ли вообще так обсчитывать? И как вычислить урон иным методом если тут написание не верно.
-
Хорошая мысль. Игра XIII. Ниже скину сам скрипт. Суть в том что с 0 не получается сравнивать(условие не срабатывает). Еще суть в том что сначала из eax вычитается урон из оружия потом делится. Пробывал перед вычитанием делить всеравно опускается ниже нуля(FFFFF0C) и начинает делить уже это число. Как бы это обойти? Вот такой чудо скрипт написал чтобы хоть как то это обойти. [ENABLE]//code from here to '[DISABLE]' will be used to enable the cheatalloc(newmem,2048)label(returnhere)label(1hit)label(orig)label(origs)label(cont) // Инструкция вычитания жизней работает и с адресом врагов и с моим и еще с кучей разных адресовnewmem:cmp [ebx+38],0 // отсеиваем левые адреса(оставляем только мои ХП и ХП врагов)je contjmp origcont:cmp [ebx+80],0 //отсеиваем все адреса кроме адреса ХП враговje origjmp 1hit1hit:pushad //стекем все регистрыmov edx,0 //обнуляем высший порядок для деленияmov eax,eax // это для наглядности так как eax делимоеmov edi,2 // это делитель в нашем случае 2div edi // делим на 2//следующей строчкой идет сравнение так как жизни перемахивают через 0 и получаются числа (FFFFFXX и т.д.)cmp eax,1111111 //11111111 взял это число т.к. он успевает поделить FFFFFFFXXjg origs // если больше заданного прыгаем на обнулениеmov [ebx],eax // оригинальная инструкцияpopad //восстанавливаем регистрыmov ebx,eaxmov eax,[esp+14]jmp returnhereorig: // оригинальная инструкцияmov [ebx],eaxmov ebx,eaxmov eax,[esp+14]jmp returnhereorigs: // сюда прыгаем после сравнения результата деленияpopad //восстанавливаем регистрыmov eax,0 //обнуляем eaxmov [ebx],eaxmov ebx,eaxmov eax,[esp+14]jmp returnhere"Core.dll"+1959E:jmp newmemnopnopnopreturnhere: [DISABLE]//code from here till the end of the code will be used to disable the cheatdealloc(newmem)"Core.dll"+1959E:mov [ebx],eaxmov ebx,eaxmov eax,[esp+14]//Alt: db 89 03 8B D8 8B 44 24 14Как убрать эти костыли? Сделать так чтобы при невозможном делении на целое(1/2) выдавало 0 и остаток 1. Как-то так. P.S. Или как то заменить умножением с дробными числами все куда проще нежели с целыми.
-
Здравствуйте Геймхаклаберы. Возник вопрос по целочисленному делению. Читал инфу из статей и справочников, но вот как это применить в игре не получается. Вот пример инструкции которая пишет обновленное количество жизней при ударе врага. mov [esi+000000F1C],eax Так вот вопрос. Как eax разделить на 2. То есть код код прилетает значение жизней противника в eax(к примеру 500) потом 500 прилетает в [esi+000000F1C]. как тот же 500 разделить на 2 при обращении к инструкции. пробовал так pushad mov edx,0 mov eax,eax mov edi,2 div edi mov [esi+000000F1C],eax popad Но происходит вылет... Прошу помощи исходя из моей инструкции.