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

SER[G]ANT

Разработчики (+)
  • Постов

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

  • Посещение

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

    42

Весь контент SER[G]ANT

  1. Значит эта инструкция не выполняется в данный момент.
  2. Вот мой: [ENABLE] //postquitmessage "TrainME.exe"+1294: db eb //not changing value "TrainME.exe"+12D1: db 90 90 90 [DISABLE] "TrainME.exe"+1294: db 74 "TrainME.exe"+12D1: db 89 41 50 Хотя есть еще куча решений, но интересностей в этом трейми нет =/
  3. Точно так же - нет. Баг OllyDBG v1.10, не правильно определила адреса. Да и вообще, 1.10 с этим крякми криво работает. "Ломайте" его в OllyDBG v2.01 alpha 4 и не будет с этим крякми тех проблем, что были в 1.10 (кроме той, что сама олька 2 версии еще очень сырая)
  4. Серийник в открытом виде. Достаточно посмотреть функцию button1_click .method private hidebysig instance void button1_Click(object sender, class [mscorlib]System.EventArgs e) // DATA XREF: InitializeComponent+145r { .maxstack 2 .locals init (bool V0) nop ldarg.0 ldfld class [System.Windows.Forms]System.Windows.Forms.TextBox crackme.Form1::textBox1 callvirt instance string [System.Windows.Forms]System.Windows.Forms.Control::get_Text() ldstr "Win32API" call bool [mscorlib]System.String::op_Equality(string, string) ldc.i4.0 ceq stloc.0 ldloc.0 brtrue.s loc_8C nop ldstr "Congratulations! Now you're cracker " call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string) pop nop br.s loc_99 loc_8C: // CODE XREF: button1_Click+1Bj nop ldstr "Try again " call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string) pop nop loc_99: // CODE XREF: button1_Click+2Aj ret } Какой-то странный крякми. Сам написал - сам не могу сломать))))
  5. Я допустил небольшую оплошность: Указатель на адрес должен выглядить вот так: [[[["name.exe"+123]+4]+56]+12345], а [[["name.exe"+123]+4]+56] - это указатель на структуру. Но в скриптах все верно, т.к мы сравниваем [[["name.exe"+123]+4]+56] с eax (начало структуры игрока) и поэтому последнее смещение "12345" нам не нужно
  6. Это никак не "проблема cheat Engine", а ваша... Допустим мы нашли адрес со здоровьем "7654321" Поставили бряк и нашли инструкцию, которая что-то делает со здоровьем mov ecx,[eax+12345] Потом нашли указатель на этот адрес [[[["name.exe"+123]+4]+56]+12345] пишем скрипт [ENABLE] alloc(newmem,2048) label(returnhere) label(originalcode) newmem: push ebx //Помещаем регистр ebx в стек mov ebx,["name.exe"+123] //Вначале помещаем в ebx базовый адрес mov ebx,[ebx+4] //теперь первое смещение mov ebx,[ebx+56] //и еще одно //В итоге, в ebx будет находится значение указателя на игрока cmp ebx,eax //Сравниваем значение указателя с текущим значением регистра eax pop ebx //Убераем ebx из стека jne originalcode //Если если значения регистров ebx и eax не равны, //(значит, в данный момент, выполняется действие не со структурой нашего игрока). //то выполняется оригинальный код //А если ebx и eax равны, то //сначала меняем значение адреса "[eax+12345]" на "999", а затем выполняем оригинальный код mov [eax+12345],#999 originalcode: mov ecx,[eax+12345] //Оригинальная инструкция jmp returnhere "ADDRESS": jmp newmem nop returnhere: [DISABLE] dealloc(newmem) "ADDRESS": mov ecx,[eax+12345] Можно написать этот скрипт и так [ENABLE] alloc(newmem,2048) label(returnhere) label(originalcode) newmem: cmp [[["name.exe"+123]+4]+56],eax jne originalcode mov [eax+12345],#999 originalcode: mov ecx,[eax+12345] jmp returnhere "ADDRESS": jmp newmem nop returnhere: [DISABLE] dealloc(newmem) "ADDRESS": mov ecx,[eax+12345] А можно и вот так http://forum.gamehac...%B0-id-players/ А можно и самому найти еще много всего интересного. И для ответа на 2 вопрос возьмем ту же выдуманную инструкцию "mov ecx,[eax+12345]" В расчетах используется только 2 регистра - ecx и eax, а все остальные (разве, что кроме esp) мы может использовать для наших нужд
  7. Там патроны ломаются как делать нефиг. v1.0.6890.0 (skidrow) [ENABLE] aobscan(sign,89xxxxxxxxxx75xx8bxx8bxxxxxxxxxxxxxxffxx8bxxxxxxxxxx85xx7dxx33) alloc(newmem,2048) label(returnhere) label(originalcode) label(_disable) registersymbol(_disable) newmem: mov eax,[esi+75c] originalcode: mov [esi+00000764],eax jmp returnhere sign: //"SpecOpsTheLine.exe"+60318C: _disable: jmp newmem nop returnhere: [DISABLE] _disable: //"SpecOpsTheLine.exe"+60318C: mov [esi+00000764],eax unregistersymbol(_disable) dealloc(newmem) А по вашему скрипту видно, что вы нашли совсем левую инструкцию (точнее вызов), к тому же, ваш скрипт - всего лишь шаблон скрипта, который только и делает, что перемещает эту интсрукцию из одного место в другое и все. Если вызов и всплывает каким-то макаром, то нужно далеть инъекцию не на сам вызов, а в тот код, который вызывается.
  8. в отладчике двойной клик на инструкцию и в появившемся окошке пишешь "nop" (без кавычек)
  9. Дело тут не в пробелах, т.к. CE уже давно ставит ковычки при использование модульной адресации. Вместо модульной адресации можно использовать просто адрес или AOBSCAN, но, думаю, итог будет тот же. Возможно присутствует какая-либо защита. Настройки от обнаружения CE включены ?
  10. На скриншоте уникальным значением (id игрока) может быть любое из тех, что на ходится по смещениям от 070 до 07F в структуре. Но тут нужно проверять, т.к. одно из этих значений может быть уникально только в данный момент/на_данном уровне_игры/в_сравнении_с_этими_двумя_структурами или же уникально только для этого оружия, т.к. эти смещения находятся рядом с смещением патрон. Обычно id игрока ищут, и чаще там находится, в начале структуры.
  11. В окне выбора процессов CE есть кнопочка "Network". Не использовал эту возможность, поэтому не могу быть на 100% уверен, но думаю, что она заменяет ваши танцы с бубном.
  12. по 1 пункту Ищите значение 1 байт, когда патрон в стволе, а потом 0, сразу после выстрела и так пока не найдете адрес, а дальше знаете. по 2 пункту Ну это вообще просто, если уж и это объяснять... почитайте сначало статьи, чтобы не задавать глупых вопросов.
  13. А этого и нет на этом форуме. Набери в google.ru "SIMD регистры"
  14. А какой тогда смысл выкладывать их, если их будут видеть только те, кто и сам может это сделать ?)
  15. Почитайте про SIMD регистры (xmm0-xmm7). Это объяснит, почему нужно писать mov [exp],xxx movss xmm0,[exp] а не movss xmm0,xxx
  16. 24k Скачай с cheatengine.org/downloads.php исходники 5.6.1 (внизу страницы). В HotKeys.pas и переименуй название хоткеев и собери экзешник.
  17. Получить сигнатуру. Т.е. байт-код "FF 05 A4 B5 45 00..."
  18. Почему-то только на этом форуме у меня не работает Ctrl+C и Ctrl+V. Так задуманно или только у меня ? Chrome 20.0.1123.4 dev-m
  19. Создайте .bat файл с reg delete "HKEY_CURRENT_USER\Software\Cheat Engine\Window Positions" /v "MemoryBrowser Position" /f и запускайте при перескоке от версии к версии upd: была очепятка в коде, поправил
  20. Угу, в этой версии не совсем удобно. Раньше можно было нажать Ctrl+A и стреку, сейчас же нужно выделять адреса при помощи Shift или Ctrl и уже затем стрелку.
  21. Что именно в Анализе Структур делают опции "Expand all defined pointers" и "Expand all defined and undefined pointers" ? При использовании первой ничего не происходит, а при использовании второй CE зависает намертво ?
  22. Лучше напишите, что за игра и что нужно сделать, т.к. ваше объяснение не совсем понятно.
×
×
  • Создать...

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

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