Можно ли менять разрешение окна уо?

ASM, Perl, IRW, other injections and script modules

Moderators: Murderator+, Murderator

Post Reply
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Edikus wrote:Grin большое тебе спасибо, а я то думал что нужно в хекс редакторе найти значение которые различаются :oops:

:)))

Можно и в HEX-редакторе ;-)

У меня HIEW немножко косячит под XP x64 - я нередко мелкие исправления (совсем мелкие, я пока ещё не дочитал купленную литературу...) HEX-редактором вношу и ничего - жив вроде.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
yost
Posts: 3
Joined: 2006-06-24 10:39:30

Post by yost »

BATA
Posts: 57
Joined: 2008-03-22 13:41:19

Post by BATA »

у меня чето не получается :( на слиньте 2,0,3
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

Last edited by admir on 2008-12-19 23:17:29, edited 1 time in total.
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

Для тех кому интересно в кратце объясню что к чему в данном коде:
( за точность сильно не бейте, поскольку давно было дело с асмом)

Code: Select all

.text:004DB810 sub_4DB810      proc near               ; CODE XREF: sub_454360+8Fp
.text:004DB810                                         ; strstreambuf::strstreambuf(char *,int,char *)+A4p ...
.text:004DB810
.text:004DB810 arg_0           = dword ptr  4
.text:004DB810 arg_4           = dword ptr  8

Функции передаются 2 аргумента , которые забиты в уо кфг.
Далее
Помещаем в еах ( регистр ) 1 аргумент

Code: Select all

.text:004DB810
.text:004DB810                 mov     eax, [esp+arg_0]

Помещаем в едх ( регистр) число 640

Code: Select all

.text:004DB814                 mov     edx, 280h

Сравниваем эти 2 регистра , при этом в данном случае у нас есть флаг JNZ которая выполняет команду – перейти, если меньше или равно.

Code: Select all

.text:004DB819                 cmp     eax, edx

Помещаем в регистр есх цифру 480

Code: Select all

.text:004DB81B                 mov     ecx, 1E0h

JNE/JNZ – перейти, если меньше или равно. , то прыгаем на смещение 4DB837( а там у нас сравнивается с 800 х 600

Code: Select all

.text:004DB820                 jnz     short loc_4DB837

Вот этот момент сам не понял зачем 2 параметр пишем в еах

Code: Select all

.text:004DB822                 mov     eax, [esp+arg_4]

Далее пишем в смещение dword_5AA40C и dword_5AA40C ( по видимому которые связаны с формированием окна винды ) Соответственно наши циферки 640 480

Code: Select all

.text:004DB826
.text:004DB826 loc_4DB826:                             ; CODE XREF: sub_4DB810+2Cj
.text:004DB826                                         ; sub_4DB810+3Bj
.text:004DB826                 mov     dword_5AA40C, edx
.text:004DB82C                 mov     dword_5AA410, ecx

Дальше идет сравнение на 800 600 Идентично
Только если у нас сравнение числа 800 с параметром из уо кфг не совпадает то прыгает на loc_4DB826, где прописывается 640 480

Code: Select all

.text:004DB832
.text:004DB832 loc_4DB832:                             ; CODE XREF: sub_4DB810+4Cj
.text:004DB832                 jmp     sub_47AF10
.text:004DB837 ; ---------------------------------------------------------------------------
.text:004DB837
.text:004DB837 loc_4DB837:                             ; CODE XREF: sub_4DB810+10j
.text:004DB837                 cmp     eax, 320h
.text:004DB83C                 jnz     short loc_4DB826
.text:004DB83E                 push    esi
.text:004DB83F                 mov     esi, [esp+4+arg_4]
.text:004DB843                 mov     eax, 258h
.text:004DB848                 cmp     esi, eax
.text:004DB84A                 pop     esi
.text:004DB84B                 jnz     short loc_4DB826
.text:004DB84D                 mov     dword_5AA40C, 320h
.text:004DB857                 mov     dword_5AA410, eax
.text:004DB85C                 jmp     short loc_4DB832
.text:004DB85C sub_4DB810      endp



Ну а это уже IDA постаралась:) но время ее работы того не стояло:)

А это что стало
Итак пишем в уо кфг наше разрешение, функция забирает эти значения и подставляет сразу в смещение где формируется окно винды.

Code: Select all

.text:004DB810 sub_4DB810      proc near               ; CODE XREF: sub_454360+8Fp
.text:004DB810                                         ; strstreambuf::strstreambuf(char *,int,char *)+A4p ...
.text:004DB810
.text:004DB810 arg_0           = dword ptr  4
.text:004DB810 arg_4           = dword ptr  8
.text:004DB810
.text:004DB810                 mov     eax, [esp+arg_0]
.text:004DB814                 mov     dword_5AA40C, eax
.text:004DB819                 mov     eax, [esp+arg_4]
.text:004DB81D                 mov     dword_5AA410, eax
.text:004DB822                 jmp     sub_47AF10
.text:004DB822 sub_4DB810      endp


Как то так , при чем при этом замечу что помещать в dword_5AA40C Сразу параметры нелья, а обязательно через регистры.
Остальные тонкости вы найдете в учебнике Асма.
Смещение это адрес в оперативной памяти относительно начала программы , это значит что когда компилируется программа , создается ЕХЕ Файл (ком файл), в котором весь ваш язык программирования ( паскаль си и тп ) преобразуется в язык машинных команд (команд процессора). -то что вы видите выше.
при этом каждая команда машинная имеет свой адрес, грубо говоря от 0 до хх.
и когда файл запускается то в Оперативную память помещаются все эти команды последовательно и процессор последовательно начинает выполнять команды от 0 до хх
Но как он их нахохит? благодаря смещению относительно начала.

