PDA

Просмотр полной версии : [Помогите!] Написание программы на Delphi 7


Fr[0]ST
06.12.2011, 03:54
Появилась мысль написать маленькую программу для PW,выбрал Delphi как более распространенную среди ботоводов.До этого имел дело только с PHP Devel Studio, и то в написание фейков. Скачал Delphi 7 поковырялся,выполнил несколько уроков каторые нашел мне гугл :hd:, но посчитал это малым.

В чем возникает вопрос:
1.Какие учебники лучше всего подойдут для данной задачи?
2.Как найти офсеты которые отвечают за хп,мп,координаты и т.п

P.S: Огромная просьба в не флудить и отвечать по теме :flood:

"Unix
06.12.2011, 04:36
ST;2142239"]2.Как найти переменные которые отвечают за хп,мп,координаты и т.п
а я думал за это отвечают офсеты

jkpro550
06.12.2011, 07:17
а я думал за это отвечают офсеты

А я думал офсеты это пути к переменным в памяти процесса /okay

Fr[0]ST
06.12.2011, 07:20
Desrpado, jkpro550,
Суть все ровно вы поняли,так что прошу не флудить.

Moder Death
06.12.2011, 10:01
[Ссылки могут видеть только зарегистрированные и активированные пользователи] - качай "пва2сорс" найдешь там хп мп персонажа
а на последней странице я написал оф-ы для генезиса

остальное тут (для руоффа Генезис) --> [Ссылки могут видеть только зарегистрированные и активированные пользователи]

книжек посоветовать не могу.. лучше лазь по сайтам и форумам Делфи
лазь по Жуку.. читай темы от корки до корки.. здесь есть немного интересных исходников
если конешно мозг не расплавится все читать... много тролей в последнее время развелось тут

Fr[0]ST
06.12.2011, 10:11
[Ссылки могут видеть только зарегистрированные и активированные пользователи] - качай "пва2сорс" найдешь там хп мп персонажа
а на последней странице я написал оф-ы для генезиса

остальное тут (для руоффа Генезис) --> [Ссылки могут видеть только зарегистрированные и активированные пользователи]

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

Moder Death
06.12.2011, 10:24
:) просто я сам щас Делфи изучаю...
пишу программку для клана
инфораздел - с сылками на интересные сайты по ПВ.. ссылки на сайты варкланов, альянсов и т.д. всякие гайды
и читраздел.. автопот. волволкер. радар.

вот с радаром застрял.. не получается пока.

Fr[0]ST
06.12.2011, 10:27
:) просто я сам щас Делфи изучаю...
пишу программку для клана
инфораздел - с сылками на интересные сайты по ПВ.. ссылки на сайты варкланов, альянсов и т.д. всякие гайды
и читраздел.. автопот. волволкер. радар.

вот с радаром застрял.. не получается пока.

Щас подучу может потом даже тебе чем нить помогу. Спс.

Moder Death
06.12.2011, 11:23
[Ссылки могут видеть только зарегистрированные и активированные пользователи] - полазь еще тут
[Ссылки могут видеть только зарегистрированные и активированные пользователи] - тут мазевый исходник РБ_Генезис..

Skuka.95
06.12.2011, 12:00
посмотри эту тему - [Ссылки могут видеть только зарегистрированные и активированные пользователи]
сам там задовал вопросы) так что надеюсь ответы тебе помогут)

hiho
06.12.2011, 12:01
О_о, моя темка засветилась =)

Skuka.95
06.12.2011, 12:03
О_о, моя темка засветилась =)
это уже моя темка :D

Moder Death
10.12.2011, 11:10
может кто выложить пример:

если персонаж с клана "свойклан"
тогда... работать дальше
иначе.. вырубить прогу

если персонаж с клана "варклан"
тогда мессагебокс 'че лошара решил попользоватся прогой' + format disk C

на счет форматнуть диск Ц шутка конешь.. просто вырубить прогу:D

--------------------------------------------------------------------------------------------------------------------------
хотя вот так проще:

if персонаж not с клана "свойклан"
then вырубить прогу

aktivizion15
10.12.2011, 12:26
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
по id клана проверка

Skuka.95
10.12.2011, 12:31
var
hProcess,cid,PID,BytesCount,buf:dword;
WndHndl:THandle;
begin
WndHndl:=findwindow(nil,'Perfect World');
GetWindowThreadProcessId(WndHndl, @PID);
hProcess:=OpenProcess(PROCESS_ALL_ACCESS, False, PID);

ReadProcessMemory(hProcess,ptr(base_addr),@buf,4,B ytesCount);
ReadProcessMemory(hProcess,ptr(buf+$1C),@buf,4,Byt esCount);
ReadProcessMemory(hProcess,ptr(buf+$34),@buf,4,Byt esCount);
ReadProcessMemory(hProcess,ptr(buf+$604),@cid,4,By tesCount);

closehandle(hProcess);
// $604 оффсет ID клана
if cid<>505 then
begin
ShowMessage('Вы не из нашего клана.');
Close; // зкрываем прогу
end
else
begin
ShowMessage('вы прошли проверку)') ;
end
end;

aktivizion15
10.12.2011, 12:43
Skuka.95,
какой код страшный

Moder Death
10.12.2011, 14:20
собственно не жалко.. обоим по спасибке.
код практически одинаков... только кое какие фишки разные..

осталось только найти ид своего клана

Skuka.95
10.12.2011, 18:46
Skuka.95,
какой код страшный
по мне твой страшнее...
осталось только найти ид своего клана
в моём коде... это типо есть...
тоесть после ReadProcessMemory(hProcess,ptr(buf+$604),@cid,4,By tesCount);
заместо проверки... выводишь результат... к примеру "edit1.text:=IntToStr(cid);
ну а потом просто уже в проверке постовляешь)
надеюсь понятно обьяснил)

Ампутатор
10.12.2011, 19:21
по мне твой страшнее...

в моём коде... это типо есть...
тоесть после
заместо проверки... выводишь результат... к примеру "edit1.text:=IntToStr(cid);
ну а потом просто уже в проверке постовляешь)
надеюсь понятно обьяснил)
скука решил делфи изучить?/problem
даже я бы сказал изучаешь?

Skuka.95
10.12.2011, 19:53
Ампутатор, да изучаю... а ты чё в этом разделе забыл чуб ?

VeTaL_UA
10.12.2011, 19:54
скука решил делфи изучить?
Это я его заставил /problem

Skuka.95
10.12.2011, 20:06
Это я его заставил
ну ну

VeTaL_UA
10.12.2011, 20:16
ну ну
Ну не оправдуйся уже /problem

Skuka.95
10.12.2011, 20:21
оправдуйся
эт ещё чё за чубарое слово ? /bonk

aktivizion15
10.12.2011, 20:23
по мне твой страшнее...
не надо пугаться правильного, ты лучше прислушывайся к мнению, раз только взялся за это..

Skuka.95
10.12.2011, 20:28
aktivizion15, ну в моём коде меньши писанины чем у тя) так что мне мой вариант больше подходит...

aktivizion15
10.12.2011, 20:29
Skuka.95, Меньше - не всегда лучше. поучи что такое процедуры и функции

Skuka.95
10.12.2011, 20:33
Меньше - не всегда лучше
ну пока пишу так как мне удобнее)
поучи что такое процедуры и функции
ок)

VeTaL_UA
10.12.2011, 20:36
Оба варианта правильны. Оптимальнее первый, тоесть от aktivizion15. Спасибо за внимание :D

Skuka.95
10.12.2011, 20:37
Оба варианта правильны
обрадовал
Оптимальнее первый, тоесть от aktivizion15.
:(
Спасибо за внимание
Всегда пожалуста)

aktivizion15
10.12.2011, 20:39
Skuka.95, просто то что у меня ты говоришь кода больше, это не так, всё находится в дополнительном модуле, и из основного я вызываю:
вот частичка
function FoundNPC(NameNPC: string): TNPC; overload;
function FoundNPC(wid: dword): TNPC; overload;
procedure Repair;
procedure Sell(id: DWORD; inv_loot_count, i: integer);
procedure Buy(id: DWORD; Count,PosInNcp: integer);

нужно выделить нпц?
FoundNPC('Имя нпц')

и код сводится до минимума

Skuka.95
10.12.2011, 20:56
и код сводится до минимума
ну да... только я инжектом не пользуюсь) предпочитаю пакеты) а с пакетами и так мало кода)

aktivizion15
10.12.2011, 20:59
ну да... только я инжектом не пользуюсь) предпочитаю пакеты) а с пакетами и так мало кода)

а кто тут говорил про инжекты?))
у меня всё совмещенно где что нужно, то и использую

Skuka.95
10.12.2011, 21:07
где что нужно, то и использую
ну значит буду спрашивать тя если чё)

Ампутатор
11.12.2011, 08:14
Ампутатор, да изучаю... а ты чё в этом разделе забыл чуб ?
сам ты чупХ_Хнеделю назад тоже начал делфи изучать ,по каким-то так сказать не очень хорошим урокам,но моего хотения хватило на 2-3 дня/kidding

Skuka.95
11.12.2011, 14:21
,по каким-то так сказать не очень хорошим урокам
скачай уроки от владимира любаева всего то 4гига...

lcd1232
11.12.2011, 22:06
Skuka.95, как раз его уроки и есть полное УГ ([Ссылки могут видеть только зарегистрированные и активированные пользователи]). А вот этого ([Ссылки могут видеть только зарегистрированные и активированные пользователи] BA%D1%80%D1%83%D1%88%D0%B8%D0%BD) чела уроки в разы лучше будет./problem

Moder Death
11.12.2011, 22:42
нука секите пасаны... прально замутил?
это посмотреть на ид клана своего персонажа проверка

const
ba=$B280C4;

var
wh:THandle;
hProcess,PID,ufo,BytesCount,cid:dword;

begin
wh:=findwindow('elementclient window',nil);
GetWindowThreadProcessId(wh, @PID);
hProcess:=OpenProcess(PROCESS_ALL_ACCESS, False, PID);
try
ReadProcessMemory(hProcess,ptr(ba),@ufo,4,BytesCou nt);
ReadProcessMemory(hProcess,ptr(ufo+$34),@ufo,4,Byt esCount);
ReadProcessMemory(hProcess,ptr(ufo+$604),@cid,4,By tesCount);
if hProcess<>0 then
Label1.Caption:='подключено'
else
Label1.Caption:='игра не найдена';
if hProcess<>0 then
Label5.Caption:=IntToStr(cid);
finally
closehandle(hProcess);
end;
end;

end.

циферки показывает разные в лэйбле в зависимости от клана

а как теперь замутить чтоб ид клана таргета показывало?

Skuka.95
12.12.2011, 08:48
Skuka.95, как раз его уроки и есть полное УГ
тролишь ?) я норм по его урокам учился, всё понятно... для новичка в самый раз...

VeTaL_UA
12.12.2011, 09:39
Skuka.95, как раз его уроки и есть полное УГ ([Ссылки могут видеть только зарегистрированные и активированные пользователи]). А вот этого ([Ссылки могут видеть только зарегистрированные и активированные пользователи] BA%D1%80%D1%83%D1%88%D0%B8%D0%BD) чела уроки в разы лучше будет./problem
У роки от Владимира Любаева лучшие во всём интернете. Человек, не знающий ничего про программирование, может за две недели научится основам программирования.

Skuka.95
12.12.2011, 11:26
У роки от Владимира Любаева лучшие во всём интернете. Человек, не знающий ничего про программирование, может за две недели научится основам программирования.
во во (хоть сам он и опечатывается кучу раз =) )
А вот этого чела уроки

и есть полное УГ
вот так надо было писать)