Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 31.03.2009, 11:15   #1
Местный
 
Аватар для Sherman
 
Регистрация: 24.04.2008
Сообщений: 364
Сказал Спасибо: 15
Имеет 116 спасибок в 83 сообщенях
Sherman пока неопределено
По умолчанию Данные о скилах из клиента

Предисловие. Работая над небольшим проектиком мне потребовалось иметь данные о скиллах. Перепробовав варианты с ini и ресурсами, и осозновая что мой проект работает в адресном пространстве клиента, был написан этот модуль.

Код:
unit UserData;
interface

uses
  Windows, SysUtils, Classes;


type
 TMSData = record
    name	          :	pWideChar;
    b1    	        :	integer;
    b2	            :	integer;
    description	    :	pWideChar;
    b3	            :	integer;
    b4	            :	integer;
    id	            :	integer;
    level	          :	integer;
    oper_type	      :	integer;
    mp_consume	    :	integer;
    hp_consume	    :	integer;
    cast_range	    :	integer;
    cast_style	    :	integer;
    hit_time	      :	double;
    is_magic	      :	integer;
    ani_char	      :	integer;
    desc	          :	integer;
    icon_name	      :	integer;
    extra_eff	      :	integer;
    desc_add1	      :	pWideChar;
    b5	            :	integer;
    b6	            :	integer;
    desc_add2	      :	pWideChar;
    b7	            :	integer;
    b8	            :	integer;
    is_ench	        :	integer;
    ench_skill_id	  :	integer;
    UNK_0	          :	integer;
    UNK_1	          :	integer;
end;
pMSData = ^TMSData;


procedure EngineGetMSData;cdecl; external 'engine.dll' name '?GetMSData@FL2GameData@@QAEPAUFL2MagicSkillData@@HH@Z';
procedure EngineDL2FName; cdecl; external 'engine.dll' name '??DL2FName@@QBEPBGXZ';

function DL2FName(Skill:pMSData):PWideChar; cdecl;
function GetMSData(SkillID,SkillLvl:integer):pMSData;  cdecl;

var
 Engine:cardinal;

implementation

function DL2FName(Skill:pMSData):PWideChar; cdecl;
asm
  mov EAX, Skill
  lea ECX,dword ptr DS:[EAX+$48]
  call EngineDL2FName
  mov Result, EAX
end;

function GetMSData(SkillID,SkillLvl:integer):pMSData;  cdecl;
asm
  mov EAX,[SkillLvl]
  mov ECX,[SkillID]
  push EAX
  push ECX
  mov ECX,[Engine]
  add ECX,$6F31B8
  call EngineGetMSData
  mov Result, EAX
end;

initialization
 Engine:=GetModuleHandle('engine.dll');

end.
функция GetMSData возвращает указатель на структуру описания скила в клиенте.

DL2FName возвращает имя текстуры иконки.

Engine - адрес ImageBase "Engine.dll"

Код:
  mov ECX,[Engine]
  add ECX,$6F31B8
Тут я упростил, смысл - добратся до адреса по которому начинаются данные о скилах в клиенте, в таблице экспорта оно обьявлено как :
=>6F31B8 .data Export ?GL2GameData@@3VFL2GameData@@A

ЗЫ. мой проект заточен для С4, для дальнейших хроник экспортируемые ф-ции могут лежать в других dll, но в любом случае в папке system клиента

Добавлено через 31 минуту
xor, тут говорят что ты умеешь из клиента программно иконки вытаскивать. Можно пример увидеть?

Последний раз редактировалось Sherman, 31.03.2009 в 11:39. Причина: Добавлено сообщение
Sherman вне форума   Ответить с цитированием
За это сообщение Sherman нажился 2 спасибками от:
Старый 31.03.2009, 14:21   #2
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Sherman, почитай это http://coderx.ru/showthread.php?t=76
там я давал ссылки на модуль для дельфи для работы с utx файлами и в двух сообщениях приводил примеры его использования
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 31.03.2009, 15:26   #3
Местный
 
Аватар для Sherman
 
Регистрация: 24.04.2008
Сообщений: 364
Сказал Спасибо: 15
Имеет 116 спасибок в 83 сообщенях
Sherman пока неопределено
По умолчанию

Читать utx это скучно и избыточно в моем случае. Мой инъект в процессе клиента, мне ф-ции получения текстуры нужны самого клиента. Зачем дублировать то что уже написано когда я работаю в клиенте. Буду искать. )

По первой ссылке кстати лежат сорсы для работы с utx UT3, включая Lineage II
Впринципе если не получится получить с помощью самого клиента это тоже вариант.

Последний раз редактировалось Sherman, 31.03.2009 в 15:34.
Sherman вне форума   Ответить с цитированием
Старый 31.03.2009, 15:36   #4
Местный
 
Регистрация: 11.03.2008
Сообщений: 529
Сказал Спасибо: 10
Имеет 111 спасибок в 71 сообщенях
Xa4ik пока неопределено
По умолчанию

Если важен результат а не процес, можно использывать аксесовскую базу с картинками от L2informer.
Xa4ik вне форума   Ответить с цитированием
Старый 31.03.2009, 15:42   #5
Местный
 
Аватар для Sherman
 
Регистрация: 24.04.2008
Сообщений: 364
Сказал Спасибо: 15
Имеет 116 спасибок в 83 сообщенях
Sherman пока неопределено
По умолчанию

Не... это совсем суровый вариант. Вариант использования utx еще куда не шло, но вот привлечение детища M$ это зло
Sherman вне форума   Ответить с цитированием
Старый 02.07.2025, 22:27   #6
Местный
 
Регистрация: 26.04.2025
Адрес: TAJIR4D Login
Сообщений: 1,174
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
FrankJScott пока неопределено
По умолчанию Top Rated Cybersecurity Company In UAE Guide

In response to the man inquiring about services provided by network security, security reseller, security management in cyber security, digital security basics, prerequisites for cyber security, cyber security support services, infrastructure and network security, secure cyber solutions, cyber security from scratch, data network security, I highly suggest this see about Dubai cyber security service forum or ai information security, third party security company, network security analytics, cyber security tools, cyber security services in uae, cyber websites, network security consulting services, ai in network security, it security dubai, cyber defense ai, which is worth considering with this i was reading this on cybersecurity company in UAE blog alongside all protect against cyber threats, information technology with cyber security, about cyber security, the cyber security, cyber security free tools, cyber detection, cyber bezbednost, cybersecurity reading, data analytics for cyber security, cyber platforms, as well as this updated cybersecurity company in Dubai tips which is also great. Also, have a look at this link for cybersecurity company in UAE details not forgetting sites such as it and security solutions, healthcare network security, significance of cyber security, information security report, service cyber, enterprise security operations, cloud technology and information security, fortify cyber, ai powered cyber security, it security analysis, on top of this my explanation about cybersecurity company in Dubai link which is worth considering with new network security technology, cyber security dubai, cyber security in future, security it solutions, it security by design, our website for not forgetting sites such as cyber security in tourism industry, development of cyber security, technical cyber security, ai cybersecurity systems, cyber security and it, for good measure. Check more @ Top Rated Asian2bet Login Website 130c9ac
FrankJScott вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг


Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:18.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!