Yoko

All sides of Injection
It is currently 2024-04-16 17:36:17

All times are UTC+02:00




Post new topic  Reply to topic  [ 178 posts ]  Go to page Previous 1 2 3 4 5 69 Next
Author Message
 Post subject:
PostPosted: 2008-10-19 19:00:19 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
wap2 wrote:
Grin wrote:
Code:
...

вот так
Не подскажешь, чем и как внести это в клиент?

Это уже есть в клиенте.

Нужно просто немного подредактировать под себя.

Я бы о своими мизерными знаниями ассемблера, а вернее вообще не применяя их, поменял бы 280h и 1E0h (640 и 480 соответственно, просто в HEX) на нужные циферки и когда в уо ставил бы 640х480 - теоретически появлялось бы прописанное мной разрешение -)

_________________
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.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2008-10-20 16:43:18 
Offline
User avatar

Joined: 2008-03-03 22:49:34
Posts: 123
вот и вопрос в том как подредактировать, я хз даже чем клиент открыть 8) а хотя удобней было бы так как у Грина - вписывать в конфиг

_________________
Corpus Delicti guild


Top
   
 Post subject:
PostPosted: 2008-10-20 19:04:54 
Offline
User avatar

Joined: 2006-07-29 19:08:18
Posts: 91
Destruction wrote:
wap2 wrote:
Grin wrote:
Code:
...

вот так
Не подскажешь, чем и как внести это в клиент?

Это уже есть в клиенте.

Нужно просто немного подредактировать под себя.

Я бы о своими мизерными знаниями ассемблера, а вернее вообще не применяя их, поменял бы 280h и 1E0h (640 и 480 соответственно, просто в HEX) на нужные циферки и когда в уо ставил бы 640х480 - теоретически появлялось бы прописанное мной разрешение -)
Нммм... Тогда чем его открывать для редактирования? Я просто в программировании не разбираюсь...

_________________
For flood and honour. Хорошо флудить - это тоже искусство.
В стадии разработки: http://uorpg.net


Top
   
 Post subject:
PostPosted: 2008-10-20 19:49:31 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Любым 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.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2008-10-20 21:01:16 
Offline
User avatar

Joined: 2006-07-29 19:08:18
Posts: 91
Destruction wrote:
Любым Hex-редактором -)
Ну открываю. Вижу кучу мало понятных цифорок( http://www.softsoft.ru/image.php?url=ht ... -large.jpg ), а дальше-то что? :)

_________________
For flood and honour. Хорошо флудить - это тоже искусство.

В стадии разработки: http://uorpg.net


Top
   
 Post subject:
PostPosted: 2008-10-20 23:26:05 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Переходишь к нужному адресу и правишь байтики -)

_________________
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.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2008-10-21 15:28:24 
Offline
User avatar

Joined: 2006-07-29 19:08:18
Posts: 91
Destruction wrote:
Переходишь к нужному адресу и правишь байтики -)
Так ничего и не понял. За что ведь какие байтики отвечают на них не написано. А в разделе текста сделав поиск по "800" нахожу только само сообщение, которое выскакивает, если поменять разрешение. Ничего подобное написаному Грином в редакторе не видно. Правда большая часть текста - просто ничего не значащий набор символов... Снята ли кодировка точно не знаю, но вроде должна быть снята. Вроде...

_________________
For flood and honour. Хорошо флудить - это тоже искусство.

В стадии разработки: http://uorpg.net


Top
   
 Post subject:
PostPosted: 2008-10-21 15:35:29 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Grin привёл листинг дизассемблера.. Не знаю для какой версии, в 6.0.10 такого не нашёл.

И вообще, проги править - это вам не хухры-мухры.

Кроме того, логично искать не так как ты искал, а искать конкретные байты, т.к. это HEX-редактор то и указывать нужно циферки в шестнадцатеричном формате -)

В общем вечерком гляну какой-нибудь 2.0.3, попробую пошаманить.

PS: Вы меня не слушайте, я в этом совсем не разбираюсь..

_________________
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.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2008-10-22 01:27:54 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Самый простой вариант, взять 2 клиента, пропатченый и не пропатченый, по байтно сравнить... найти вчем отличие. За долгое время функции не менялись, и компилировались примерно одинакого. Дальше ищите подобный кусок в вашем клиенте и меняете по образу и подобию.

А кто разбирается в листинге асма, тот и так все поймет.

В конечном итоге весь патч сводится к функции вида

Code:
GameWindowSize  proc near 
mov     eax, [esp+4]
mov     dword_50CC3C, eax
mov     eax, [esp+8]
mov     dword_50CC40, eax
retn

все лишнее просто игнорируется. аргументы функции не подвергаются никакой проверке.


Top
   
 Post subject:
PostPosted: 2008-10-22 17:04:20 
Offline
User avatar

Joined: 2008-03-03 22:49:34
Posts: 123
Грин, если тебе это не сложно, исправь клиент 4,11, как это делал с 6061, пригодиться всем раз и навсегда.
http://fileland.ru/file_id-239878

