Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Поиск Unfreeze Adress

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 02.01.2013, 21:12   #1
 Разведчик
Аватар для n3f
 
n3f никому не известный тип
Регистрация: 27.02.2010
Сообщений: 17
Популярность: 10
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Поиск Unfreeze Adress

Подскажите пожалуйста, как с помощью СЕ, или может быть другого софта вычислить анфриз? поиск юзал.. ба и га с помощью се нахожу, а вот эотт адрес незнаю.. Гуглил, и поиск рыл на форуме, не выходит узнать
если что
BaseAdress = 0x00A591E0
GameAdress = 0x00A59ACC
  Ответить с цитированием
Старый 03.01.2013, 12:34   #2
 Старший сержант
Аватар для N00bSa1b0t
 
N00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядом
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
 
По умолчанию Re: Поиск Unfreeze Adress

Я его искал через Olly. Если не ошибаюсь, клиент скомпилен в дебаг режиме, поэтому при потере фокуса он выводит дебаг-сообщение типа "Focus lost" или как-то так. Запускаешь поиск строк, находишь это сообщение, находишь то место, где оно используется - а значит это недалеко от анфриза) Дальше смотришь асм-код, там он простой, буквально пару джампов и все.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Пользователь сказал cпасибо:
n3f (03.01.2013)
Старый 03.01.2013, 13:10   #3
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для Smertig
 
Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Отправить сообщение для Smertig с помощью ICQ Отправить сообщение для Smertig с помощью Skype™
 
По умолчанию Re: Поиск Unfreeze Adress

Код:
BaseAdress=00A571E0
GameAdress=00A57ACC
Адреса:
Код:
InGameFlag=00A573C8, byte /0 - не в игре 1 - в игре/
OnLineFlag=00A688EC, byte
Unfreeze=00420204 (84 C0 > B0 01) /B0 00 - заморожен/ или 00420206 (88 75 > C6 01)
Zoom=00439EBB (0F 85 1D > E9 1E FF)
UnfreezeFlag=00A57F3C
FullTarget=00630790
ToVillage=006500D0
PetAttack=00962E7C
PetStop=009AC2E0
PetFollow=00962E74
PetOffensive=00962E68
PetDefensive=00962E5C
PetCombat=00962E54
PetCancel=00950C18
PetSkillUse=005A63C0
PetSetMode1=005307F0
PetSetMode2=00630B00
Mining=006505B0
TalkToNPC=00630B60
Walk1=00494620
Walk2=00498290
Walk3=00494EC0
WalkOfs1=000010BC
UseItem=00630580
Pick=00630720
PickWalk=00489470
PackCall 0063DB70
Sell=004D6250
SkillCall=00492A90
ButtonPress=005D40C0
NPCSelect=0064FBD0
Для работы с диалогами :
DialogOpAddr = $0077D3E0;
DlgCancelPush = $00950C18; IdCancel
DlgNoPush = $00950C24;
DlgYesPush = $00950C08;

ChatStart=00A5CAB8
ChatNumber=00A5CAC4
Взято из соседней темы
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
  Ответить с цитированием
Старый 03.01.2013, 18:41   #4
 Разведчик
Аватар для n3f
 
n3f никому не известный тип
Регистрация: 27.02.2010
Сообщений: 17
Популярность: 10
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Поиск Unfreeze Adress

Цитата:
Сообщение от SmertigПосмотреть сообщение
Код:
BaseAdress=00A571E0
GameAdress=00A57ACC
Адреса:
Код:
InGameFlag=00A573C8, byte /0 - не в игре 1 - в игре/
OnLineFlag=00A688EC, byte
Unfreeze=00420204 (84 C0 > B0 01) /B0 00 - заморожен/ или 00420206 (88 75 > C6 01)
Zoom=00439EBB (0F 85 1D > E9 1E FF)
UnfreezeFlag=00A57F3C
FullTarget=00630790
ToVillage=006500D0
PetAttack=00962E7C
PetStop=009AC2E0
PetFollow=00962E74
PetOffensive=00962E68
PetDefensive=00962E5C
PetCombat=00962E54
PetCancel=00950C18
PetSkillUse=005A63C0
PetSetMode1=005307F0
PetSetMode2=00630B00
Mining=006505B0
TalkToNPC=00630B60
Walk1=00494620
Walk2=00498290
Walk3=00494EC0
WalkOfs1=000010BC
UseItem=00630580
Pick=00630720
PickWalk=00489470
PackCall 0063DB70
Sell=004D6250
SkillCall=00492A90
ButtonPress=005D40C0
NPCSelect=0064FBD0
Для работы с диалогами :
DialogOpAddr = $0077D3E0;
DlgCancelPush = $00950C18; IdCancel
DlgNoPush = $00950C24;
DlgYesPush = $00950C08;

ChatStart=00A5CAB8
ChatNumber=00A5CAC4
Взято из соседней темы

