Восстанавливаем PhilAI.CPP из Heroes2w.exe |
Здравствуйте, гость ( Вход | Регистрация )
Восстанавливаем PhilAI.CPP из Heroes2w.exe |
23 Aug 2016, 06:05
(Сообщение отредактировал t800 - 24 Aug 2016, 17:13)
Сообщение
#1
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Все жалуются что AI во fheroes2 очень глупый и это действительно так потому что он очень примитивный.
Поэтому я решил что надо сделать для fheroes2 новый AI, но поскольку каким должен AI для Heroes2 я не знаю. Я решил что когда не знаешь как это придумать надо спросить кого-нибудь кто знает как устроен AI в HMM2 рассказать как он устроен. И я попросил Швейка с форума Green Dragon рассказать мне как устоен AI в НMM2 И он мне рассказал следующее Цитата("Швейк") Я открыл Heroes2.exe в IDA сперва нажал сделать анализ, а затем нажал Produce File -> Сreate С file
а потом Produce File -> Сreate C header file И IDA сделала для меня исходники Heroes2 Вот они. HEROES2W_Debug H.zip HEROES2W_Debug С.zip И первое что я обнаружил в файлах HEROES2W_Debug.h и HEROES2W_Debug.С Это название как называется AI в Heroes2 он называется philAI и в оригинальных исходниках он лежал в в файле PHILAI.CPP и этот AI сделал Phil , причем оказывается heroes2.exe в случае когда AI не знает что делать, он должен выдавать такое сообщение: Код "AI encountered object type %d and doesn't know how to deal with it. Tell Phil"; Но свои контакты почему то Phil указать забыл И это очень жаль, потому что если бы он их указал тогда его можно было бы просто спросить какую команду надо куда писать, а не пытаться разобраться в исходниках которые сделала IDA. -------------------- |
|
|
23 Aug 2016, 10:03
Сообщение
#2
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Цитата Но свои контакты почему то Phil указать забыл Потому что в том калифорнийском офисе, я думаю, все и так знали, кто где сидит)Цитата И это очень жаль, потому что если бы он их указал тогда его можно было бы просто спросить какую команду надо куда писать Двадцать лет прошло вообще-т)
|
|
|
23 Aug 2016, 20:18
(Сообщение отредактировал t800 - 23 Aug 2016, 20:23)
Сообщение
#3
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Хммм... ... Сегодня чатился по Hangouts c James Koppel (это который Iron Fist)
И он сказал мне что я не совсем понял Цитата("James Koppel") Anyway, here's the main important thing I can tell you If you look at the decompiled Heroes II source code, you will have to cease all work on fheroes2 Otherwise, fheroes2 will stop being free Because that's how the law around reverse-engineering works The best you can do is get someone else to look at the decompiled code, and then write a description about how it works This is called a "Chinese wall" This isn't me telling you you can't look at our source. It's the law Это про че это он? -------------------- |
|
|
23 Aug 2016, 20:56
Сообщение
#4
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Условно про то, что использование восстановленных алгоритмов из декомпилированного кода, типа, незаконно.
На самом-то деле это еще надо доказать, учитывая, что вообще-то в героях они не то чтобы ноу-хау. |
|
|
23 Aug 2016, 21:38
(Сообщение отредактировал t800 - 23 Aug 2016, 21:43)
Сообщение
#5
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Условно про то, что использование восстановленных алгоритмов из декомпилированного кода, типа, незаконно. На самом-то деле это еще надо доказать, учитывая, что вообще-то в героях они не то чтобы ноу-хау. Мда... А еще он мне сказал что-то вроде поскольку fheroes2 GPL то в любой момент Andrey Afledinov может прийти и на меня наругаться и запретить его изменять и делать на нем сборки потому что это он владелец движка. Цитата("James Koppel") Also, fheroes2 is GPL'd, meaning that it is owned by a specific person (not sure who) I work in the same building as Richard Stallman, the founder of GNU and the creator of GPL. I get to hear about this several times a day Это что действительно так? -------------------- |
|
|
23 Aug 2016, 21:49
Сообщение
#6
|
|
😸🧡✊✌️ Сообщений: 16 023 Спасибо сказали: 2662 раза |
Нет. Я не знаю, как нужно извратить суть GPL, чтобы говорить такое.
-------------------- |
|
|
24 Aug 2016, 00:39
Сообщение
#7
|
|
пират с чёрной меткой Сообщений: 23 630 Спасибо сказали: 12911 раз |
Поэтому я решил что надо сделать для fheroes2 новый AI, но поскольку каким должен AI для Heroes2 я не знаю. Этим сказано чуть больше, чем всё...И IDA сделала для меня исходники Heroes2 Она не сделала исходники - она дизассемблировала код.И первое что я обнаружил в файлах HEROES2W_Debug.h и HEROES2W_Debug.С А, то есть у тебя есть исходники - и ты дизассемблируешь код, чтобы их лучше понять?Это название как называется AI в Heroes2 он называется philAI и в оригинальных исходниках он лежал в в файле PHILAI.CPP и этот AI сделал Phil Ну что же, как говорят - у каждого додика - своя методика... -------------------- Давший быка на убой не выпросил и печень на жаркое.
|
|
|
24 Aug 2016, 05:59
(Сообщение отредактировал Эроласт - 24 Aug 2016, 07:46)
Сообщение
#8
|
|
Зануда Сообщений: 2 236 Спасибо сказали: 2894 раза |
Цитата Also, fheroes2 is GPL'd, meaning that it is owned by a specific person (not sure who) Обладатель любой копии програмы под GPL считается её полноправным владельцем. В этом вся суть GPL. |
|
|
24 Aug 2016, 07:46
(Сообщение отредактировал t800 - 24 Aug 2016, 18:04)
Сообщение
#9
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Поэтому я решил что надо сделать для fheroes2 новый AI, но поскольку каким должен AI для Heroes2 я не знаю. Этим сказано чуть больше, чем всё...И IDA сделала для меня исходники Heroes2 Она не сделала исходники - она дизассемблировала код.Ну вообще то IDA Швейку создала исходники на С а не на ассемлере только почему то одним файлом. Но зато он понятный, а на ассемблере всякие MOV EAX и с ними Швейку трудно понять что AI делает. -------------------- |
|
|
24 Aug 2016, 08:15
Сообщение
#10
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Цитата Also, fheroes2 is GPL'd, meaning that it is owned by a specific person (not sure who) Обладатель любой копии програмы под GPL считается её полноправным владельцем. В этом вся суть GPL. Не знаю вот он мне опять утром написал в Hangouts Цитата("James Koppel") I don't know what DF2 is. What did they say? Here's the story: https://www.eff.org/issues/coders/reverse-engineering-faq Also, FYI: https://en.wikipedia.org/wiki/Richard_Stallman I've told you two separate things: First, fheroes2 is not "owned by everyone", although it is free to modify. Second, if you directly reverse-engineer something and then make something based on that, it becomes a derivative work -------------------- |
|
|
24 Aug 2016, 08:21
Сообщение
#11
|
|
😸🧡✊✌️ Сообщений: 16 023 Спасибо сказали: 2662 раза |
А на С сразу понял?
-------------------- |
|
|
24 Aug 2016, 08:59
(Сообщение отредактировал t800 - 24 Aug 2016, 17:16)
Сообщение
#12
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
А на С сразу понял? Ну на С оно понятней, а то с MOV и EAX вообще было не понятно что AI делает. Но меня сейчас не это беспокоит. Просто James Koppel сказал что если я не хочу чтобы fheroes2 стали несвободным надо построить "Китайсткую Стену" и сделать так кто-нибудь другой посмотрел как работает PhilAI и мне рассказал как он работает, а чтобы я сам в файл не смотрел иначе fheroes2 перестанут быть свободными. И поэтому я в файлы который выложил Швейк смотреть даже не стал. -------------------- |
|
|
24 Aug 2016, 12:46
(Сообщение отредактировал t800 - 24 Aug 2016, 17:16)
Сообщение
#13
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Всё! Проблема решена. На Green Dragon догорился со Швейком который написал что готов полностью разобратся в AI , и расказать всем как он работает. http://wiki.kvkozyrev.org/forum/viewtopic....&p=571#p571 Швейк всё время шутит, но оказалось, что он и полностью разобратся может а я даже смотреть код HMM2 не буду. Я буду делать новый AI для fheroes2 только как мне будут это советовать. Вот.
-------------------- |
|
|
25 Aug 2016, 07:34
(Сообщение отредактировал t800 - 25 Aug 2016, 07:36)
Сообщение
#14
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Фух...Совсем запутал меня James.. Сперва говорил чтобы я построил "Китайскую Стену" а теперь написал что мне можно смотреть код ... Вообще запутался...
Цитата("James Koppel") I suspect that the previous people who worked on fheroes2 have already looked at decompilations of HoMM II, meaning that, if you do look at them, it wouldn't be any more more illegal than it already is Ладно оставлю все уж как есть. Пускай стоит "Китайская Стена" раз построили: Швейк смотрит код, пишет об этом статьи на Green Dragon для всех, а я буду делать AI только по подсказкам. -------------------- |
|
|
25 Aug 2016, 08:10
Сообщение
#15
|
|
😸🧡✊✌️ Сообщений: 16 023 Спасибо сказали: 2662 раза |
http://studopedia.org/5-4380.html Так что, изучение файловых форматов по декомпилированной части программы допустимо. А распространение результата декомпиляции нет. И сходную программу писать нельзя.
-------------------- |
|
|
25 Aug 2016, 08:32
Сообщение
#16
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
http://studopedia.org/5-4380.html Так что, изучение файловых форматов по декомпилированной части программы допустимо. А распространение результата декомпиляции нет. И сходную программу писать нельзя. Ну вроде James так сперва и объяснил. Что надо чтобы один человек декомпилировал и сделал описание как программа работает. И тот кто пишет похожую программу просто прочитал статью. И тогда все нормально. -------------------- |
|
|
25 Aug 2016, 08:46
Сообщение
#17
|
|
😸🧡✊✌️ Сообщений: 16 023 Спасибо сказали: 2662 раза |
Нет, не всё, потому что распространение информации, полученной путём декомпиляции, незаконно.
-------------------- |
|
|
25 Aug 2016, 08:58
(Сообщение отредактировал t800 - 25 Aug 2016, 09:09)
Сообщение
#18
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Нет, не всё, потому что распространение информации полученной путём декомпиляции, незаконно. Ну James говорит че ему адвокаты сказали че законно если тот у того кто получает инфу уже есть такая игра. Цитата("James Koppel") I've discussed this with lawyers at the start of the project. I don't want to get into the details. I will say that it is very intentional that Ironfist requires you already have a copy of the game ЗЫ Хотя надо наверное написать Швейку чтобы про это он тоже написал, что читать статью можно только тем у кого уже есть честно приобретенная копия игры. -------------------- |
|
|
25 Aug 2016, 09:07
Сообщение
#19
|
|
😸🧡✊✌️ Сообщений: 16 023 Спасибо сказали: 2662 раза |
Законна декомпиляция части программы, отвечающей за работу с конкретным файлом или протоколом, для того, чтобы обеспечить взаимодействие другой программы с этим файлом или протоколом. Если информация о структуре файла или протоколе не может быть получена другим способом. Распространение тоже возможно только для обеспечения взаимодействия программ. Но ты же собираешься делать аналог, а это уже незаконно. Также незаконной становится и передача тебе этой информации.
-------------------- |
|
|
25 Aug 2016, 09:19
Сообщение
#20
|
|
Разработчик Сообщений: 534 Спасибо сказали: 221 раз |
Законна декомпиляция части программы, отвечающей за работу с конкретным файлом или протоколом, для того, чтобы обеспечить взаимодействие другой программы с этим файлом или протоколом. Если информация о структуре файла или протоколе не может быть получена другим способом. Распространение тоже возможно только для обеспечения взаимодействия программ. Но ты же собираешься делать аналог, а это уже незаконно. Также незаконной становится и передача тебе этой информации. James сказал что для HMM2 работает американский закон, по американскому закону можно если кто читает статью уже купил игру. Вот -------------------- |
|
|
Текстовая версия | Сейчас: 18 April 2024 - 14:04 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |