ARM4ND0 Опубликовано 5 августа, 2011 Поделиться Опубликовано 5 августа, 2011 Не понимаю,что я делаю не правильно ,игра вылетает или просто переменная так и остается 1 ,а не 0Первый раз такой скрипт пишу.Должен добавить 1000 Е-99 в игре Singularity.[ENABLE]//codealloc(newmem,2048) //2kb should be enoughlabel(returnhere)label(originalcode)label(_cmp)label(_E99)registersymbol(_cmp)newmem: //thiscmp byte ptr [_cmp],0je originalcodecmp byte ptr [_cmp],1je _E99_E99:add dword ptr [ecx+370],3e8jmp originalcodeoriginalcode:mov eax,[ecx+eax*4+00000364]mov byte ptr [_cmp],0jmp returnhere"Singularity.exe"+BAEACD:jmp newmemnopnopreturnhere:_cmp:dd 0[DISABLE]//code"Singularity.exe"+BAEACD:mov eax,[ecx+eax*4+00000364]dealloc(newmem)unregistersymbol(_cmp) Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 6 августа, 2011 Автор Поделиться Опубликовано 6 августа, 2011 @Izmalkoff[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)newmem:mov [ecx+eax*4+00000364],#1000originalcode:mov eax,[ecx+eax*4+00000364]jmp returnhere"Singularity.exe"+BAEACD:jmp newmemnopnopreturnhere:[DISABLE]"Singularity.exe"+BAEACD:mov eax,[ecx+eax*4+00000364]dealloc(newmem)твой скрипт заморозит 1000 Е99,а я активирующий скрипт хочу.Мне нужно когда переменную менять на 1 то в игре добавит 1000 Е99 .Этот скрипт не тот что я хочу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 Чтоб прибавляло? Я тогда не знаю как, так далеко не заходил Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 6 августа, 2011 Автор Поделиться Опубликовано 6 августа, 2011 Чтоб прибавляло?да Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 Есть идея, при использовании E99 они будут прибавляться Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 6 августа, 2011 Автор Поделиться Опубликовано 6 августа, 2011 Нет ,ты имеешь ввидуnewmem:add [ecx+eax*4+00000364],#1000originalcode:mov eax,[ecx+eax*4+00000364]jmp returnhereне то что я хочу Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 Для меня смысла нет, прибавлять. Если тебе это так важно, то жди ответа от MasterGH или от других опытных пользователей Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 Можно на примере трейнера Kane and Lynch Deadman людям объяснить. Там гранаты прибавляются по нажатию хоткея. Я думаю потому, что cheathappens'ы тогда не знали как обойти проверку XLive Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 Uchiha SasukeКак минимум одна ошибка:_cmp:dd 0Заменить на _cmp:db 0-------В главной таблице добавить адрес "_cmp" типа 1 байт. А всё потому что у тебя инструкции cmp byte ... Aliast однажды напоролся на тоже самое ) Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 Data byte Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 6 августа, 2011 Автор Поделиться Опубликовано 6 августа, 2011 Я посмотрел скрипт SER[G]ANT а,вроде так и делаю,но либо вылетает либо не добавляет//Enable script and add address "_cmp" (type 1 byte) to CE table//Change value of this address to//"1" - you get +10 Weapon Tech//"2" - you get +1.000 E99 Tech//"3" - you get +1 Health Pack//"4" - you get +1 E99 Vial[ENABLE] aobscan(_faddress,8bxxxxxxxxxxxxxxc2xxxx33xxxxc2xxxxxxxxxx8bxxxx8bxxxxxx8bxx80) alloc(_newmem,2048) label(_returnhere) label(_originalcode) label(_cmp) registersymbol(_cmp) label(_weapontech) label(_e99) label(_healthpack) label(_e99vial)_newmem: cmp byte ptr [_cmp],0 je _originalcode cmp byte ptr [_cmp],1 je _weapontech cmp byte ptr [_cmp],2 je _e99 cmp byte ptr [_cmp],3 je _healthpack cmp byte ptr [_cmp],4 je _e99vial _weapontech: add dword ptr [ecx+36c],0a jmp _originalcode_e99: add dword ptr [ecx+370],3E8jmp _originalcode_healthpack: add dword ptr [ecx+364],1 jmp _originalcode_e99vial: add dword ptr [ecx+368],1 jmp _originalcode_originalcode: mov eax,[ecx+eax*4+00000364] mov byte ptr [_cmp],0 jmp _returnhere_cmp: dd 0_faddress: // 00FAE75D = GImage::GImage+20CEDD jmp _newmem nop nop_returnhere:[DISABLE] aobscan(_faddress,9090xxc2xxxx33xxxxc2xxxxxxxxxx8bxxxx8bxxxxxx8bxx80)_faddress-5: mov eax,[ecx+eax*4+00000364] dealloc(_newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 Это получается ты будешь +1000 прибавлять или +1? Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 6 августа, 2011 Автор Поделиться Опубликовано 6 августа, 2011 Хорошо сейчас попробую. Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 6 августа, 2011 Автор Поделиться Опубликовано 6 августа, 2011 Та же проблема .При активации скрипта переменную присваивается какой-то странный адрес. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 В таком случае я проверяю тело чит-кода Olly-дебагером. Сделай сразу пошаговую трассировку. И ты найдёшь ответ. Иначе мы будем гадать Кстати CE может не правильно ассемблировать Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 6 августа, 2011 Автор Поделиться Опубликовано 6 августа, 2011 А что за трассировка, ? "Brake and trace instruc." ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 [ENABLE] alloc(_newmem,2048) aobscan(_address,8Bxxxxxxxxxxxx8Bxxxxxxxxxxxx2Bxx33xx85xx0Fxxxx8Dxxxxxxxxxxxx83) label(_grens) registersymbol(_grens) label(_returnhere) label(_cmp) label(_origanalcode) registersymbol(_cmp)_newmem: cmp byte ptr [_cmp],0 je _origanalcode cmp byte ptr [_cmp],1 je _grens_grens:add dword ptr [ecx+364],5jmp _origanalcode_origanalcode: mov eax,[edi+esi*4+00000628] jmp _returnhere_cmp: db 0_address: // "server.dll"+DC553 = 0x220DC553 jmp _newmem nop nop_returnhere:[DISABLE]_grens: mov eax,[edi+esi*4+00000628] dealloc(_newmem) unregistersymbol(_grens)Мой тоже вылетает Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 cmp byte ptr [_cmp],1je _E99_E99:Этот кусок в принципе вообще не нужен, ибо прыжок делается на инструкцию сразу после инструкции прыжка. Можно просто продолжать выполнение после первого прыжка. Ссылка на комментарий Поделиться на другие сайты Поделиться
SER[G]ANT Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 cmp byte ptr [_cmp],0je originalcodeможно убрать из скрипта.В этот скрипт я его вставил только из-за того, что на одной инструкции у меня было 4 чита, которые срабатывали только при нажатии клавиш, а сама инструкция вызывалась постоянно. Т.е. если бы небылоcmp byte ptr [_cmp],0je originalcodeто, при выполнении оригинального кода (когда ни один чит не активен), происходили бы ненужные сравнивания (равен ли cmp 1,2,3 или 4).У тебя же используется только 1 чит, т.е либо cmp равно 0 и тогда выполняется оригинальный код, либо он равен 1 и срабатывает чит.Попробуй вот так[ENABLE]//codealloc(newmem,2048) //2kb should be enoughlabel(returnhere)label(originalcode)label(_cmp)registersymbol(_cmp)newmem: //thiscmp [_cmp],1jne short originalcodeadd dword ptr [ecx+370],3e8originalcode:mov eax,[ecx+eax*4+00000364]mov [_cmp],0jmp returnhere"Singularity.exe"+BAEACD:jmp newmemnopnopreturnhere:_cmp:dd 0[DISABLE]//code"Singularity.exe"+BAEACD:mov eax,[ecx+eax*4+00000364]dealloc(newmem)unregistersymbol(_cmp) Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 6 августа, 2011 Автор Поделиться Опубликовано 6 августа, 2011 Так я понял о чем ты,но все же опять что-то ни то.Вылетает игра как только переменную ставлю 1.Izmalkoff ты тоже попробуй этот скрипт и отпишись. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 Раз вылет происходит именно тогда, когда, по сути, активируется скрипт, следовательно, какой-то из регистров процессора в данный момент не содержит ссылки на структуру игрока и иже с ним. Поэтому запись получается по "левому" адресу, что, по идее, и вызывает вылет. Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 6 августа, 2011 Автор Поделиться Опубликовано 6 августа, 2011 Xipho а этот скрипт SER[G]ANT a работает у меня,хотя все сходится.//Enable script and add address "_cmp" (type 1 byte) to CE table//Change value of this address to//"1" - you get +10 Weapon Tech//"2" - you get +1.000 E99 Tech//"3" - you get +1 Health Pack//"4" - you get +1 E99 Vial[ENABLE] aobscan(_faddress,8bxxxxxxxxxxxxxxc2xxxx33xxxxc2xxxxxxxxxx8bxxxx8bxxxxxx8bxx80) alloc(_newmem,2048) label(_returnhere) label(_originalcode) label(_cmp) registersymbol(_cmp) label(_weapontech) label(_e99) label(_healthpack) label(_e99vial)_newmem: cmp byte ptr [_cmp],0 je _originalcode cmp byte ptr [_cmp],1 je _weapontech cmp byte ptr [_cmp],2 je _e99 cmp byte ptr [_cmp],3 je _healthpack cmp byte ptr [_cmp],4 je _e99vial _weapontech: add dword ptr [ecx+36c],0a jmp _originalcode_e99: add dword ptr [ecx+370],3E8jmp _originalcode_healthpack: add dword ptr [ecx+364],1 jmp _originalcode_e99vial: add dword ptr [ecx+368],1 jmp _originalcode_originalcode: mov eax,[ecx+eax*4+00000364] mov byte ptr [_cmp],0 jmp _returnhere_cmp: dd 0_faddress: // 00FAE75D = GImage::GImage+20CEDD jmp _newmem nop nop_returnhere:[DISABLE] aobscan(_faddress,9090xxc2xxxx33xxxxc2xxxxxxxxxx8bxxxx8bxxxxxx8bxx80)_faddress-5: mov eax,[ecx+eax*4+00000364] dealloc(_newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 6 августа, 2011 Поделиться Опубликовано 6 августа, 2011 Вполне возможно, что скриптом ты внедряешься в нужную игровую рутину, поэтому у тебя и работает. Впрочем, чтобы сказать точнее, нужно самому сидеть и ломать игру. К сожалению, у меня небольшая неприятность - сдох монитор, поэтому приходится в качестве монитора использовать свою плазму, но у нее, понятное дело, время отклика подольше значительно и это очень неудобно при сворачивании/разворачивании игры. Впрочем, я думаю, на днях приобрету новый моник и все будет путем. Тогда, возможно, проверю этот скрипт и, возможно, дополню его. Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 7 августа, 2011 Автор Поделиться Опубликовано 7 августа, 2011 Ок,спасибо Xipho. Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 7 августа, 2011 Поделиться Опубликовано 7 августа, 2011 Щас попробую, без aob Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения