|
PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения - Разработка ПО для Perfect World - Бюро разработчиков Zhyk.Ru: создание ботов, снифферов и прочих программ для Perfect World |
27.09.2014, 18:49
|
#61
|
|
|
|
Разведчик
|
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Пытаюсь юзать инжект скила исспользуя переписанный фрейм.
Delphi:
Код:
CallAddress:=Pointer($0047CBF0);
P1:=aPParams^.Param1;//DWord скил
Po1:=Pointer(P1);//pointer
asm
pushad
MOV ECX,DWORD PTR DS:[$0C9DFAC]
MOV EDX,DWORD PTR DS:[ECX+$1C]
MOV ESI,DWORD PTR DS:[EDX+$30]
push -1 // -1
push 0
push 0
mov ecx,Po1 // указатель на скил
push ecx
mov ecx,esi
CALL CallAddress
popad
end;
Vb:
Код:
Injector.Clear()
Injector.Pushad()
Injector.Mov_ECX_DWORD_Ptr(&HC9DFAC)
Injector.Mov_EDX_DWORD_Ptr_ECX_Add(&H1C)
Injector.Mov_ESI_DWORD_Ptr(&H1C + &H30)
Injector.Push68(-1)
Injector.Push6A(0)
Injector.Push6A(0)
Injector.Mov_ECX_DWORD_Ptr(113)
Injector.Push_ECX()
Injector.Mov_ECX_ESI()
Injector.Call_DWORD_Ptr(&H47CBF0)
Injector.Popad()
Injector.Ret()
Injector.RunAsm()
Дыбы выявить проблему тестил инжект на ассист - проблем нет. Инжект на скил крашит клиент, реализация в дельфи рабочая. Что может быть не так?
|
|
|
27.09.2014, 21:47
|
#62
|
|
|
|
Пехотинец
|
Регистрация: 13.08.2013
Сообщений: 68
Популярность: 829
Золото Zhyk.Ru: 100
Сказал(а) спасибо: 25
Поблагодарили 13 раз(а) в 6 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Не юзал это фреймворк, но попробую тыкнуть пальцем в небо.
Код:
Injector.Mov_ESI_DWORD_Ptr(&H1C + &H30)
Код:
Injector.Mov_ESI_DWORD_Ptr_EDX_Add(&H30)
|
|
|
27.09.2014, 22:08
|
#63
|
|
|
|
Разведчик
|
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
|
|
|
28.09.2014, 00:06
|
#64
|
|
|
|
Рыцарь-лейтенант
|
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
Пользователь сказал cпасибо:
|
|
28.09.2014, 02:57
|
#65
|
|
|
|
Разведчик
|
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
|
Цитата: |
|
|
|
|
|
|
|
|
?!
Это что? Аналог строки:
mov ecx,Po1 // указатель на скил |
|
|
|
|
|
|
Цитата: |
|
|
|
|
|
|
|
|
Injector.Mov_ECX_DWORD_Ptr(113) |
|
|
|
|
|
"B971000000" (строка из фрейма)
Также я не совсем понимаю как в клиенте генерируется такие байты "683CF9FF" , они всегда одинаковы и не меняются.
Код из олидебагера:
Код:
004E8F83 |. E8 683CF9FF CALL 0047CBF0 ; \elementclient.0047CBF0
Тоже но из фрейма:
Injector.Call_Adr(&H47CBF0)
"E8F0CB4700"
Остальное сходится. (Pushad(), Injector.Popad(), Injector.Ret() я не сверял.)
Также я добавил в фрейм недостающую операцию"Mov_ESI_DWORD_Ptr_EDX_Add" думаю она необходима.
vb:
Код:
Public Sub Mov_ESI_DWORD_Ptr_EDX_Add(addre As Integer)
If (addre <= 127) AndAlso (addre >= -128) Then
Me.Asmcode = Me.Asmcode & "8B72" & intTohex(addre, 2)
Else
Me.Asmcode = Me.Asmcode & "8BB2" & intTohex(addre, 8)
End If
End Sub
Последний раз редактировалось bestbeer; 28.09.2014 в 03:02.
|
|
|
28.09.2014, 10:30
|
#66
|
|
|
|
Рыцарь-капитан
|
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 325 раз(а) в 105 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Основная цель класса ASM - генерировать опкод - массив байт, который потом инжектится. В Delphi класс ASM не нужен, т.к. там Делфи умеет воспрнимать Ассемблер и сам переводит его в опкод, который потом и инжектится. Этот опкод должен точно совпадать с функцией из клиента, меняться могут только параметры функции. Например номер скилла или координаты или еще что. Вы можете открыть OllyDbg и вписать туда функцию на Delphi - они пишутся на Ассемблере и их написать не сложно. Олька переведет эту функцию в опкод и вы сможете сравнить этот опкод с тем, что генерирует ваш класс ASM. Если все совпадает - значит функция написана правильно. Если не совпадает, значит у вас где то ошибка. И ее лекго можно обнаружить просто глазами.
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
|
|
|
Пользователь сказал cпасибо:
|
|
29.09.2014, 03:19
|
#67
|
|
|
|
Разведчик
|
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Вобщем я сумел понять свои ошибки.(а может и не сумел и мне повезло.)
Вобщем нужно добавить в фрейм функцию "Mov_ESI_DWORD_Ptr_EDX_Add" и немного изменить сам инжект.
vb:
Код:
Injector.Clear()
Injector.Pushad()
Injector.Mov_ECX_DWORD_Ptr(&HC9DFAC)
Injector.Mov_EDX_DWORD_Ptr_ECX_Add(&H1C)
Injector.Mov_ESI_DWORD_Ptr_EDX_Add(&H30)
Injector.Push6A(&HFF) '-1
Injector.Push6A(0)
Injector.Push6A(0)
Injector.Mov_ECX(113)
Injector.Push_ECX()
Injector.Mov_ECX_ESI()
Injector.Mov_EDI(&H47CBF0)
Injector.Call_EDI()
Injector.Popad()
Injector.Ret()
Injector.RunAsm()
Вот так работает.
|
|
|
09.01.2015, 13:27
|
#68
|
|
|
|
Разведчик
|
Регистрация: 05.09.2010
Сообщений: 32
Популярность: 1182
Сказал(а) спасибо: 38
Поблагодарили 12 раз(а) в 10 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Подскажите пожалуйста как в АСМ классе значения с типом uint использовать? Там все MOV-функции в качестве параметров тип int принимают. А мне, например, надо wid моба затолкать, который в int не поместится. Я, конечно, поменял его на uint, но сдается мне это некорректно. Мне неизвестно как в этом случае следующие функции нужно поменять (и нужно ли вообще):
Код:
private string hex(int address)
{
string str = address.ToString("X");
return str;
}
public string intTohex(int value, int num)
{
string str1 = null;
string str2 = "";
str1 = "0000000" + this.hex(value);
str1 = str1.Substring(str1.Length - num, num);
for (int i = 0; i <= str1.Length / 2 - 1; i++)
{
str2 = str2 + str1.Substring(str1.Length - 2 - 2 * i, 2);
}
return str2;
}
Кто сталкивался - не оставайтесь безучастны
|
|
|
09.01.2015, 16:24
|
#69
|
|
|
|
Рыцарь-лейтенант
|
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
Пользователь сказал cпасибо:
|
|
30.04.2016, 23:03
|
#70
|
|
|
|
Разведчик
|
Регистрация: 24.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Вопрос по поводу Packet. Если ввести правильный IDшник то все работает но у мобов (даже у мобов на одной поляне) разные IDшники. Не подскажете как прочитать именно имя моба?
|
|
|
01.05.2016, 01:33
|
#71
|
|
|
|
Разведчик
|
Регистрация: 05.09.2010
Сообщений: 32
Популярность: 1182
Сказал(а) спасибо: 38
Поблагодарили 12 раз(а) в 10 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Так же как и ID, только считываешь строку. Так же считываешь д оструктуры моба, только вместо смещения ID подставляешь смещение имени. Раньше было +288 +0. Проверяешь по имени нужный это тебе моб или нет. Если да, то считываешь у этого же моба WID и подставляешь в пакет.
|
|
|
01.05.2016, 02:42
|
#72
|
|
|
|
Разведчик
|
Регистрация: 24.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Фигня в том что ID я получаю вот так:
|
Цитата: |
|
|
|
|
|
|
|
|
return memory.ReadInt32(this.Structure + PWOffssAndAddrss.host_player_target_wid_offset); |
|
|
|
|
|
Но не вкурсе существует ли оффсет Имени Таргета. Искать через СЕ тоже не варик я так понял.
Думал может сделать отдельный класс под монстра с его структурой и использовать его как и класс ХостПлэера но не понял что там со структурой Мобов.
P.S. ботовод-самоучка, могу нести бред не понимая этого.
Последний раз редактировалось Arsen0208; 01.05.2016 в 02:46.
|
|
|
21.05.2016, 20:37
|
#73
|
|
|
|
Пехотинец
|
Регистрация: 27.03.2012
Сообщений: 70
Популярность: 4766
Сказал(а) спасибо: 82
Поблагодарили 37 раз(а) в 20 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
простите за нубский вопрос. это на каком языке? c++ или c#
не понимаю с чего начать, если ни разу не программер, но что-нибудь создать хочется, в виде джинокача или геобота
|
|
|
22.05.2016, 09:14
|
#74
|
|
|
|
Рыцарь-капитан
|
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 325 раз(а) в 105 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Это на C#. Это утилита для среднего уровня программирования. Там возможно уже все устарело, т.к. писалось несколько лет назад. А может и нет. Я давно отошел от разработок под PW. Вообще удивлен, что это кому-то еще интересно. А не проще воспользоваться уже написанным готовым софтом. Ребята же постоянно что-то выкладывают. Были раньше и платные программы достаточно хорошего уровня.
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
|
|
|
22.05.2016, 12:54
|
#75
|
|
|
|
Разведчик
|
Регистрация: 05.09.2010
Сообщений: 32
Популярность: 1182
Сказал(а) спасибо: 38
Поблагодарили 12 раз(а) в 10 сообщениях
|
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Фрейморк хороший, понравилась структура и вообще работа с ним в целом. За что огромное спасибо автору. Однако пришлось практически отказаться от работы с ним, так как запущенные программы, после пары часов работы, крашили клиент игры. Либо я рукожоп, либо с памятью что-то. Скорее первое. Как-то так.
В целом он не устарел, оффсеты/адреса поменять и вперед.
Последний раз редактировалось Hilling; 22.05.2016 в 13:57.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 07:52.
|
|