#26 12-06-2010 11:58

RDH
From: Энгельс
Registered: 09-01-2010
Posts: 65

Re: Светофоры

Den_spb wrote:

Небольшое уточнение. Вот точные значения Z-угла, по которому определяется, к какому из двух направлений относится светофор:

(330.0 ; 60.0)   -   направление 1
[60.0 ; 150.0]   -   направление 2
(150.0 ; 240.0)   -   направление 1
[240.0 ; 330.0]   -   направление 2

С этими углами на светофорах иногда горят неправильные сигналы!


programmer.png
modder.jpg

Offline

#27 12-06-2010 13:19

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Светофоры

Значения точные, получены экспериментальным путём:

{$CLEO}
var
0@ : array 12 of integer
end
0a95:
model.Load(1351) 
repeat
    wait 0
until model.Available(1351)
30@ = 340.4744
29@ = 2498.3745
31@ = 0
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 59.9
31@ += 1
30@ += 5.0
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 60.0
31@ += 1
30@ += 5.0
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 60.1
31@ += 1
30@ = 340.4744
29@ += 10.0 
//--------------------------------------
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 149.9
31@ += 1
30@ += 5.0
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 150.0
31@ += 1
30@ += 5.0
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 150.1
31@ += 1
30@ = 340.4744
29@ += 10.0 
//--------------------------------------
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 239.9
31@ += 1
30@ += 5.0
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 240.0
31@ += 1
30@ += 5.0
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 240.1
31@ += 1
30@ = 340.4744
29@ += 10.0 
//--------------------------------------
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 329.9
31@ += 1
30@ += 5.0
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 330.0
31@ += 1
30@ += 5.0
object.Create(0@[31@] 1351 30@ 29@ 15.7854)
0177: set_object 0@[31@] Z_angle_to 330.1
31@ += 1
30@ = 340.4744
29@ += 10.0 
//--------------------------------------
model.Destroy(1351)
0a93:

Например, светофоры со значением Z-угла 330.1 и 59.9 горят одним цветом, в то время как светофоры со значениями 329.9, 330.0, 60.0, 60.1 горят другим цветом. Аналогично определены остальные интервалы.

Offline

#28 13-06-2010 11:34

RDH
From: Энгельс
Registered: 09-01-2010
Posts: 65

Re: Светофоры

Углы брал не для светофора, а для автомобиля. Там больше подходят мои углы, но не везде правильно работает.

А для пешеходных тоже должен быть таймер?

Last edited by RDH (13-06-2010 11:42)


programmer.png
modder.jpg

Offline

#29 18-02-2011 19:48

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Светофоры

Уточнено назначение некоторых функций, имеющих отношение к светофорам.

.text:0049D2D0     CTrafficLights_Get_Current_Traffic_Mode_NS proc near
.text:0049D310     CTrafficLights_Get_Current_Traffic_Mode_WE proc near

Определяют режим дорожного движения одного из двух направлений (0 - машины едут, 1 - машины стоят)

.text:0049D350     CTrafficLights_Get_Current_Color_NS proc near
.text:0049D3A0     CTrafficLights_Get_Current_Color_WE proc near

Определяют цвет сигнала светофора одного из двух направлений (0 - зелёный, 1 - жёлтый, 2 - красный).

.text:0049D4D0     CTrafficLights_Get_Type_by_Z_angle proc near

Определяет направление светофора (1 - WE, 2 - NS). Передаваемый параметр - Z-угол светофора.

Написал новый вариант скрипта "Зелёная линия" - пока на автомобиле игрока включена сирена, все попутные светофоры горят зелёным, а светофоры другого направления - красным. Траффик подчиняется изменённым сигналам светофоров.

{$CLEO}
0A8C: write_memory 0x49D6D5 size 4 value 0xFFFFFC77 virtual_protect 1
0A8C: write_memory 0x49D6ED size 4 value 0xFFFFFCAF virtual_protect 1
0A8C: write_memory 0x49D84B size 4 value 0xFFFFFB01 virtual_protect 1
0A8C: write_memory 0x49D863 size 4 value 0xFFFFFB39 virtual_protect 1
0A8C: write_memory 0x49D9CE size 4 value 0xFFFFF97E virtual_protect 1
0A8C: write_memory 0x49D9E4 size 4 value 0xFFFFF9B8 virtual_protect 1
0AC7: 0@ = var 1@ offset
0A8C: write_memory 0x49D379 size 4 value 0@ virtual_protect 1
0AC7: 0@ = var 2@ offset
0A8C: write_memory 0x49D3C9 size 4 value 0@ virtual_protect 1
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
        if and
            actor.Driving($PLAYER_ACTOR)
            84C8:   not actor $PLAYER_ACTOR driving_flying_vehicle
            84A7:   not actor $PLAYER_ACTOR driving_boat 
            89AE:   not actor $PLAYER_ACTOR driving_train
            $ONMISSION == 0
        then
            03C0: 0@ = actor $PLAYER_ACTOR car 
            if
                0ABD:   vehicle 0@ siren_on
            then
                0174: 0@ = car 0@ Z_angle
                0AA7: call 0x49D4D0 num_params 1 pop 1 0@ 0@ // CTrafficLights_Get_Type_by_Z_angle
                if
                    0@ == 1 // WE
                then
                    1@ = 15000
                    2@ = 15000
                else // 0@ == 2  // NS
                    1@ = 5000
                    2@ = 10000
                end 
                continue    
            end
        end
    end
    01BD: 1@ = current_time_in_ms 
    01BD: 2@ = current_time_in_ms
end

Last edited by Den_spb (18-02-2011 19:49)

Offline

#30 18-02-2011 21:52

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Светофоры

clap
надеюсь, названия функций найдут отражение в базе))

Offline

#31 04-03-2011 16:43

hack_death
Registered: 15-07-2009
Posts: 10

Re: Светофоры

Ребят, а не подскажите о светофорах в Вайсе? Искал нечто схожее в gta_vc.idb от listener'а и безрезультатно.


673028.gif

Offline

#32 23-10-2011 18:27

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Светофоры

Находка бесполезная, но забавная:

.text:00724B60     DrawHandmanTexture proc near

Функция рисует текстуру пешеходного светофора.
Пример использования:

{$CLEO}
wait 0
while true
    wait 0
    0AA5: call_function 0x00724B60 num_params 25 pop 25  60.0   0 0 255  1 1.0 0 1.0 0.5 0 0 0 0.5    27.6875 160.4639 -2016.1389       27.6875 155.3591  -2016.1389        32.6875 160.4639 -2016.1389    32.6875 155.3591  -2016.1389 
end

Последние 12 параметров - координаты углов прямоугольника (3 координаты * 4 точки), в который будет вписана текстура.
64f988e47a149b2226b407db8602cbb4.jpeg 362f7ba9cbdb5d44d4e389802411ad29.jpeg 4eed9e77f07533cc7641d0e444e2df4b.jpeg
UPD:
1.0 0.0 1.0 0.5 0.0 0.0 0.0 0.5 - координаты отображаемого куска текстуры (2 координаты * 4 точки)
1.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 - при этих значениях текстура не обрезается и отображается целиком.
0 0 255 - RGB

Last edited by Den_spb (24-10-2011 17:24)

Offline

#33 23-10-2011 20:29

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Светофоры

Я так понял что имя текстуры захардкодено и изменить её на свою не удастся?

Offline

#34 23-10-2011 20:53

Jack Daniel's
Registered: 05-07-2011
Posts: 211

Re: Светофоры

Еще не встречал ни одного захардкоденого названия текстуры в gta_sa.exe

Offline

#35 23-10-2011 21:54

Yoda
From: Moscow
Registered: 08-03-2011
Posts: 90

Re: Светофоры