_________________
Corpus Delicti guild


Top
   
 Post subject:
PostPosted: 2008-10-22 19:07:13 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
HIEW, поискал cmp eax, 320h и всего делов...

Скачать файл cli_4.exe

PS функция сопрежена с другой посредством перехода (jmp) тож надо учесть...


Top
   
 Post subject:
PostPosted: 2008-10-22 19:24:49 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Code:
.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     edx, 280h
.text:004DB819                 cmp     eax, edx
.text:004DB81B                 mov     ecx, 1E0h
.text:004DB820                 jnz     short loc_4DB837
.text:004DB822                 mov     eax, [esp+arg_4]
.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
.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:
.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


Top
   
 Post subject:
PostPosted: 2008-10-22 23:46:07 
Offline

Joined: 2004-07-12 13:03:57
Posts: 98
grin, посмотри пожалуйста вот Этот 6.0.10.0 клиент www.dellirium.info/client.exe

я понимаю что он с 6.0.6.0 в принципе идентичен, но в хекс редакторе которым я посмотрел слишком много байтов различалось :)

возможно ли убрать шифрование, сделать мультиклиента и возможность задавать разшрешение Экрана через конфиг?


Top
   
 Post subject:
PostPosted: 2008-10-22 23:49:52 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
10 эдентичен 7-9 если память не изменяет. Мульти там не более 2-х окон, опять если память не изменяет. А разрешение уже для подобных клиентов меняли.

Сегодня не обещаю.


Top
   
 Post subject:
PostPosted: 2008-10-23 15:10:08 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
6.0.10.zip
полный набор...


Top
   
 Post subject:
PostPosted: 2008-10-23 18:23:05 
Offline
User avatar

Joined: 2006-07-29 19:08:18
Posts: 91
Грин, можешь, пожалуйста, объяснить поподробнее и по-порядку. Я программированием не занимаюсь и то что кому-то ясно само собой, мне отнюдь не ясно. Сюдя же по теме ничего очень сложного и долгого тут быть не должно...
Вот открываю клиент IDA нахожу кусок, напоминающий тобой выложенный, что дальше с ним делать? Править, отключая строчки, или какая функция есть? Ты просто написал: IDA постаралась, это навело мысль о функции... Потом что дальше с этим делать, обратно в ехе этой прогой вроде не запишешь... Ассемблер? Что-то меня берут сомнения, что он не криво все восстановит из этого кода. Еще 1 любопытная штука - огромное количество строчек в конце кода - не содержащих ничего. Похоже тоже прикол IDA, так как их в файле тоже явно нет...
В общем, если можешь, объясни по-порядку...

P.s.
Code:
.text:00446FA0 sub_446FA0      proc near               ; CODE XREF: sub_4303F0+7Ap
.text:00446FA0                                         ; sub_437500+12D7p
.text:00446FA0
.text:00446FA0 arg_0           = dword ptr  4
.text:00446FA0 arg_4           = dword ptr  8
.text:00446FA0
.text:00446FA0                 mov     eax, [esp+arg_0]
.text:00446FA4                 cmp     eax, 280h
.text:00446FA9                 jnz     short loc_446FC8
.text:00446FAB                 mov     ecx, [esp+arg_4]
.text:00446FAF                 mov     eax, 1E0h
.text:00446FB4                 cmp     ecx, eax
.text:00446FB6                 jnz     short loc_446FEC
.text:00446FB8                 mov     dword_50284C, 280h
.text:00446FC2                 mov     dword_502850, eax
.text:00446FC7                 retn
.text:00446FC8 ; ---------------------------------------------------------------------------
.text:00446FC8
.text:00446FC8 loc_446FC8:                             ; CODE XREF: sub_446FA0+9j
.text:00446FC8                 cmp     eax, 320h
.text:00446FCD                 jnz     short loc_446FEC
.text:00446FCF                 mov     ecx, [esp+arg_4]
.text:00446FD3                 mov     eax, 258h
.text:00446FD8                 cmp     ecx, eax
.text:00446FDA                 jnz     short loc_446FEC
.text:00446FDC                 mov     dword_50284C, 320h
.text:00446FE6                 mov     dword_502850, eax
.text:00446FEB                 retn
.text:00446FEC ; ---------------------------------------------------------------------------
.text:00446FEC
.text:00446FEC loc_446FEC:                             ; CODE XREF: sub_446FA0+16j
.text:00446FEC                                         ; sub_446FA0+2Dj ...
.text:00446FEC                 push    offset aGraphicmanag_0 ; "GraphicManager::setGameplayWindowPixelW"...
.text:00446FF1                 call    sub_4C8500
.text:00446FF6                 pop     ecx
.text:00446FF7                 retn
.text:00446FF7 sub_446FA0      endp

_________________
For flood and honour. Хорошо флудить - это тоже искусство.

В стадии разработки: http://uorpg.net


Top
   
 Post subject:
PostPosted: 2008-10-23 21:32:41 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
что бы ответить тебе на все вопросы надо пару лекций провести.

ИДА не редактор, это дизасемблер, совсем не давно унее появились еще и функции дебага. ИДА делает то что не умеют делать другие продукты (аналогичных продуктов хотя просто нет). Она лочисески связывает весь код програмы.

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

Я рекомендую HIEW так как этот редактор работает в 3-х режимах (Текст, hex, disasm). В отличии от ИДЫ он не дизасемблирует весь файл, а только маленький интересующий тебя кусок. Ну и как очередной плюс он умет редактировать (во всех режимах).

ИДА только визуализирует информацию сдержищиюся в файле, никаких физических изминений она сним не делает. Тоже понятие дизасемблирование, это простро трансляция байтов в более привыйчный теккстовый вариант, более приспособленый к восприниманию.

То что ты видишь в конце знаки вопроса, это так называемая сигментная модель. Что бы тут разбиратся, надо читать про организацию памяти в процесорах:) Смысл с водится ктому что память делится на куски, и каждый кусок может выпонять какуюто строго определеную задачу, в простом случаи любая програма состоит из 3-х сегментов (код, даные, стек). Так вот, как правело пред определенными в первую очередь является сегмент кода, он может только исполнятся но не модифицироватся (в реальности эти правила контролируются на уровне процессора, но как и везде могут не соблюдатся). Так вот мы ковыряем сегмент кода, и издедка сегмент даных (воообще даные это у дел рестораторов и тд...).

Вообще если серьездно, то для патча необходимо у меть в иде только пару вещей и понимания всей кухни попросту не к чему. Достаточно уметь искать по листинку (это то что вам там ИДА все рисует:) в виде буквк стрелочек и тд.) определеное сочетание символов, команд.
Как я уже говорил у нас тут есть пара ключевых цифр: 640, 480, 800, 600. Не обходимо отыскать у частки кода где все эти 4 цифры встречаются в месте (впределах не большого блока). Опять таки цифра может быть в одной из систем исчисления (с основанием 10, 16, 2), тогда на помощь приходит поиск ЗНАЧЕНИЙ (immediate value), он найдет все цифры не зависимо от их основани. Вот нашли, сравнили с кодом который выше я на писал, сов пало визуально процентов на 90% значит оно:) Дальше запоменаем адрес функции (адреса в этом состоянии уже ЭФФЕКТИВНЫЕ(тут опять лекция)), HIEW умет работать с эффективными адресами, так как есть интерпритатор PE фаелов (ууу тут опять целая лекция:), но смысл в том что HIEW знает по какому адресу будет загружен сегмент КОДА). Загружаем HIEW, открываем наш файлик, преходим в режим Decode(дизасемблер), жмем F5 октивируется поле для перехода поадресу, следовательно если в начале адреса поставить ".", то он будет восприниматся как ЭФФЕКТИВНЫЙ, в нашем случаи это и надо, а если точку не ставвить то адрес будет интерпритироватся как смешение от начала файла.
Переходим на участок кода, ну а дальше интуитивно. Нас интересуют F3 (Edit) F9 (UPDATE), про HIEW можно почитать в инете. Там все интуитивно и просто, но самое главное, что в режиме редактирования можно просто писать на языке asm.

PS В ИДЕ не пользуйтесь графическим режимом (отображение кода в виде графов), переходите сразу в текстовый.

PSS Найдите того кто потратит на все это, гораздо меньше времяни чем вы, выгода очевидна - время:)

PSSS wap2 а тебе то какой клиент надо "расширить"?


Top
   
 Post subject:
PostPosted: 2008-10-23 22:58:21 
Offline
User avatar

Joined: 2006-07-29 19:08:18
Posts: 91
Спасибо, Грин. Попробую во вторник-среду порыть HIEW'ом. Если не получится, придется забить на это дело и к тебе обратиться. :)
Время мне на это не жалко, так как мне ни сколько сам клиент переделать нужно, сколько уже из принципа хочется в этом разобраться. Не люблю бросать что-то недоделанным.
Клиент вроде 2.0.3, во всяком случае он точно работает вместо 2.0.3



П.с. 2 в нике значит не более чем то, что я когда-то забыл и пароль и мейл от 1 акка wap.

_________________
For flood and honour. Хорошо флудить - это тоже искусство.

В стадии разработки: http://uorpg.net


Top
   
 Post subject:
PostPosted: 2008-10-23 23:03:13 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Тогда купи себе книгу по асемблету от Юрова:)


Top
   
 Post subject:
PostPosted: 2008-10-24 19:03:26 
Offline

Joined: 2004-07-12 13:03:57
Posts: 98
Grin большое тебе спасибо, а я то думал что нужно в хекс редакторе найти значение которые различаются :oops:

:)))


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 178 posts ]  Go to page Previous 1 2 3 4 5 69 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited