21 июня 2018 г.

Анти-АФК для World of Warcraft (Classic) на C#

Исполняемый файл:

https://drive.google.com/drive/folders/1JFV_2pdoLaLF_gDXPUHB9Zz4hpjjjIf9?usp=sharing




Требуемая версия установленного Framework.
.NET Framework 4.0

Исходный код:
[Source Code]

Использовать на свой страх и риск.

Как работает программа wow anti afk.


Программа не имеет графического интерфейса. Её достаточно запустить, и она будет всем отрытым окнам World of Warcraft отправлять перемещение вперёд и назад до момента закрытия. Для остановки просто закройте окно консольного приложения.

13 марта 2018 г.

XPathNavigator ошибка при парсе.


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

Работая с XPathNavigator, XPathDocument (возможно и с XDocument) и используя свой класс XsltContext (подкласс XmlNamespaceManager) контекст, что бы писать свои функции для XPath, можно словить исключение:
System.NullReferenceException "Object reference not set to an instance of an object."
   at MS.Internal.Xml.XPath.BaseAxisQuery.matches(XPathNavigator e)
   at MS.Internal.Xml.XPath.CacheChildrenQuery.Advance()
   at MS.Internal.Xml.XPath.AttributeQuery.Advance()
   at MS.Internal.Xml.XPath.LogicalExpr.cmpQueryQueryE(Op op, Object val1, Object val2)
   at MS.Internal.Xml.XPath.LogicalExpr.Evaluate(XPathNodeIterator nodeIterator)
   at MS.Internal.Xml.XPath.FilterQuery.EvaluatePredicate()
   at MS.Internal.Xml.XPath.FilterQuery.Advance()
   at MS.Internal.Xml.XPath.CacheChildrenQuery.GetNextInput()
   at MS.Internal.Xml.XPath.CacheChildrenQuery.Advance()
   at MS.Internal.Xml.XPath.CacheChildrenQuery.GetNextInput()
   at MS.Internal.Xml.XPath.CacheChildrenQuery.Advance()
   at MS.Internal.Xml.XPath.XPathSelectionIterator.MoveNext()
Причина: 
При использовании своей реализации XsltContext пропадает проверка на наличие добавленного namespace (через AddNamespace) у контекст менеджера. В результате, казалось бы обычный XPath запрос перестаёт ругаться на неизвестное пространство имен исключениями формата "XPathException. Additional information: Namespace prefix 'myns1' is not defined." и просто сваливается с NullReferenceException без какой либо причины.