@Sw[ee]t - текстура, если я правильно понимаю, называется "handman". файл "models\particle.txd"
@Jack Daniel's - ряд текстур, насколько я понимаю, грузятся экзешником... типа худа, например... или вот эта состоит из двух частей (рука и человечек, которые выводятся по отдельности)... кстати, было бы интересно узнать адреса по которым они (указатели на них ?) хранятся в игре... сюда вот - 0хA94B68 - грузятся 128 (вроде) текстур, вызываемых скриптами... а текстуры худа (и, очевидно, партиклз и ещё много чего) грузятся еще куда-то.


Try not. Do or do not, there is no try.

Offline

#36 23-10-2011 22:46

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Светофоры

Я так понял что имя текстуры захардкодено и изменить её на свою не удастся?

Перед запуском данной функции можно заменить текстуру handman на любую другую из particle.txd.
Кстати, в particle.txd можно добавлять свои текстуры, подробности тут

кстати, было бы интересно узнать адреса по которым они (указатели на них ?) хранятся в игре

Адреса с указателями на текстуры particle.txd приведены тут

Last edited by Den_spb (23-10-2011 23:07)

Offline

#37 24-10-2011 11:28

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Светофоры

... можно заменить текстуру handman на любую другую из particle.txd.

ТОЛЬКО из particle.txd? А свой txd если подставить?
Мне нужна текстура которая будет висеть в воздухе в опр. координатах...

Last edited by Sw[ee]t (24-10-2011 11:29)

Offline

#38 24-10-2011 17:40

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Светофоры

.text:00724770     Create_luminous_polygon proc near

Функция создаёт светящийся многоугольник, служащий сигналом светофора. Пример использования:

{$CLEO}
wait 0
while true
    wait 0
    0AA5: call_function 0x00724770 num_params 16 pop 16  0 0 0 1     0.0 0.0 0.0   0.0 0.0 1.0      1.0 0.0 0.0      27.6875 155.3591  -2016.1389
end

Параметры:
1 - цвет многоугольника (1 - зелёный, 2 - жёлтый, 3 - красный)
27.6875 155.3591  -2016.1389 - позиция локальной системы координат (светофора)
0.0 0.0 1.0 - координаты вектора At (определяют Z-угол поворота эффекта)
1.0 0.0 0.0 - координаты точки в локальной СК (определяет размер и направление эффекта)
3f99379cdf924b5f274ed5e3d6fbf683.jpeg
Прочие функции, вызываемые в 0x49DAB0 CTrafficLights_Render_TrafficLight:

.text:007000E0     Create_Flashlight proc near ; создание невидимого источника света
.text:0070BA00     sub_70BA00      proc near ; участвует в создании световой проекции на земле

Last edited by Den_spb (24-10-2011 18:55)

Offline

#39 05-07-2013 20:35

IlyaLion
Registered: 11-07-2011
Posts: 7

Re: Светофоры

Существует ли способ выключения светофоров только одного направления?

Offline

#40 02-10-2013 14:29

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Светофоры

Den_spb wrote:

жёлтый мигающий.

Все светофоры мигают желтым цветом (означает, что перекрёсток нерегулируемый):

{$CLEO}
0AC7: 31@ = var 30@ offset
0AC7: 29@ = var 28@ offset
0A8C: write_memory 0x0049D379 size 4 value 31@ virtual_protect 1  // подставляем свой адрес в функцию север-юг 
0A8C: write_memory 0x0049D3C9 size 4 value 29@ virtual_protect 1 // подставляем свой адрес в функцию запад-восток
30@ = 10000 // при этом значении таймера север-юг горит желтым
28@ = 22000 // при этом значении таймера запад-восток горит желтым
var
    2@: array 9 of Integer
end
1@ = 0x008CD4F4
for 0@ = 0 to 8
    0A8D: 2@[0@] = read_memory 1@ size 2 virtual_protect 0 // сохраняем ИД номера светофоров в переменных скрипта
    1@ += 0x4
end
while true
    wait 500
    1@ = 0x008CD4F4
    for 0@ = 0 to 8
        0A8C: write_memory 1@ size 2 value 0 virtual_protect 0 // теперь игра будет считать светофором объект с ИД=0 . Т.е. светофоры работать не будут
        1@ += 0x4
    end 
    wait 500
    1@ = 0x008CD4F4
    for 0@ = 0 to 8
        0A8C: write_memory 1@ size 2 value 2@[0@] virtual_protect 0 // восстанавливаем ИД номера светофоров. Светофоры снова работают (в данном случае горят желтым цветом)
        1@ += 0x4
    end   
end

Мне этот скрипт пригодится, можно его использовать в своём моде?
Только машины останавливаются на перекрёстке и стоят бесконечно. Есть ли способ заставить их всех игнорировать светофор или придётся отлавливать каждую машину и приписывать ей это свойство?

Offline

#41 03-10-2013 23:07

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Светофоры

можно его использовать в своём моде?

Можно.

Есть ли способ заставить их всех игнорировать светофор или придётся отлавливать каждую машину и приписывать ей это свойство?

Попробуй такой вариант:

{$CLEO}
0AC7: 31@ = var 31@ offset
0AC7: 30@ = var 30@ offset
0A8C: write_memory 0x0049D379 size 4 value 31@ virtual_protect 1  // подставляем свой адрес в функцию север-юг 
0A8C: write_memory 0x0049D3C9 size 4 value 30@ virtual_protect 1 // подставляем свой адрес в функцию запад-восток
31@ =  10000 // при этом значении таймера север-юг горит желтым
30@ =  22000 // при этом значении таймера запад-восток горит желтым

0A8C: write_memory 0x0049D300 size 2 value 0xC032 virtual_protect 1   // xor al , al
0A8C: write_memory 0x0049D338 size 2 value 0xC032 virtual_protect 1   // xor al , al
0A8C: write_memory 0x0049D34A size 2 value 0xC032 virtual_protect 1   // xor al , al

var
    2@: array 9 of Integer
end
1@ = 0x008CD4F4
for 0@ = 0 to 8
    0A8D: 2@[0@] = read_memory 1@ size 2 virtual_protect 0 // сохраняем ИД номера светофоров в переменных скрипта
    1@ += 0x4
end
while true
    wait 500
    1@ = 0x008CD4F4
    for 0@ = 0 to 8
        0A8C: write_memory 1@ size 2 value 0 virtual_protect 0 // теперь игра будет считать светофором объект с ИД=0 . Т.е. светофоры работать не будут
        1@ += 0x4
    end 
    wait 500
    1@ = 0x008CD4F4
    for 0@ = 0 to 8
        0A8C: write_memory 1@ size 2 value 2@[0@] virtual_protect 0 // восстанавливаем ИД номера светофоров. Светофоры снова работают (в данном случае горят желтым цветом)
        1@ += 0x4
    end   
end

Offline

#42 04-10-2013 13:06

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Светофоры

Den_spb wrote:

Попробуй такой вариант:

{$CLEO}
0AC7: 31@ = var 31@ offset
0AC7: 30@ = var 30@ offset
0A8C: write_memory 0x0049D379 size 4 value 31@ virtual_protect 1  // подставляем свой адрес в функцию север-юг 
0A8C: write_memory 0x0049D3C9 size 4 value 30@ virtual_protect 1 // подставляем свой адрес в функцию запад-восток
31@ =  10000 // при этом значении таймера север-юг горит желтым
30@ =  22000 // при этом значении таймера запад-восток горит желтым

0A8C: write_memory 0x0049D300 size 2 value 0xC032 virtual_protect 1   // xor al , al
0A8C: write_memory 0x0049D338 size 2 value 0xC032 virtual_protect 1   // xor al , al
0A8C: write_memory 0x0049D34A size 2 value 0xC032 virtual_protect 1   // xor al , al

var
    2@: array 9 of Integer
end
1@ = 0x008CD4F4
for 0@ = 0 to 8
    0A8D: 2@[0@] = read_memory 1@ size 2 virtual_protect 0 // сохраняем ИД номера светофоров в переменных скрипта
    1@ += 0x4
end
while true
    wait 500
    1@ = 0x008CD4F4
    for 0@ = 0 to 8
        0A8C: write_memory 1@ size 2 value 0 virtual_protect 0 // теперь игра будет считать светофором объект с ИД=0 . Т.е. светофоры работать не будут
        1@ += 0x4
    end 
    wait 500
    1@ = 0x008CD4F4
    for 0@ = 0 to 8
        0A8C: write_memory 1@ size 2 value 2@[0@] virtual_protect 0 // восстанавливаем ИД номера светофоров. Светофоры снова работают (в данном случае горят желтым цветом)
        1@ += 0x4
    end   
end

Нет, машины ведут себя так, будто красный и зелёный цвет никуда не делись.

Кстати, я когда декомпилировал этот скрипт (ещё первую версию), он принял такой вид:

0AC7: 31@ = var 30@ offset 
0AC7: 29@ = var 28@ offset 
0A8C: write_memory 4838265 size 4 value 31@ virtual_protect 1 
0A8C: write_memory 4838345 size 4 value 29@ virtual_protect 1 
30@ = 10000 
28@ = 22000 
1@ = 9229556 
0@ = 0 

:NONAME_77
0A8D: 2@(0@,9i) = read_memory 1@ size 2 virtual_protect 0 
1@ += 4 
0@ += 1 
  0@ > 8 
jf @NONAME_77 

:NONAME_121
wait 500 
1@ = 9229556 
0@ = 0 

:NONAME_143
0A8C: write_memory 1@ size 2 value 0 virtual_protect 0 
1@ += 4 
0@ += 1 
  0@ > 8 
jf @NONAME_143 
wait 500 
1@ = 9229556 
0@ = 0 

:NONAME_204
0A8C: write_memory 1@ size 2 value 2@(0@,9i) virtual_protect 0 
1@ += 4 
0@ += 1 
  0@ > 8 
jf @NONAME_204 
jump @NONAME_121

Это ничего, что у него там циклы без вайтов? Есть гарантия, что зависать не будет? И вообще, срабатывают ли такие проверки, перед которыми не записано if? Если нет, то зачем всё это?

Offline

#43 04-10-2013 22:31

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Светофоры

Нет, машины ведут себя так, будто красный и зелёный цвет никуда не делись.

Решил задачу немного иначе:

{$CLEO}

0A8C: write_memory 0x0096914E size 1 value 1 virtual_protect 0  // "Все светофоры зелёные"

while true

    wait 500

    // установка цвета ламп светофоров NS
    0A8C: write_memory 0x0049DB5F size 1 value 0xB8 virtual_protect 1
    0A8C: write_memory 0x0049DB60 size 4 value 1 virtual_protect 1  // value: 0 - зелёный, 1 - жёлтый, 2 - красный, другое число - не горит
    0A8C: write_memory 0x0049DB64 size 2 value 0x9090 virtual_protect 1
    0A8C: write_memory 0x0049DB66 size 1 value 0x90 virtual_protect 1

    // установка цвета ламп светофоров WE
    0A8C: write_memory 0x0049DB6D size 1 value 0xB9 virtual_protect 1
    0A8C: write_memory 0x0049DB6E size 4 value 1 virtual_protect 1  // value: 0 - зелёный, 1 - жёлтый, 2 - красный, другое число - не горит
    0A8C: write_memory 0x0049DB72 size 2 value 0x9090 virtual_protect 1
    0A8C: write_memory 0x0049DB74 size 1 value 0x90 virtual_protect 1
    
    wait 500

    // установка цвета ламп светофоров NS
    0A8C: write_memory 0x0049DB5F size 1 value 0xB8 virtual_protect 1
    0A8C: write_memory 0x0049DB60 size 4 value 4 virtual_protect 1  // value: 0 - зелёный, 1 - жёлтый, 2 - красный, другое число - не горит
    0A8C: write_memory 0x0049DB64 size 2 value 0x9090 virtual_protect 1
    0A8C: write_memory 0x0049DB66 size 1 value 0x90 virtual_protect 1

    // установка цвета ламп светофоров WE
    0A8C: write_memory 0x0049DB6D size 1 value 0xB9 virtual_protect 1
    0A8C: write_memory 0x0049DB6E size 4 value 4 virtual_protect 1  // value: 0 - зелёный, 1 - жёлтый, 2 - красный, другое число - не горит
    0A8C: write_memory 0x0049DB72 size 2 value 0x9090 virtual_protect 1
    0A8C: write_memory 0x0049DB74 size 1 value 0x90 virtual_protect 1

end
    
0A93:

Это ничего, что у него там циклы без вайтов? Есть гарантия, что зависать не будет?

Игра зависнет, если wait отсутствует в бесконечном цикле. В этом случае игра будет постоянно занята выполнением этого цикла, а другие скрипты и процессы (в том числе отрисовка и обработка нажатий клавиш) выполняться не будут - что внешне проявится зависанием. Как уже ранее обсуждалось, все процессы и скрипты в игре выполняются по очереди, а команда wait служит для приостановки выполнения текущего скрипта с целью выполнения других скриптов и процессов.
Что касается рассматриваемого примера - там цикл не бесконечный, он повторится всего 9 раз. При этом будут исполнены 5 * 9 = 45 опкодов.

И вообще, срабатывают ли такие проверки, перед которыми не записано if?

Если проверка одна, то if перед ней писать не обязательно. Исключение - конструкции if...then...end и if...then...else...end.

Offline

#44 05-10-2013 13:15

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Светофоры

Den_spb wrote:

Решил задачу немного иначе

О, вот это работает как надо. А как потом вернуть всё обратно?

Offline

#45 05-10-2013 23:24

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Светофоры

А как потом вернуть всё обратно?

Во-первых, нужно отключить чит "Все светофоры зелёные"

0A8C: write_memory 0x0096914E size 1 value 0 virtual_protect 0

Во-вторых, нужно восстановить участки кода gta_sa.exe, которые были отредактированы скриптом:

0A8C: write_memory 0x0049DB5F size 1 value 0x?? virtual_protect 1
0A8C: write_memory 0x0049DB60 size 4 value 0x???????? virtual_protect 1
0A8C: write_memory 0x0049DB64 size 2 value 0x???? virtual_protect 1
0A8C: write_memory 0x0049DB66 size 1 value 0x?? virtual_protect 1

0A8C: write_memory 0x0049DB6D size 1 value 0x?? virtual_protect 1
0A8C: write_memory 0x0049DB6E size 4 value 0x???????? virtual_protect 1 
0A8C: write_memory 0x0049DB72 size 2 value 0x???? virtual_protect 1
0A8C: write_memory 0x0049DB74 size 1 value 0x?? virtual_protect 1

Вместо знаков вопроса надо подставить исходные значения, посмотреть которые можно в базе gta_sa.exe. Открываем базу с помощью программы IDA, переходим на вкладку отображения кода в шестнадцатиричном виде "Hex View-A". Жмём клавишу G (переход по указанному адресу) и вводим адрес начала записи (параметр write_memory в опкоде 0A8C). При подстановке в опкод байты нужно записывать в обратном порядке.

Пример:

0A8C: write_memory 0x0049DB60 size 4 value 0x???????? virtual_protect 1

Жмём G, переходим по адресу 49DB60. Значения байтов:

EC F7 FF FF

Переписываем байты в опкод в обратном порядке:

0A8C: write_memory 0x0049DB60 size 4 value 0xFFFFF7EC virtual_protect 1

Offline

#46 07-10-2013 12:55

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Светофоры

Den_spb, спасибо, всё получилось.

Offline

Board footer

Powered by FluxBB