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

Лидеры

  1. Garik66

    Garik66

    Помогаторы


    • Баллы

      6

    • Постов

      5 750


  2. 2zolo2

    2zolo2

    Пользователи+


    • Баллы

      1

    • Постов

      280


  3. Ac1d

    Ac1d

    Ветераны


    • Баллы

      1

    • Постов

      310


Популярный контент

Показан контент с высокой репутацией 02.05.2016 во всех областях

  1. jeraqiv, Reverse Engineering, и найди книгу RE_for_beginners-ru.pdf. И маленькая шпаргалка для Windows OC. 1. Изучить основы ASM(ассемблера). 2. Изучить, любой удобный язык программирования.(Лучше если изучишь С, С++. Потому что, много примеров для простых задач можно будет найти) 3. Научиться пользоваться отладчиком, для Windows x32(ollydbg), x64(x64dbg). 4. Научиться восстанавливать код из ASM.(idapro в помощь, и книга RE_for_beginners-ru.pdf) 5. Научиться разбирать форматы файлов.(api Windows в помощь, ReadFile, WriteFile, CreateFile, OpenFile, GetFileSize, SetFilePointer) 6. Научиться добавлять к чужой программе, свой функционал.(Для Windows изучить PE формат и хуки)
    1 балл
  2. Каков будет дизайн трейнера - дело индивидуальное, кому-то нравится одно, кому-то другое. Ну ещё зависит от самих опций, ну например если автор трейнера хочет, чтобы пользователь вводил какое-нибудь значение, то тут без элемента Edit не обойтись, также обстоит и с ползунками и т.д. По-поводу подготовить заготовку для будущих трейнеров - совет дельный, думаю все, кто начинает писать много трейнеров (как ты), к этому приходят.
    1 балл
  3. Жень, сенк. Сейчас быстренько сделал эти две опции - перетаскивание окна трейнера и минимизация его. Вмдео (будет доступно после обработки):
    1 балл
  4. Отлично! respect от recpec .
    1 балл
  5. Вместо: writeInteger('["Tutorial-i386.exe"+2345D0]+480',position) напиши: writeFloat('["Tutorial-i386.exe"+2345D0]+480',position)
    1 балл
  6. Отрывок из файла Main-LUA; Скрипт: Видео:
    1 балл
  7. Делаем Aobscan: Сразу к делу. Допустим есть у вас нужный скрипт и на него нужно повесить Aobscan. Идём в Memory View, на любой иструкции кликаем правой кн. мыши и выбераем пункт Go to adress. Копируем из скрипта адрес инструкции, например "nfs.exe"+1224F5 и вставляем его в поле для ввода в окошке Go to adress, нажимаем Ок. Вы перейдёте к вашей инструкции, далее выделите вашу инструкцию левой кн. мыши, зажмите клавишу Shift и отсчитайте от неё вниз 5 инструкций. Отсчитали? Теперь держа Shift клацните на пятую инструкцию. Итого вместе с вашей инструкцией получится 6 выделенных. Далее не снимая выделение нажмите правую кн. мыши и выберите Copy to clippboard --> Bytes. Надеюсь у вас получилось. Далее откройте блокнот и вставьте туда скопированное нажатием Ctrl+V. В блокноте будет 6 строчек такого вида: XXX+376F - 68 DC7D4001 XXX+3774 - 64 A1 00000000 XXX+377A - 50 XXX+377B - 64 89 25 00000000 XXX+3782 - 83 EC 58 XXX+3785 - 53 Приведите их к такому виду: 68 DC 7D 40 01 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 EC 58 53 Я надеюсь вы поняли что я сделал. ОБЯЗАТЕЛЬНО должно быть по 2 цифры и между ними отступ - 01 02 Далее идём в Memory View --> Tools --> Lua Engine, появляется окно с двумя строками, в нижнюю бьём такой код: sl = AOBScan("ХХ ХХ ХХ ХХ ХХ"); if(sl == nil) then print("No code found!"); else j = stringlist_getCount(sl); print("Found:",j); for i = 1, j do print(stringlist_getString(sl,i-1)); end object_destroy(sl); end Вместо XX вставляем наши байты: sl = AOBScan("68 DC 7D 40 01 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 EC 58 53"); if(sl == nil) then print("No code found!"); else j = stringlist_getCount(sl); print("Found:",j); for i = 1, j do print(stringlist_getString(sl,i-1)); end object_destroy(sl); end И жмём Execute, программа задумалась............ Но не зависла, ждём... В Output в конце концов должна будет появиться надпись: Found: 1 12345678 - ничего не напоминает? Неет?! Идём в Memory View и смотрим адрес нашей инструкции из скрипта - 12345678 - 8B 74 24 08 - mov esi,[esp+08], совпадает? Ура, мы нашли правильные проверочные байты! Далее идём к нашему скрипту, на который будем вешать AOBScan и адаптируем под мой пример: [ENABLE] alloc(newmem,2048) label(ammo) label(returnhere) registersymbol(ammo) aobscan(aob_ammo,68 DC 7D 40 01 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 EC 58 53) Естественно сюда вставляем наши проверочные байты. newmem: mov [esi+00000140],#100 mov eax,[esi+00000140] jmp returnhere aob_ammo: ammo: jmp newmem nop returnhere: [DISABLE] //code from here till the end of the code will be used to disable the cheat dealloc(newmem) unregistersymbol(ammo) ammo: mov eax,[esi+00000140] //Alt: db 8B 86 40 01 00 00 Вместо ammo пишем что угодно. Ну вот вы сделали скрипт заряженый проверочными байтами Автор статьи - Ac1d Автор lua скрипта для проверки - Akama Автор скрипта-болванки - Ac1d
    1 балл
×
×
  • Создать...

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

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