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

Grom-Skynet

Ветераны
  • Постов

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

  • Посещение

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

    60

Сообщения, опубликованные Grom-Skynet

  1. Trainer Sniper The Manhunter v 1.0 plus 5

    post-117-0-11287000-1336296396_thumb.jpg

    >>>Описание&amp<<<

    1-Здоровье максимум клавиша numpad-1

    2-Патроны не уменьшаются клавиша numpad-2

    3-Нет перезарядки клавиша numpad-3

    4-Гранаты не уменьшаются клавиша numpad-4

    5-Стамина бесконечная клавиша numpad-5

    Скачать Trainer Sniper The Manhunter v 1.0 plus 5 by Grom-Skynet.rar

    Дополнительная информация

    Обсуждения трейнеров от Grom-Skynet

    http://forum.gamehac...от-grom-skynet/

    Флудильня от Grom-Skynet http://forum.gamehac...82-grom-skynet/

    • Плюс 3
  2. Для игры Магика ... скрипты нужно делать через AobScan ... просто с адресом скрипт будет работать пока не перезагрузишь игру... в первом посту все подробно про это рассказано и показано....))))))

  3. Trainer The Darkness II v1.0 plus 8

    post-117-1331494580,87_thumb.jpg

    >>>Описание<<<

    1-Здоровье максимум клавиша numpad-1

    2-Патроны не уменьшаются клавиша numpad-2

    3-Нет перезарядки клавиша numpad-3

    4-Сущность не падает ниже 500-000 ( Уст максимум ) клавиша numpad-4

    5-Без перезарядки способностей клавиша numpad-5

    6-Нет разброса пуль клавиша numpad-6

    7-Легкое убийство клавиша numpad-7

    При это вы тоже бессмертный...

    8-Включить всё...Выключить всё клавиша numpad-8

    Скачать Trainer The Darkness II v1.0 plus 8 by Grom-Skynet.rar

    Дополнительная информация

    Обсуждения трейнеров от Grom-Skynet

    http://forum.gamehacklab.ru/topic/240-обсуждение-тренеров-от-grom-skynet/

    Флудильня от Grom-Skynet http://forum.gamehacklab.ru/topic/896-%D1%84%D0%BB%D1%83%D0%B4%D0%B8%D0%BB%D1%8C%D0%BD%D1%8F-%D0%BE%D1%82-grom-skynet/

    • Плюс 3
  4. Trainer Crysis Warhead v 1.1.1687 DX10 plus 4

    post-117-1331226978,55_thumb.jpg

    >>>Описание<<<

    1-Здоровье не уменьшается клавиша numpad-1

    При падении с высоты умрете....

    2-Энергия максимум клавиша numpad-2

    3-Патроны и гранаты не уменьшаются клавиша numpad-3

    4-Нет перезарядки клавиша numpad-4

    Скачать Trainer Crysis Warhead v 1.1.1687 DX10 plus 4 by Grom-Skynet.rar

    Дополнительная информация

    Обсуждения трейнеров от Grom-Skynet

    http://forum.gamehac...от-grom-skynet/

    Флудильня от Grom-Skynet http://forum.gamehac...82-grom-skynet/

    P.S. Будет время доделаю...

    • Плюс 2
  5. Trainer Syndicate + 1 DLC v 1.0 plus 7

    post-117-1330452339,56_thumb.jpg

    >>>Описание<<<

    1-Здоровье максимум клавиша numpad-1

    2-Патроны не уменьшаются клавиша numpad-2

    3-Нет перезарядки клавиша numpad-3

    4-Dart слой бесконечный клавиша numpad-4

    5-Datr энергия бесконечная клавиша numpad-5

    6-Dart очки не уменьшаются клавиша numpad-6

    7-Легкое убийство клавиша numpad-7

    Выключать при битве с босами функцию легкое убийство...

    Скачать Trainer Syndicate + 1 DLC v 1.0 plus 7 by Grom-Skynet.rar

    Дополнительная информация

    Обсуждения трейнеров от Grom-Skynet

    http://forum.gamehacklab.ru/topic/240-обсуждение-тренеров-от-grom-skynet/

    Флудильня от Grom-Skynet http://forum.gamehacklab.ru/topic/896-%D1%84%D0%BB%D1%83%D0%B4%D0%B8%D0%BB%D1%8C%D0%BD%D1%8F-%D0%BE%D1%82-grom-skynet/

    • Плюс 2
  6. Как найти адрес с нужным значением.

    Поиск адреса который используется исполняющим кодом игры...

    Введение.

    Для примера будет использована игра Сталкер Чистое небо.. Принцип работы с игрой будет такой же как и в предыдущих статьях ... когда взламывали игру Metro 2033... но сложнее...

    Начнем.

    Как присоединить игру к отладчику уже все знают... искать будем опять текстовую метку тока на этот раз она выглядит вот так... air_control_param и стандартное значении = 0.1 ( Это управление героем ( игрокам ) в полете ).. как и где его взяли ... из конфигов игры... файл actors

    Вот он весь..


    [mp_skins_path]
    skin_path = actors\stalker_mp\

    [mp_actor]:common_ph_friction_params_on_npc_death
    GroupControlSection = spawn_group
    $spawn = "mp_actor"
    $ed_icon = ed\ed_actor
    $player = on
    $prefetch = 16
    cform = skeleton
    class = O_ACTOR
    money = 200;
    rank = 3;
    jump_speed = 6
    crouch_coef = 0.4 ; 0.2
    climb_coef = 0.7
    air_control_param = 0.1
    max_item_mass = 20.0;40.0
    run_coef = 3.5
    sprint_koef = 1.5;1.7 ; было 2.0
    run_back_coef = 1.7
    walk_back_coef = 0.7
    walk_strafe_coef = 1.0
    run_strafe_coef = 0.7
    visual = actors\stalker_hero\stalker_hero_1.ogf
    destroyed_vis_name = dynamics\Dead_Body\skelet_crash
    walk_accel = 16 ;40 ;17 ;54 ;40
    texture_prefetch = actors\stalker_mp\mp_team_green_1, actors\stalker_mp\mp_team_green_2, actors\stalker_mp\mp_team_green_3, actors\stalker_mp\mp_team_green_4, actors\stalker_mp\mp_team_blue_1, actors\stalker_mp\mp_team_blue_2, actors\stalker_mp\mp_team_blue_3, actors\stalker_mp\mp_team_blue_4, actors\stalker_mp\mp_team_green_addon_fr, actors\stalker_mp\mp_team_green_addon_uk, actors\stalker_mp\mp_team_blue_addon_de, actors\stalker_mp\mp_team_blue_addon_us, actors\stalker_mp\mp_team_green_armor_military, actors\stalker_mp\mp_team_green_armor_sci, actors\stalker_mp\mp_team_green_armor_exo, actors\stalker_mp\mp_team_blue_armor_military, actors\stalker_mp\mp_team_blue_armor_sci, actors\stalker_mp\mp_team_blue_armor_exo

    ;радиус в котром над предметами выводятся их названия
    pickup_info_radius = 5 ;3
    feel_grenade = 30.0 ; это нужно удалить
    feel_grenade_radius = 30.0 ;расстояние (в метрах) на котором актер чувствует гранату (любую)
    feel_grenade_time = 0.5 ;время гранаты (сек) после которого актер чувствует гранату

    Invincibility_Shield_3rd = anomaly2\burer_shield_01
    Invincibility_Shield_1st = anomaly2\burer_shield_01
    HeadShotParticle = hit_fx\hit_flesh_headshot
    ;HeadShotParticle = hit_fx\hit_dust_00

    ;радиус в котром над предметами выводятся их названия
    pickup_info_radius = 5 ;3

    ef_creature_type = 17 ; option for evaluation functions

    ; attach params
    attachable_items = mp_device_torch,attachable_item,hand_radio

    ph_box0_center = 0.0, 0.9, 0.0
    ph_box0_size = 0.35, 0.9, 0.35
    ph_box1_center = 0.0, 0.6, 0.0
    ph_box1_size = 0.40, 0.6, 0.40
    ph_box2_center = 0.0, 0.3, 0.0
    ph_box2_size = 0.40, 0.3, 0.40
    restrictor_radius = 0.9;delete
    stalker_restrictor_radius = 0.9
    medium_monster_restrictor_radius = 0.7
    ph_crash_speed_min = 16
    ph_crash_speed_max = 20
    ph_mass = 80
    ;----------------
    feel_grenade = 10.0 ;расстояние (в метрах) на котором актер чувствует гранату (любую)
    player_hud_section = actor_hud

    ;---------------------------------------------------------------------
    ph_skeleton_airr_lin_factor = 0.5 ;550.0 (изменно из-за того, что убрано домножение коэффициент 0.002 из кода)
    ph_skeleton_airr_ang_factor = 0.0 ;0.0 (изменно из-за того, что убрано домножение на коэффициент 0.3 из кода (0.0*0.3=0.0))
    ph_skeleton_hinger_factor1 = 1.0 ;1.0 (изменно из-за того, что убрано домножение на коэффициент 5.0 из кода)
    ph_skeleton_ddelay = 15.0 ;Время изменения значения трения в суставе с момента создания шелла, сек

    ph_skel_fatal_impulse_factor = 8.0
    ph_after_death_velocity_factor= 0.75
    ph_skel_shot_up_factor = 0.25
    ;---------------------------------------------------------------------

    weapon_bone0 = bip01_r_finger1
    weapon_bone1 = bip01_l_finger1
    weapon_bone2 = bip01_r_finger11

    damage = mp_actor_damage
    hit_sounds = actor_hit_snds
    hit_probability_novice = 1.00
    hit_probability_stalker = 1.00
    hit_probability_veteran = 1.00
    hit_probability_master = 1.00
    ;---------------------------------------------------------------------
    ;actor condition

    immunities_sect = mp_actor_immunities
    condition_sect = mp_actor_condition

    heavy_breath_snd = actor\breath_1 ;звук тяжелого дыхания при усталости
    heavy_blood_snd = heart\8
    heavy_danger_snd = affects\heartbeat
    medkit = 0.3 ;временно! вместо аптечки
    medkit_wound = 0.2 ;сколько процентов кровотечения оставливает аптечка
    antirad = 0.3 ;временно! вместо антирада
    material = creatures\human
    camera_height_factor = 0.85

    ;дисперсия стрельбы с учетом ходьбы и бега
    disp_base = 0.65;0.8 ;угол (в градусах) разлета пуль, когда актер стоит на месте
    disp_aim = 0.01;0.04
    disp_vel_factor = 2.0;2.5 ;на сколько увеличится дисперсия при скрости в 10 м/с (не обязательно при беге)
    disp_accel_factor = 2.5;3.0; 2.0 ;еще на сколько увеличится, если актер бежит (+ скорость)
    disp_crouch_factor = -0.35;-0.5;-0.2 ;уменьшение если актер сидит
    disp_crouch_no_acc_factor = -0.75;-1.0;-0.4 ;уменьшение если актер сидит + no acceleration
    disp_jump_factor = 30.0;7.0; 2.0

    missile_throw_offset = 0.3, 0.5, 0.5

    body_remove_time = 5000 ;время уничтожения трупа (с учетом TimeFactor)
    sleep_time_factor = 400 ;во сколько раз время идет быстрее, когда актер спит

    ;---STEP MANAGER------------------------------------------------------
    LegsCount = 2
    step_params = stalker_step_manager
    foot_bones = stalker_foot_bones

    ; visibility parameters
    DynamicObjectsCount = 32
    min_view_distance = 0.8 ; коэффициент, который множится на eye_range, в зависимости от угла
    max_view_distance = 1.0 ; коэффициент, который множится на eye_range, в зависимости от угла
    visibility_threshold = 100.0 ; значение, при достижении суммой которого объект считается видимым
    always_visible_distance = 0.3
    time_quant = 0.005
    decrease_value = 0.1 ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам
    velocity_factor = 0.5
    luminocity_factor = 0.5;0 ; фактор освещения (только для Актёра)
    transparency_threshold = 0.4 ; 0.25

    ;species of monster
    species = human

    ;autopickup
    AutoPickUp_AABB = 0.2, 0.1, 0.2; AABB бокс автоподбора предметов
    AutoPickUp_AABB_offs = 0.0, 0.1, 0.0; смещение бокса автоподбора предметов относительно позиции игрока

    ;spawn effect
    ;spawn_effect = anomaly2\electra2_blast

    [mp_actor_damage]
    ;bone_name = <hit_scale>,<fwd_damage_anim_index>,<wound_scale>,<bonepassbullet>
    ;<hit_scale> - коэфф. изменения хита (уменьшения здоровья)
    ;<wound_scale> - коэфф. изменения величины открытой раны
    ;<bone_pass_bullet> - 0 - после попадания пули в эту кость, эта пуля больше не наносит актеру повреждений
    ; 1 - пуля наносит актеру повреждения как обычно
    ;-1 - нет анимаций, четный номер - спереди, нечетный номер - сзади, УКАЗЫВАЕТСЯ ТОЛЬКО ПЕРЕДНИЙ!!! ЗАДНИЙ НА АВТОМАТЕ
    default = 1.0, -1, 0.1
    bip01_pelvis = 0.25, 10, 0.8 ;от ядра до пояса
    bip01_spine = 0.3, 10, 0.8 ;в основном без шейпа
    bip01_spine1 = 0.4, 10, 0.8 ;торс до шеи
    bip01_spine2 = 0.4, 10, 0.8
    bip01_neck = 1.25, 0, 0.1 ;в основном без шейпа
    bip01_head = 2, 0, 0.1 ;очень большой шейп
    eye_left = 3, 0, 0.1 ;глаза
    eye_right = 3, 0, 0.1 ;глаза
    jaw_1 = 1.25, 0, 0.1 ;рот от шеи до носа

    bip01_l_clavicle = 0.4, 10, 0.8 ;плечо + bip01_spine1
    bip01_l_upperarm = 0.3, 4, 0.6, 1 ;0.2
    bip01_l_forearm = 0.3, 4, 0.5, 1 ;
    bip01_l_hand = 0.2, 4, 0.2, 1 ;было 0.15
    bip01_l_finger0 = 0.2, 4, 0.2, 1
    bip01_l_finger1 = 0.2, 4, 0.2, 1
    bip01_l_finger2 = 0.2, 4, 0.2, 1


    bip01_r_clavicle = 0.4, 10, 0.8 ;плечо + bip01_spine1
    bip01_r_upperarm = 0.3, 2, 0.6, 1
    bip01_r_forearm = 0.3, 2, 0.5, 1
    bip01_r_hand = 0.2, 2, 0.2, 1
    bip01_r_finger0 = 0.2, 2, 0.2, 1
    bip01_r_finger1 = 0.2, 2, 0.2, 1
    bip01_r_finger2 = 0.2, 2, 0.2, 1

    bip01_l_thigh = 0.3, 8, 0.5 ;бедро
    bip01_l_calf = 0.25, 8, 0.4 ;голень
    bip01_l_foot = 0.15, 8, 0.3 ;пятка,1
    bip01_l_toe0 = 0.15, 8, 0.2 ;пальцы,1
    bip01_r_thigh = 0.3, 6, 0.5 ;бедро
    bip01_r_calf = 0.25, 6, 0.4 ;голень
    bip01_r_foot = 0.15, 6, 0.3 ;пятка,1
    bip01_r_toe0 = 0.15, 6, 0.2 ;пальцы,1


    [mp_actor_immunities]
    burn_immunity = 1.0 ;коэффициенты иммунитета
    strike_immunity = 1.0
    shock_immunity = 1.0
    wound_immunity = 1.0
    radiation_immunity = 1.0
    telepatic_immunity = 1.0
    chemical_burn_immunity = 1.0
    explosion_immunity = 1.0
    fire_wound_immunity = 1.0

    [mp_actor_condition]:actor_condition
    satiety_v = 0.0 ;скорость уменьшения сытости со временем
    radiation_v = 0.005 ;скорость уменьшения радиации
    satiety_power_v = 0.00055 ;увеличение силы при уменьшении сытости
    satiety_health_v = 0.0005 ;увеличение здоровья при уменьшении сытости
    satiety_critical = 0.0 ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться
    radiation_health_v = 0.02 ;уменьшение здоровья при воздействии радиации
    morale_v = 0.001 ;скорость восстановления морали
    health_hit_part = 1.0 ;процент хита, уходящий на отнимание здоровья
    power_hit_part = 0.1;0.01 ;процент хита, уходящий на отнимание силы
    psy_health_v = 0.1 ;скорость восстановления psy-здоровья
    alcohol_v = -0.03
    max_walk_weight = 50

    ;открытые раны
    bleeding_v = 0.05 ;потеря крови при номинальной ране в секунду
    wound_incarnation_v = 0.25 ;крутизна кривой заживления (какой процент раны заживет в игровую секунду)
    min_wound_size = 0.03 ;минимальный размер раны, после которого она считается зажившей

    sleep_health = 1.0 ;1.5 ;коэффициенты скоростей изменения параметров во время сна
    sleep_power = 1.0 ;1.5
    sleep_satiety = 1.0 ;0.8
    sleep_radiation = 1.0 ;1.1
    sleep_psy_health = 1.0

    ;;;;;;;;
    ;actor_condition only

    jump_power = 0.1 ; 0.1 ;0.005 ;умешьшение силы с прыжком без учета веса ноши
    jump_weight_power = 0.0 ;0.045 ;умешьшение силы с прыжком с учетом веса ноши, для максимального допустимого веса
    overweight_jump_k = 0 ;10 ;коэффициент влияние перегрузки прыжок с весом (умножается на jump_weight_power)

    stand_power = -0.2;
    walk_power = -0.1; ;умешьшение силы за секнду во время ходьбы без учета веса ноши
    walk_weight_power = 0.00 ;умешьшение силы за секнду во время ходьбы с учетом веса ноши, для максимального допустимого веса
    overweight_walk_k = 0 ; ;коэффициент влияние перегрузки ноши (умножается на walk_weight_power)
    accel_k = -0.0 ; ;коэффициент на бег (умножается walk_power, walk_weight_power)
    sprint_k =-1.5; ;коэффициент на "sprint" бег (умножается walk_power, walk_weight_power)


    ; хромота
    limping_health_begin = 0.1;0.2 ;порог здоровья меньше которого актер начинает хромать
    limping_health_end = 0.11;0.21 ;порог здоровья больше которого актер перестает хромать
    limping_power_begin = 0.1 ;порог силы меньше которого актер начинает хромать
    limping_power_end = 0.2 ;порог силы больше которого актер перестает хромать
    use_limping_state = on

    cant_walk_power_begin = 0.00 ;порог силы меньше которого актер не может двигаться
    cant_walk_power_end = 0.10 ;порог силы больше которого актер сможет двигаться

    cant_sprint_power_begin = 0.20 ;порог силы меньше которого актер не может бежать в спринте
    cant_sprint_power_end = 0.30 ;порог силы больше которого актер сможет бежать в спринте

    ;--------------------------------------------------------------------------------------------------------------------
    ;-- АНИМАЦИИ ДЛЯ СМЕРТИ
    ;--------------------------------------------------------------------------------------------------------------------
    ;cлучайные
    ;random_death_animations = ragdoll_burst_front_0,ragdoll_burst_front_1,ragdoll_burst_back_0,ragdoll_burst_left_0,ragdoll_burst_right_0 ;norm_2_reg_doll_0,norm_2_reg_doll_1,norm_2_reg_doll_2,norm_2_reg_doll_3,norm_2_reg_doll_4,norm_2_reg_doll_5

    ;по типам от 0 до 7
    ;порядок по направлениям - front/back/left/right
    ; В голову, когда персонаж бежит на нас.
    kill_enertion = ragdoll_inertion_front_0/ragdoll_inertion_front_3/ragdoll_inertion_front_2/ragdoll_inertion_front_1

    ; Смерть от автоматной очереди
    ;kill_burst = ragdoll_burst_front_0,ragdoll_burst_front_1/ragdoll_burst_back_0/ragdoll_burst_left_0/ragdoll_burst_right_0

    ; Смерть от выстрела из дробовика
    kill_shortgun = ragdoll_shortgun_front_0,ragdoll_shortgun_front_1,ragdoll_shortgun_front_2,ragdoll_shortgun_front_3,ragdoll_shortgun_front_4,ragdoll_shortgun_front_5,ragdoll_shortgun_front_6,ragdoll_shortgun_front_7,ragdoll_shortgun_front_8/ragdoll_shortgun_back_0,ragdoll_shortgun_back_1,ragdoll_shortgun_back_2,ragdoll_shortgun_back_3,ragdoll_shortgun_back_4,ragdoll_shortgun_back_5/ragdoll_shortgun_left_0,ragdoll_shortgun_left_1,ragdoll_shortgun_left_2/ragdoll_shortgun_right_0

    ; Смерть хедшотом
    kill_headshot = ragdoll_headshot_front_0,ragdoll_headshot_front_1,ragdoll_headshot_front_2,ragdoll_headshot_front_3,ragdoll_headshot_front_4,ragdoll_headshot_front_5,ragdoll_headshot_front_6,ragdoll_headshot_front_7,ragdoll_headshot_front_8,ragdoll_headshot_front_9,ragdoll_headshot_front_10/ragdoll_headshot_back_0,ragdoll_headshot_back_1,ragdoll_headshot_back_2,ragdoll_headshot_back_3,ragdoll_headshot_back_4,ragdoll_headshot_back_5/ragdoll_headshot_left_0,ragdoll_headshot_left_1,ragdoll_headshot_left_2,ragdoll_headshot_left_3,ragdoll_headshot_left_4,ragdoll_headshot_left_5,ragdoll_headshot_left_6,ragdoll_headshot_left_7/ragdoll_headshot_right_0,ragdoll_headshot_right_1,ragdoll_headshot_right_2,ragdoll_headshot_right_3

    ; Смерть хедшотом из снайперки
    kill_sniper_headshot = ragdoll_sniper_headshot_front_0,ragdoll_sniper_headshot_front_1,ragdoll_sniper_headshot_front_2/ragdoll_sniper_headshot_back_0/ragdoll_sniper_headshot_left_0/ragdoll_sniper_headshot_right_0

    ; Смерть от снайперки в тело
    kill_sniper_body = ragdoll_sniper_body_front_0,ragdoll_sniper_body_front_1,ragdoll_sniper_body_front_2/ragdoll_sniper_body_back_0,ragdoll_sniper_body_back_1,ragdoll_sniper_body_back_2,ragdoll_sniper_body_back_3/ragdoll_sniper_body_left_0/ragdoll_sniper_body_right_0

    ; Смерть от взрывной волны гранаты
    kill_grenade = ragdoll_grenade_front_0/ragdoll_grenade_back_0/ragdoll_grenade_left_0/ragdoll_grenade_right_0

    ;front-norm_2_rag_doll_front_0,norm_2_rag_doll_front_1,norm_2_rag_doll_front_2/back-norm_2_rag_doll_back_0,norm_2_rag_doll_back_1,norm_2_rag_doll_back_2/right-norm_2_rag_doll_right_0/left-norm_2_rag_doll_left_0

    ;--------------------------------------------------------------------------------------------------------------------


    Начнем взлом.

    Находим нужную текстовую метку и ставим бряк.. клавиша F2.. да и еще в предыдущих статьях модуль у нас был сам экзешник игры... а в этот раз будет Dll файл .. под названием.. xrGame.dll

    post-117-1329838445,02_thumb.jpg

    Поставили бряк и начнем загружать игру....

    Сработал бряк.. отлично .. пройдемся малость по коду вниз с помощью клавиши F8.. и тут у нас загрузка нашего,параметра контроля в воздухе... в дамп.. но она еще не выполнена так как инструкция не выполнена ..

    post-117-1329838805,19_thumb.jpg

    Посмотрим в дамп по нашему адресу.. там пока что нет нашего значения .. так как нужно выполнить инструкцию...

    post-117-1329839039,72_thumb.jpg post-117-1329839173,16_thumb.jpg

    Но перед тем как выполнить инструкцию.. или начать выполнение кода нужно поставить на наш адрес ПРОЦЕССОРНУЮ ТОЧКУ ОСТАНОВА и снять бряк с инструкции с нашей текстовой меткой... F2

    post-117-1329839675,67_thumb.jpg

    Как сделали это нажимаем F9 сработала точка остановки ( процессорная )..выполнение кода остановилось на инструкции mov ecx,dword ptr [eax+A8] и по нашему адресу загрузилось наше значение..

    post-117-1329839968,02_thumb.jpg

    Ну в прошлых статьях мы на этом и заканчивали... потом до-загружали игру и ставили на наш адрес бряк .. на чтение .. там была одна инструкция.. писали скрипт и все работало .. но в этот раз если сделать так же ... и инструкция найдется... и скрипт можно написать .. но толку будет мало... так как это значение первой загрузки ... оно не используется исполняющим кодом игры... а по ходу дела начинается копироваться, сравниваться .. и потом в конце концов.. запишется как я понимаю.. во вторую... структуру игрока.. и от туда будет использоваться кодом... тк давайте найдем это место точнее этот адрес....

    У нас есть адрес со значением float=0.1 и код остановился на mov ecx,dword ptr [eax+A8] спустимся вниз на пару инструкция... до инструкции которая работает с дробными числами... Что мы там видим ... наше значение float=0.1 опять копируется в дамп..

    post-117-1329840619,55_thumb.jpg

    И это копирование будет проходить раза 3-4 есть и больше... порядок действий такой 1-смотрим дамп нового адреса. 2-ставим на него процессорную точку остановки до того как загрузилось наше значение в него. 3-снимаем бряк со старого адреса.... и нажимаем F9..

    post-117-1329841285,13_thumb.jpg post-117-1329841293,53_thumb.jpg post-117-1329841303,22_thumb.jpg post-117-1329843865,63_thumb.jpg post-117-1329843866,42_thumb.jpg

    Как все это сделали нажимаем F9 пошло выполнение кода и сразу сработал бряк..

    Выполнение остановилось на инструкции mov edx,dword ptr [eax+13C] и в наш новый адрес загрузилось наше значение..

    post-117-1329843866,9_thumb.jpg

    Дальше опять проходим вниз до первой инструкции работающей с дробными числами... и смотрим средний сектор программы там подсказка с новым адресом...))))

    post-117-1329843867,44_thumb.jpg

    И опять так же нужно посмотреть в дампе наш новый адрес поставить на него бряк ( процессорную точку остановки ) и удалить старый бряк и продолжить загружать игру...)))

    post-117-1329843867,99_thumb.jpg post-117-1329843868,49_thumb.jpg post-117-1329846237,16_thumb.jpg

    Как это сделали нажимаем F9 пошло выполнение кода и опять сразу бряк...)))

    на этот раз остановились на movss dword ptr [ecx+2EC],xmm0... скажу сразу это последнее копирование ...

    post-117-0-86230400-1334237589_thumb.jpg

    Конечный результат хранится в [ecx+2EC].. можно высчитать адрес с помощью калькулятора.. или сделать так ....

    post-117-1329843870,28_thumb.jpg

    Как это сделали ... опять ставим бряк на наш новый адрес на чтение .. простой бряк на чтение... и удаляем старый бряк... и до-загружаем игру полностью....

    post-117-1329844838,9_thumb.jpg

    Ну и жмем F9.. загрузили игру и точка остановки не сработала...Посмотрим дамп нашего адреса.. все отлично .. там наше значение... =0.1 float...

    post-117-1329844312,17_thumb.jpg

    Для того что бы сработал наш бряк .. нужно что бы код прочитал инструкцию .. которая использует наш адрес с нашим значением ... а это произойдет когда мы прыгнем и двинемся в перед ... так как в данный момент мы ломаем управление героем ( игрокам ) в полете.. как тока это сделали сработал бряк...

    post-117-1329844970,71_thumb.jpg

    Получили нужную инструкцию.... можно написать скрипт....

    Пишем скрипт.

    Очень много перепробовал вариантов скриптов ... вылет и все... но нашелся один рабочий....))


    [ENABLE]
    alloc(newmem,2048)
    label(returnhere)

    newmem:
    pushad
    mov [esi],(float)30
    movss xmm0,[esi]
    popad
    jmp returnhere

    xrGame.dll+3B7F4D:
    jmp newmem
    nop
    nop
    nop
    returnhere:

    [DISABLE]
    xrGame.dll+3B7F4D:
    movss xmm0,[edi+000002EC]
    dealloc(newmem)

    Управление героем в полете ... стандарт 0.1 патч 30

    Можно было и в другое место встроить наш патч .. но он бы работал тока после смерти игрока... а так работает в любое время... да и еще вот скрипт на высокий прыжок к сталкеру... он тоже работает ... в любой момент... то есть не нужно умирать....


    [ENABLE]
    alloc(newmem,2048)
    label(returnhere)

    newmem:
    mov [esi+00000314],(float)35
    jmp returnhere

    xrGame.dll+3AB090:
    jmp newmem
    nop
    nop
    nop
    returnhere:

    [DISABLE]
    xrGame.dll+3AB090:
    movss [esi+00000314],xmm2
    dealloc(newmem)

    Спс..

    • Плюс 1
  7. Treiner Alan Wake v1.00.16.3209+2 DLC plus 8

    post-117-1329662484,35_thumb.jpg

    >>>Описание<<<

    1-Здоровье максимум клавиша numpad-1

    При падении с высоты умрете...

    2-Патроны не уменьшаются клавиша numpad-2

    3-Нет перезарядки клавиша numpad-3

    4-Стамина не уменьшается клавиша numpad-4

    5-Фонарик бесконечный клавиша numpad-5

    6-Батарейки не уменьшаются клавиша numpad-6

    7-Сигнальные ракеты не уменьшаются клавиша numpad-7

    8-Аккумулятор на машине бесконечный клавиша numpad-8

    Скачать Treiner Alan Wake.v1.00.16.3209+2 DLC plus 8 by Grom-Skynet.rar

    Дополнительная информация

    Обсуждения трейнеров от Grom-Skynet

    http://forum.gamehac...от-grom-skynet/

    Флудильня от Grom-Skynet http://forum.gamehac...82-grom-skynet/

    • Плюс 3
  8. Treiner Half-Life 2 v1.0.0.0-1.0.0.64 plus 8

    post-117-1329081837,86_thumb.jpg

    >>>Описание<<<

    1-Здоровье 500 клавиша numpad-1

    2-Костюм 500 клавиша numpad-2

    3-Энергия не уменьшается клавиша numpad-3

    4-Все патроны и гранаты не уменьшаются клавиша numpad-4

    5-Нет перезарядки клавиша numpad-5

    На одном пистолете не работает(((

    6-Пушка катера 100 клавиша numpad-6

    7-Легкое убийство солдат клавиша numpad-7

    8-Легкое уничтожение вертолетов клавиша numpad-8

    Скачать Treiner Half-Life 2 v1.0.0.0-1.0.0.64 plus 8 by Grom-Skynet.rar

    Дополнительная информация

    Обсуждения трейнеров от Grom-Skynet

    http://forum.gamehacklab.ru/topic/240-обсуждение-тренеров-от-grom-skynet/

    Флудильня от Grom-Skynet http://forum.gamehacklab.ru/topic/896-%D1%84%D0%BB%D1%83%D0%B4%D0%B8%D0%BB%D1%8C%D0%BD%D1%8F-%D0%BE%D1%82-grom-skynet/

    • Плюс 1
  9. Всем доброго времени суток... Есть небольшая проблема с отключением X_live..

    Скрытый текст
    
    [ENABLE]
    alloc(MyCode,1024)
    
    aobscan(CRCCheck,8b ff 55 8b ec 83 ec 20 53 56 57 8d 45 e0)
    
    label(_XLive)
    
    registersymbol(_XLive)
    
    CRCCheck:
    _XLive:
     ret 000c
    
    [DISABLE]
    
    _XLive:
     db 8b,ff,55,8b,ec,83,ec,20,53,56,57,8d,45,e0
    
    unregistersymbol(_XLive)

     

    Вот этот скрипт работал до поры до времени.... а потом аоб_скан по этим байтам

     
    8b ff 55 8b ec 83 ec 20 53 56 57 8d 45 e0

    стал находить два адреса... и инъекцию делает тока на первом.. а надо делать на втором..

    Если кто знает как решить эту проблему ... жду ответа..

    спс.

  10. Treiner Cold Fear v 1.0 plus 4

    post-117-1326225710,33_thumb.jpg

    >>>Описание<<<

    1-Здоровье максимум клавиша numpad-1

    2-Патроны не уменьшаются клавиша numpad-2

    3-Нет перезарядки клавиша numpad-3

    4-Стамина не уменьшается клавиша numpad-4

    Скачать Treiner Cold Fear v 1.0 plus 4 ( Grom-Skynet ).rar

    Дополнительная информация

    Обсуждения трейнеров от Grom-Skynet http://forum.gamehacklab.ru/topic/240-обсуждение-тренеров-от-grom-skynet/

    Флудильня от Grom-Skynet http://forum.gamehacklab.ru/topic/896-%D1%84%D0%BB%D1%83%D0%B4%D0%B8%D0%BB%D1%8C%D0%BD%D1%8F-%D0%BE%D1%82-grom-skynet/

    P.S. Скрипты больше не выкладываю... если кого то интересует какой либо скрипт ... пишем в личку...

    • Плюс 1
  11. Да, кстати. Перечитал первый пост, там есть вот такой кусочек:


    ret 0010
    jmp returnhere

    Я может просто сонный ещё, но нафига нам ret 10 тут? И тот же jmp после него - в каком случае мы до него доходим? Я проверить не могу сейчас, но по-моему мы же по ret возвращаемся и на этом всё. laugh.gif

    я тоже так в каком то скрипте думал... убрал этот прыжок и скрипт не работает...

  12. Akama, вот вы сказали на счёт патронов стрельба без перезарядки,

    inc esi

    mov [eax+10],esi

    а если например у меня так

    mov eax,[ecx+esi*4], то как правильно

    mov eax,[ecx+esi*4] если инструкция правильная... то можно

    вот так

    inc [ecx+esi*4]

    mov eax,[ecx+esi*4]

    Можно и так

    inc eax

    mov eax,[ecx+esi*4]

    Пробуй.....

  13. Делаем скорострельность.

    rpm


    Первые два шага такие же как и в статье про высокий прыжок.

    Ссылка на статью про высокий прыжок

    3-Приступим к поиску и взлому.

    Подробнее об этом:

    И снова игра Metro2033 на этот раз делаем скорострельность всего оружия...Как и в предыдущих статьях искали текстовую метку.. так и в этой стартовой точкой будет текстовая метка только она выглядит вот так "rpm" так в играх помечается скорострельность оружия..

    post-117-1325005437,86_thumb.jpg

    Нашли ее... двойной щелчок по ней что бы перейти в код, ставим на нее бряк и загружаем игру...

    post-117-1325005641,94_thumb.png

    Сработал бряк... отлично .. вроде все тоже самое как и всегда.. но давайте разберемся что происходит вот в этом куске кода....

    post-117-1325005966,64_thumb.png

    Давайте попробуем помять что тут происходит...


    0074BE9B 68 DC2F9900 push 992FDC ; ASCII "rpm" // Строчка в этом документе.
    0074BEA2 E8 19591600 call 008B17C0 ; metro203.008B17C0 // Получить параметр.
    0074BE96	68 980D9600	 push	960D98   ; ASCII "fp32" // Ссылка на текстовый документ.

    С этим понятно идем дальше...используя клавишу ( F8 ) и вот тут что то интересное

    В регистр FP xmmo помешается что то из адреса 009CDA6C скажу сразу это статический адрес со значением 60 ( и это 60 секунд которые в дальнейшем будут использованы )

    post-117-1325006629,04_thumb.png

    Проходим по коду вниз через ( F8 ) и вот тут инструкция деления.. интересно... divss xmm0,[esp+30] и тут делится xmm0 на [esp+30] а в данный момент в [esp+30] находится 600.. расскажу чуть позже почему именно 600..

    post-117-1325007397,05_thumb.jpg

    Проходим еще ниже и вот тут что то из xmmo (в xmm0 находится число после операции деления ) помещается в [esi+98]

    post-117-1325007974,78_thumb.jpg

    [esi+98] это адрес 15C12B88 смотрим дамп там еще ноль.. нужно выполнить инструкция movss [esi+98],xmm0 один раз нажимаем ( F8 ) смотрим что получилось..

    post-117-1325008475,81_thumb.jpg

    В дампе по адресу 15C12B88 находится 0.10000 float... скажу сразу это значения таймера.. а если быть точнее это время между выстрелами.. то есть одна пуля вылетела следующая вылетит через 0.1 секунды.. как то так))))

    Это значение не меняется его и будем использовать... чуть не забыл про число 600.. от куда оно взялось... и что значит...600 это скорострельность оружия АК-74.. как узнали ну вдруг если не знаем...в любом поисковике задаем АК-74 характеристики.

    Ответ.

    post-117-1325009225,63_thumb.jpg

    Что получается этот участок кода читает из конфигов скорострельность всего оружия в игре... и последовательно обрабатывает ее.. то есть получает время между выстрелами ... записывает его в структуры данного оружия и потом игра его использует...

    Как пример оружие скорострельность 400 выстрелов в минуту.. (60/400=0.15сек) а АК-74 (60/600=0.1сек)


    0074BE9B 68 DC2F9900 push 992FDC ; ASCII "rpm"
    0074BEA0 8BC5 mov eax,ebp
    0074BEA2 E8 19591600 call 008B17C0 ; metro203.008B17C0
    0074BEA7 8B45 18 mov eax,[ebp+18]
    0074BEAA 8B4D 14 mov ecx,[ebp+14]
    0074BEAD 8B1401 mov edx,[ecx+eax]
    0074BEB0 F3:0F1005 6CDA9>movss xmm0,[9CDA6C]
    0074BEB8 03C8 add ecx,eax
    0074BEBA 83C0 04 add eax,4
    0074BEBD 5F pop edi
    0074BEBE 8945 18 mov [ebp+18],eax
    0074BEC1 895424 30 mov [esp+30],edx
    0074BEC5 F3:0F5E4424 30 divss xmm0,[esp+30]
    0074BECB 5D pop ebp
    0074BECC F3:0F1186 98000>movss [esi+98],xmm0
    0074BED4 5B pop ebx
    0074BED5 83C4 24 add esp,24
    0074BED8 C2 0400 ret 4
    0074BE96	68 980D9600	 push	960D98						   ; ASCII "fp32"

    Ставим на этот адрес 15C12B88 точку остановки на чтение и заходим в игру и пробуем стрельнуть... сразу сработал бряк...

    post-117-1325010445,76_thumb.png

    Получили нужную инструкцию.. можно написать скрипт..)))

    4-Пишем скрипты

    Подробнее об этом:

    Скорострельность всего оружия...


    alloc(newmem,2048)
    label(returnhere)
    globalalloc(rpm,4)

    newmem:
    mov [rpm],(float)0.05// Время между выстрелами.. 0.05 секунды...
    movss xmm1,[rpm]
    jmp returnhere

    metro2033.exe+33E135:
    jmp newmem
    nop
    nop
    nop
    returnhere:

    [DISABLE]
    metro2033.exe+33E135:
    movss xmm1,[eax+00000148]
    dealloc(newmem)
    [ENABLE]

    Скрипт пишется именно так.. потому что если изменить [eax+00000148] то в стандарт привести его сможет тока загрузка игры...

    Поставленная задача выполнена... оружие стреляет в два а некоторое и в 3-4 раза быстрее))))

    Спс

  14. Делаем высокую скорость ходьбы игрока

    SpeedHack


    Эта статья практически похожа на ту что я писал ранее ( Там шла речь про высокий прыжок игрока )

    Ссылка на статью про высокий прыжок

    3-Приступим к поиску и взлому.

    Подробнее об этом:

    Игра Metro2033 уже запущена до меню... к ней подсоединен отладчик Ollydbg.. в прошлой статье ломали высоту прыжка и искали соответствующею текстовую метку ("jump_speed"), в это й ломаем скорость ходьбы и меток у нас будет две ... можно обойтись одной .. но мы будем работать с двумя...

    1-"run_coef" (Скорость передвижения в перед)

    2-"run_back_coef" (Скорость передвижения назад)

    post-117-1324921900,15_thumb.png

    Ставим точку остановки на эту метку (F2) и загружаем игру..

    post-117-1324922144,05_thumb.jpg

    Сработал наш бряк..

    post-117-1324922733,15_thumb.jpg

    Проходим вниз по коду с помощью клавиши (F8) и доходим вот до этой инструкции movss xmm0,[esp+68] здесь происходит загрузка параметра стандартной ходьбы вперед.. (float 1.90000)...

    post-117-1324922971,44_thumb.jpg

    Конечный результат нашего параметра ходьбы вперед хранится в [ebp+450].. посмотрим что у нас в ebp простыми вычислениями получаем адрес 154BBD00 смотрим в дамп и после выполнения инструкции movss [ebp+450],xmm0 по нашему адресу наше значение... Инструкции movss [ebp+450],xmm0 записывает наше значение в дамп для дальнейшего использования...Мы получили всю нужную информацию... и теперь мы можем снять бряк и нажать (Run=F9)... Игра до-загружается и смотрим опять в дамп.. да все ок .. там наше значение...

    post-117-1324923736,33_thumb.jpg

    Поставим на этот адрес точку остановки на чтение... и зайдем в игру и двинемся вперед .. сразу срабатывает точка остановки на чтение..

    post-117-1324924663,73_thumb.jpg post-117-1324924675,66_thumb.jpg

    Теперь все тоже самое проделаем с второй меткой 2-"run_back_coef" покажу лишь какая конечная инструкция срабатывает когда двигаемся назад..Вот она movss xmm0,[eax+00000454]

    post-117-1324926476,74_thumb.jpg

    То что выделено красным это инструкция которая работает с движением назад... и сразу в глаза бросается инструкция которая выделена синим... да да это наша инструкция которая работает с движением вперед...этот шаг выполнен на 100%.

    4-Пишем скрипты

    Подробнее об этом:

    В этот раз придется написать два скрипта (приступим к этому)))))

    1-Движение вперед скорость=6


    alloc(newmem,2048)
    label(returnhere)

    newmem:
    push [eax]
    mov [eax],(float)6
    movss xmm0,[eax]
    pop [eax]
    jmp returnhere

    metro2033.exe+3649D5:
    jmp newmem
    nop
    nop
    nop
    returnhere:

    [DISABLE]
    metro2033.exe+3649D5:
    movss xmm0,[eax+00000450]
    dealloc(newmem)
    [ENABLE]

    2-Движение назад скорость=6


    alloc(newmem,2048)
    label(returnhere)

    newmem:
    push [eax]
    mov [eax],(float)6
    movss xmm0,[eax]
    pop [eax]
    jmp returnhere

    metro2033.exe+3649CB:
    jmp newmem
    nop
    nop
    nop
    returnhere:

    [DISABLE]
    metro2033.exe+3649CB:
    movss xmm0,[eax+00000454]
    dealloc(newmem)
    [ENABLE]

    Стандарт:

    Вперед скорость=1.9

    Назад скорость=1.4

    Чит:

    Вперед скорость=6

    Назад скорость=6

    Скрипты пишутся именно так. потому что в [eax+00000454] и [eax+00000450] хранится стандартные параметры ходьбы .. а если их изменить то в стандарт привести их сможет тока загрузка игры заново ... Но этого нам не нужно...

    Задача выполнена... игрок передвигается с тройной скоростью во все направления....

    Спс

    • Плюс 3
  15. 1-COMMAND BAR

    >>>Описание<<<

    Назначение Это текстовое поле для ввода команд, которые нам могут пригодиться во многих случаях.

    Как установить Скачали архив с плагином. В папке с программой нужно создать папку PLUGINS и закинуть туда все содержимое архива... И нужно прописать путь в программе к папке с плагинами...

    Вид папки программы.

    post-117-1324508291,4_thumb.jpg

    Прописываем путь

    post-117-1324508409,42_thumb.jpg post-117-1324508613,7_thumb.png

    Как все это сделали перезагружаем программу.. В нижнем левом углу появился COMMAND BAR

    post-117-1324508695,89_thumb.jpg post-117-1324508709,74_thumb.png

    Скачать плагин cmdbar310109c.zip


    По потихоньку буду выкладывать тут плагины...

  16. Хорошее дополнение иногда игрок должен получить по голове чтоб придти в себя, а то бывает игрок играет полчаса не может проходить миссию к примеру раз по потолку перезагрузка мозга и всё.

    Grom-Skynet в Олай перехватить такие фуНкции легче чем CE?

    CE ты просто не найдешь где и что ловить... вот как то так....)))

  17. 5-Дополнение к статье.

    Я вот сегодня подумал и решил дописать дополнение к статье Конечный результат хранится в esi+74))))

    post-117-1324310325,71_thumb.jpg

    поставим бряк на эту инструкцию movss [esi+74],xmm0 и начнем загружать игру...Сработал бряк отлично посмотрим что у нас в esi

    post-117-1324310400,54_thumb.jpg

    Простыми вычислениями мы получаем адрес 15D59920.. смотрим дамп там то что нам нужно...float 6.0000. Отлично снимаем бряк нажимаем ran=F9 До-загружаем игру и смотрим опять дамп... все ок .. по нашему адресу наше значение... Заходим в игру и ставим бряк на адрес ( на чтение ).. Срабатывает одна инструкция.. movss xmm1,[eax+000000A0]

    post-117-1324310786,38_thumb.jpg post-117-1324310772,45_thumb.jpg

    Пишем скрипт...


    alloc(newmem,2048)
    label(returnhere)

    newmem:
    push [eax]
    mov [eax],(float)20
    movss xmm1,[eax]
    pop [eax]
    jmp returnhere

    metro2033.exe+4EE59B:
    jmp newmem
    nop
    nop
    nop
    returnhere:

    [DISABLE]
    metro2033.exe+4EE59B:
    movss xmm1,[eax+000000A0]
    dealloc(newmem)
    [ENABLE]

    Скрипт пишется именно так... потому что в [eax+000000A0] хранится стандартный параметр прыжка float 6.00000.. и его трогать не надо .. так как если изменить его... то в стандарт привести его сможет тока загрузка .. но нам это не нужно...

    Не правильно


    movss xmm1,[eax+000000A0]
    mov [eax+000000A0],(float)20

    Правильно


    mov [eax],(float)20
    movss xmm1,[eax]
    pop [eax]
    push [eax]

    P.S. Keng все ок ... теперь можно биться головой об потолок в любой момент.. когда захочется...))) B) B)

    Спс.

    • Плюс 2
  18. Спс .. за плюс.

    Неее.. Мы ловим момент когда игра считывает параметры игрока из текстовых документов в архиве игры... конфиги

    Это выглядит вот так...

    PUSH [перем]переменная_указывающая_на_файл
    PUSH [текстовая_строка]"jump_speed"
    CALL [функция]получить_параметр

    По этому мы и работаем с кодом который после этих функций..

    А как часто игра считывает эти параметры зависит от разработчиков... пример игра Сталкер Чистое Небо... да там еще до кучи и параметр стандартного прыжка тоже равен (float)6.0000 тк вот игра считывает этот параметр каждый раз после смерти...

  19. Делаем высокий прыжок.

    JumpHack


    Инструменты:

    1- Отладчик OLLYDBG v1.10

    2- Cheat Engine 6.1

    3- Игра к примеру Metro 2033

    1-Запустим игру. Пока что до главного меню.

    Подробнее об этом:

     

    Для игр которые нельзя переключить в оконный режим в настройках самой игры.. находим файл конфигов и прописываем там вот это r_fullscreen off сохраняем и запускаем игру.

    post-117-1324244835_thumb.jpg

    2-Присоединим к игре отладчик. Ollydbg v1.10

    Подробнее об этом:

     

     

    Запускаем отладчик Ollydbg v1.10 выбираем меню File и там Attach.

    post-117-1324245203,22_thumb.jpg

    и в открывшемся окне выбираем наш процесс в данном случае Metro 2033.

    post-117-1324245411,84_thumb.png

    И нажимаем Attach ( Присоединится ).

    post-117-1324245653,26_thumb.png

    Как отладчик присоединится к игре он поставит игру на паузу ( в правом нижнем углу будет )

    post-117-1324246011,69_thumb.jpg

    Нажимаем клавишу F9 и снимаем игру с паузы продолжаем выполнение кода.

    post-117-1324246186,08.jpg

    3-Приступим к поиску и взлому.

    Подробнее об этом:

     

     

    Для начала выберем нужный нам модуль ( а нам нужно metro2033.exe ). В меню Veiw выбираем Executable modules

    post-117-1324246744,55_thumb.png

    в открывшимся окне выбираем требуемый нам модуль ( а нам нужно metro2033.exe ).

    post-117-1324246904,93_thumb.jpg

    После тока как выбрали нужный нам модуль двойным щелчком.. нужно проверить выбрался ли он... Если нет то повторить выбор заново...В заголовке главного окна должно появиться имя нашего модуля.

    post-117-1324247148,88_thumb.jpg

    Мы собираемся ломать высоту прыжка... для этого нам нужно найти соответствующею текстовую метку.. это будет нашей отправной точкой.. Часто разработчики в играх высоту прыжка помечают как "jump_speed" вот ее и будем искать.

    Правой клавишей мыши в окне кода нашего модуля и выбираем Search for и там All referenced text strings

    post-117-1324248131,51_thumb.png

    Отладчик начнет искать все текстовые метки и по завершению поиска откроется новое окно с результатом...

    post-117-1324248266,87_thumb.jpg

    В этом окне правой клавишей мыши и в открывшемся меню Search for text

    post-117-1324252219,82_thumb.png

    Откроется поле для ввода текста.. вводим jump_speed без кавычек ( с кавычками не найдет ) ставим обе галочки и нажимает Ок. Отладчик найдет строчку с jump_speed... в игре она может быть не одна.. перемещение по списку в пределах найденного значения клавиши Ctrl+L.

    post-117-1324248917,52_thumb.jpg post-117-1324248932,2_thumb.jpg

    Как нашли нужную текстовую метку... двойной щелчок левой клавишей мыши по ней и переходим в код нашего модуля..

    post-117-1324249170,75_thumb.jpg

    Нам нужно поймать момент когда игра считывает параметры прыжка игрока.. а это происходит при загрузке...

    Ставим бряк на наш код ( Простая точка остановки ставится клавишей F2 ) как сделали это наш адрес выделился другим цветом это и значит то что точка остановки поставлена...

    post-117-1324249475,78_thumb.jpg

    Что бы она сработала нужно начать загружать игру.. я просто выберу продолжить игру.. И практически сразу срабатывает наш бряк и отладчик ставит игру на паузу... и наш адрес еще раз выделяется...

    post-117-1324250667,64_thumb.jpg

    Когда произойдет остановка, нажимая клавишу F8 (но без фанатизма, не нужно жать 1000 раз, обычно то что нас интересует происходит рядом, в ближайших 10-15 инструкций, по крайней мере в большинстве случаев)

    При прохождении по коду в ручную с помощью клавиши F8 находим вот это

    post-117-1324250891,18_thumb.jpg

    и обратите внимание на секцию которая находится слева по центру, между секциями №1 и №2, это информационная секция, которая упрощает жизнь, в ней часто видны цифры и не только, в удобоваримом виде. Так вот, как только вы в ней увидите SS=6.0000000 (это значение высоты прыжка заданное конфигурацией, в данном случае интересует именно это), нажмите на этой строчке правой кнопкой мыши, и выбирите "Modify value", в открывшемся окошке введите например 20.

    После этого снимите бряк ( Простая точка остановки ставится клавишей F2 ) снимается этой же клавишей которой и ставилась..И нажмите F9 что бы отладчик снял игру с паузы и игра смогла продолжить загрузку...

    Как игра загрузилась... пробуем прыгнуть... Оооо чудо мы стали прыгать высоко... Мы достигли нашей цели...ура...

    4-Пишем скрипт. Используя Cheat Engine 6.1

    Подробнее об этом:

     

     

    Будем использовать инструкцию под адресом 00881B37

    post-117-1324251621,83_thumb.jpg

    Скрипт высокий прыжок Игра Metro 2033 v1.0.0.1

     
    [ENABLE]
    alloc(newmem,2048)
    label(returnhere)
    
    newmem:
    mov [esi+74],(float)20
    jmp returnhere
    
    metro2033.exe+481B37:
    jmp newmem
    returnhere:
    
    [DISABLE]
    metro2033.exe+481B37:
    movss [esi+74],xmm0
    dealloc(newmem)

     

    Этим скриптом мы подмениваем стандартный параметр прыжка на свой)))

    P.S. Мы добились поставленной цели.. Плюсы этого метода то что функция прыжка получается как бы это сказать правильной что ли... то есть скорость набора высоты осталась прежней и обратно возвращается как раньше поменялось тока высота самого прыжка.... Минус то что работает тока при загрузке.. и сменить высоту прыжка можно будет тока при следующей загрузке... или при переходе из локации в локацию.

    • Плюс 4
×
×
  • Создать...

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

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