Конечно спасибо, я это находил.. но меня интересует сам процесс поиска этого адреса, а не список готовых.

Не создавать же мне в следующий раз, когда сменится БА, опять новую тему с поиском анфриза
  Ответить с цитированием
Старый 18.01.2013, 00:50   #5
Заблокирован
 Сержант
Аватар для Relli
 
Relli скоро будет известенRelli скоро будет известенRelli скоро будет известенRelli скоро будет известенRelli скоро будет известен
Регистрация: 19.01.2011
Сообщений: 168
Популярность: 485
Сказал(а) спасибо: 123
Поблагодарили 67 раз(а) в 48 сообщениях
 
По умолчанию Re: Поиск Unfreeze Adress

Это же элементарно,Ватсон.
Анфриз = 0,фриз = 1.Тип: 4 байта.
Ставите хот-кей и отлавливаете(активируете,дезактивируете окно и выполняете отсеивание).
Вот и все)
  Ответить с цитированием
Старый 25.01.2013, 05:12   #6
-= Мастер Света =-
 Пехотинец
Аватар для rufat2005
 
rufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауру
Регистрация: 19.02.2010
Сообщений: 98
Популярность: 650
Сказал(а) спасибо: 23
Поблагодарили 150 раз(а) в 45 сообщениях
Отправить сообщение для rufat2005 с помощью ICQ Отправить сообщение для rufat2005 с помощью Skype™
 
По умолчанию Re: Поиск Unfreeze Adress

хммм)))
если разработчик то легче по структуре поискать))

Код:
unit BA_Finder;

interface

uses
  SysUtils, IOUtils, RegularExpressions;
function FindOffsetBySign(source, signature: string): string;
function ReverseBytes(bytecode: string):string;
var
  FileBytes: TBytes;    // сюда загрузим байты из нужного файла
  FileBytesStr: string; // сюда будем складывать те же байты в HEX-виде
  i: integer;
  myFile : TextFile;
  ExeDir: string;

const
  BA = '(8B0D(.{8})898D40F1FFFF6A01)'; // тестовые сигнатурки
//  LVL = '(8986(.{8})8A4F03)';
implementation

uses Config, setup;

function ReverseBytes(bytecode: string):string;
var
s2:string;
begin
Result:='';
s2:=bytecode;
repeat
  Result := Result + Copy(s2, length(s2)-1, 2);
  Delete(s2, length(s2)-1, 2);
until length(s2)=0;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// ========================================================
//           Ищем оффсет в exe по сигнатуре:
// ========================================================
function FindOffsetBySign(source, signature: string): string;
var // мануал: docwiki.embarcadero.com/VCL/en/RegularExpressions.TRegEx
  RegEx: TRegEx; // проверить регулярку можно на regexpr.ru
begin
  RegEx := TRegEx.Create(signature);
  Result:=ReverseBytes(RegEx.Match(source).Groups.Item[2].Value);
end; // пассивные группы не прокатят!
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

///begin
//  try
//    GetDir(0, ExeDir);
//    AssignFile(myFile, ExeDir + 'Test.txt');
//    ReWrite(myFile);
//------------------------------------------------------------------
//    FileBytesStr:='';
//    FileBytes := TFile.ReadAllBytes
//      ('C:GamesPerfect World CH Onlineelementelementclient.exe');
//    for i := low(FileBytes) to high(FileBytes) do
//      FileBytesStr := FileBytesStr + IntToHex(FileBytes[i], 2);
//------------------------------------------------------------------
//    WriteLn(myFile, FindOffsetBySign(FileBytesStr, BA));
//    WriteLn(myFile, FindOffsetBySign(FileBytesStr, LVL));
//------------------------------------------------------------------
//    CloseFile(myFile);
//  except
//    on E: Exception do
//      Writeln(E.ClassName, ': ', E.Message);
//  end;

procedure TForm6.Button4Click(Sender: TObject);
var i:integer;
path:string;
//clientVersion:string;
begin
//  showmessage(FindOffsetBySign(edit21.text, BA));
  try
    Path:=Application.ExeName;
    Path:=ExtractFileDir(Path);
    GetDir(0, ExeDir);
//------------------------------------------------------------------
    FileBytesStr:='';
    FileBytes := TFile.ReadAllBytes
      (edit21.text); // тут путь до файла + названия)
    for i := low(FileBytes) to high(FileBytes) do
      FileBytesStr := FileBytesStr + IntToHex(FileBytes[i], 2);
//------------------------------------------------------------------

    showmessage(FindOffsetBySign(FileBytesStr, BA));// 
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end;

end.
ну както так))

(8B0D(.{8})898D40F1FFFF6A01) ;Base_Address
(8986(.{8})8A4F03) ;LVL_Offset
(898E(.{8})8B5714) ;Culti_Offset
(8996(.{8})8B4718) ;EXP_Offset
(8986(.{8})8B4F04) ;Spirit_offset
(898E(.{8})8B570C) ;HP_OffSet
(8996(.{8})8B471C) ;MP_OffSet
(8986(.{8})8B4F08) ;CHI_OffSet
(898E(.{8})8B5710) ;MaxHP_OffSet
(8996(.{8})8B4720) ;MaxMP_OffSet
(8986(.{8})8A4702) ;MaxCHI_Offset
(8B108996(.{8})8B4004) ;gold_Offset
(6A0A8986(.{8})) ;state_Offset
(8986(.{8})8B40048BC8) ;castid_Offset
(A1(.{8})578B482081C1EC) ;BaseCall_Offset
(568BF18B86(.{8})85C0) ;target_Offset
(8B8E(.{8})3BCB740655) ;pet_Offset
(8B8E(.{8})8B47503BC8) ;str_Offset
(8B96(.{8})8B47543BD0) ;dex_Offset
(8B86(.{8})8B4F5C3BC1) ;vit_Offset
(8B8E(.{8})8B47603BC8) ;mag_Offset
(8B96(.{8})8B47643BD0) ;reputation_Offset
(EB5D8B8E(.{8})B801) ;class_Offset
(8B491C33C08B91(.{8})85D2) ;jump_Offset
(32C0C38B89(.{8})568BB0) ;charid_Offset
(8B83(.{8})8D4C243C) ;name_Offset
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Автор программы PwRuf - Bot и PwRuf - Crafter
  Ответить с цитированием
Старый 26.01.2013, 11:38   #7
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Поиск Unfreeze Adress

rufat2005, код копипастить умеешь? а теперь давай объясняй мне как искать сигнатуры!
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 26.01.2013, 14:05   #8
-= Мастер Света =-
 Пехотинец
Аватар для rufat2005
 
rufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауруrufat2005 излучает ауру
Регистрация: 19.02.2010
Сообщений: 98
Популярность: 650
Сказал(а) спасибо: 23
Поблагодарили 150 раз(а) в 45 сообщениях
Отправить сообщение для rufat2005 с помощью ICQ Отправить сообщение для rufat2005 с помощью Skype™
 
По умолчанию Re: Поиск Unfreeze Adress

Цитата:
Сообщение от VeTaL_UAПосмотреть сообщение
rufat2005, код копипастить умеешь? а теперь давай объясняй мне как искать сигнатуры!

Копипаст вроде отсюда
[Ссылки могут видеть только зарегистрированные пользователи. ]

я просто показал кусок кода который у меня. хм.. почему та был уверен что там был сигнатура unfreeze
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Автор программы PwRuf - Bot и PwRuf - Crafter
  Ответить с цитированием
Старый 26.01.2013, 14:35   #9
 Старший сержант
Аватар для sumikot
 
sumikot излучает ауруsumikot излучает ауруsumikot излучает ауруsumikot излучает ауруsumikot излучает ауруsumikot излучает ауру
Регистрация: 21.09.2009
Сообщений: 189
Популярность: 578
Сказал(а) спасибо: 27
Поблагодарили 145 раз(а) в 36 сообщениях
 
По умолчанию Re: Поиск Unfreeze Adress

Цитата:
Сообщение от rufat2005Посмотреть сообщение
если разработчик то легче по структуре поискать))

Ну не нашел я в приведенном коде регулярного выражения для поиска UnFreeze. Смотрел 3 раза.
Аааа, воот оно
(000085D20F95C0(84C0)8885..0400007[45])
Отличие от вышеприведенных примеров в том, что ищется не значение образца в скобках, а его адрес.
А ищется все очень просто. Один из вариантов - сравниваем Hex содержимое нескольких клиентов с известными адресами UnFreeze
Код:
8B9424E8000000 85D2 0F95C0 84C0 88858C040000 75.. // для 00B27A04
8B9424E4000000 85D2 0F95C0 84C0 88858C040000 74.. // для 00A5B90C
      E963040000 85D2 0F95C0 84C0 88858C040000 75.. // для 00A571E0
8B9424E0000000 85D2 0F95C0 84C0 888528040000 74.. // для 0098ADDC
Записываем неизменяющиеся фрагменты в регулярное выражение, вместо изменяющихся значений, если они внутри выражения, подставляем точку. Если нужно более сложное описание выражения, читаем [Ссылки могут видеть только зарегистрированные пользователи. ].
  Ответить с цитированием
Ответ


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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Zoom и Unfreeze blTb^^ Общение разработчиков 9 07.10.2012 20:46
[Статья] [Unfreeze для всех версий] KloneB@DGuY Разработка ПО для Perfect World 11 16.01.2012 18:33
[Помогите!] Вопрос по Unfreeze'ру. dart994 Общение и обсуждение Perfect World 0 13.08.2011 18:13
unfreeze matriCS929394 Общение и обсуждение Counter-Strike 1 23.07.2011 22:20

Заявление об ответственности / Список мошенников

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

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net