--
Пс я не спец в этом поэтому гдето могу наврать , читайте учебник.
Last edited by admir on 2009-01-26 15:09:04, edited 4 times in total.
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

grundick wrote:Да, если что то меняешь в опциях и жмакаешь акцепт ,слетает в 640х480...

Для такого случая можно намертво забить в клиент разрешение, соотв добавить дополнительный клиент в настройках лаунчера инжекта и все.
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

Извиняюсь за большое количество постов подряд.
В тему хотелось выложить ссылки для скачки

Группа YAG зарилизила

IDA Pro Advanced v5.2 with WinCE v5.0 debugger

DataRescue.IDA.Pro.Advanced.v5.2
http://www.badongo.com/file/5378386
http://rapidshare.com/files/73564287/idpa.rar.html

DataRescue.IDA.Pro.Advanced.v5.2.SDK
http://www.badongo.com/file/5378219
http://rapidshare.com/files/73559854/kds.rar.html

Hex-Rays.Decompiler.v1.0.for.DataRescue.IDA.Pro.Advanced.v5.2
http://rapidshare.com/files/73559126/yaghexrs.zip.html

DataRescue.IDA.Pro.Advanced.v5.2.Linux
http://www.badongo.com/file/5377855
http://rapidshare.com/files/73554357/yagidpl.rar.html

DataRescue.IDA.Pro.Advanced.v5.2.MacOSX
http://www.badongo.com/file/5378097
http://rapidshare.com/files/73558620/adokvnonb.rar.html

если не качает то
IDA 5.2 + Hex Rays.7z [85.56 Mb]
http://club-nn.com/index.php?newsid=111


--
Пс жаль тега хайд нету.

ПС
если нужен hiew v 7.1 , выложу
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
Eventualis
Posts: 123
Joined: 2008-03-03 22:49:34
Contact:

Post by Eventualis »

модератору предлагаю перенести эту тему в раздел "модификаторы"
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

yost wrote:http://dump.ru/file/1321953 client50911

а еще раз можно?
Toff guy
Posts: 10
Joined: 2009-03-26 19:20:44

Post by Toff guy »

Ребят, а можно стамина-контроль убрать, сжирает просто под ноль... в толпе бегать не реально! Клиент 2.0.3
"Если ты мне не поможешь, то я умру сегодня вечером, а я не хочу умирать сегодня…"
Successful
Posts: 174
Joined: 2008-12-13 00:00:15

Post by Successful »

Toff guy wrote:стамина-контроль

если ты про морф-,morph 0
Toff guy
Posts: 10
Joined: 2009-03-26 19:20:44

Post by Toff guy »

Неа... может не в морфе дело? Не помогло... это когда название клиента переименовываешь в Client02.exe, то там точно так же всё! Проблема со стаминой.
"Если ты мне не поможешь, то я умру сегодня вечером, а я не хочу умирать сегодня…"
=d3v1l=
Posts: 3
Joined: 2009-07-06 14:06:22

Post by =d3v1l= »

2.0.0b_patched

можешь поковыряться и в моём клиенте пожалуйста :)
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Toff guy wrote:Неа... может не в морфе дело? Не помогло... это когда название клиента переименовываешь в Client02.exe, то там точно так же всё! Проблема со стаминой.


если ты по поводу падения стамины, то тут ничего не сделаешь.
а если не можешь пройти через игрока с не полной стаминой то можно помочь
Spirit
Posts: 101
Joined: 2006-03-23 19:25:23

Post by Spirit »

Toff guy wrote:Ребят, а можно стамина-контроль убрать, сжирает просто под ноль... в толпе бегать не реально! Клиент 2.0.3
Да, такая же фигня, бегаешь как буд-то с морфом.
:O
=d3v1l=
Posts: 3
Joined: 2009-07-06 14:06:22

Post by =d3v1l= »

=d3v1l= wrote:2.0.0b_patched

можешь поковыряться и в моём клиенте пожалуйста :)



:roll:
qbc
Posts: 11
Joined: 2009-06-05 10:05:46

Post by qbc »

Ребят, скажите, на старой уо, ренесанс которая на 2.0.0б клиенте можно окно расширить?
вот клиент http://rapidshare.com/files/258498655/client.exe.html
и копия http://dump.ru/file/3095564
пробовал запустить выложенные ранее клиенты, при запуске клиента просто или через рейзон пишет что нет файла пингчто-тотам...шестые клиенты это МЛ вроде? был бы очень признателен за пропатченый 200б или объяснение как пропатчить и где-что править
Odo
Posts: 5
Joined: 2009-08-15 11:45:47

Post by Odo »

2.0.3

Image
Stealps
Posts: 16
Joined: 2006-11-01 23:23:24

Post by Stealps »

Клиент 1,26,4 нашел вышеописанный кусок кода, заменил 280 на 400 , 1Е0 на 300, в конфиге прописал 1024*768, раб стол больше. При запуске получаю ошибку - типа только 640*480 и 800*600 разрешения поддерживаются. Почему? Там других проверок не должно быть?
Правильно понимаю, что описанное тут не сделать, ведь удалить кусок кода из готового файла нельзя - это изменит адресацию во всем файле? Можно только редактировать существующие команды?
Всегда знай, что говоришь, но никогда не говори всего, что знаешь...
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

есть и другие проверки:)
Post Reply