Giter VIP home page Giter VIP logo

dbfilesclient.net's Introduction

Hi there 👋

I'm a (mostly) self-taught software developer; my actual degree is a MSc in Theoretical Chemistry. I started writing my first programs when I was 12. Nowadays, I regularly develop in C++, C#, Java, TypeScript, and have started picking up Rust. Here are some of my public projects that you may find of interest, including some I have contributed to.

C++

  1. TrinityCore is an open-source cross-platform MMORPG server framework. It uses Boost, MariaDB, Grafana, InfluxDB, CMake, and OpenSSL.
  2. tactmon is a C++20 library providing monitoring tools for Blizzard CDNs and product versions, leveraging Boost (namely, Asio and Beast), with a Discord bot and HTTP server frontend backed up by an instance of PostgreSQL to allow proxyfied download of specific files off of Blizzard's CDNs. Development is ongoing.
  3. Dread is an IDA Pro plugin designed to help static analysis of Metroid Dread. It uses IDA's own APIs as well as Clang (specifically, Clang's AST matchers) to analyze pseudocode and derive information that is then used to produce C header files, or automate reverse engineering. Development is on halt.
  4. hzdnptr is an injectable DLL designed to patch offending assembly in Horizon Zero Dawn's early PC releases (*((volatile int*)0) = 0xDEADCA7; to be exact), which triggering during play and caused the game to crash. It uses Boost, minhook, fmt, Zydis and spdlog.
  5. snippetspp is an umbrella repository where I push code I use in some of my projects (some of which are not on GitHub). One in particular is a simple single-header command parser. None of the pieces of code here have been production-tested.
  6. vk_jenkins is an experiment in writing compute shaders to bruteforce Jenkins hashes, using Vulkan.

C#

  1. DBClientFiles.NET is a library designed to parse DBC, DB2 and derivate file formats from World of Warcraft's game client, with a focus on speed and memory efficiency, by leveraging System.Linq.Expressions to generate code at runtime. It is a newer version of DBFilesClient.NET. Development is on halt.
  2. ADBC is very similar to the above, except that it interfaces with World of Warcraft's actual archive files, and provides a fully featured GUI with support for foreign keys, export to CSV, and visualization of textures referenced by DBC files. It is now outdated, due to changes to Blizzard's internal data formats and file relationships.
  3. WowSniffExplorer is an attempt at creating a GUI to process and analyze network dumps of World of Warcraft's protocol. It is a continuation of WowPacketParser, but got superceded by other solutions such as WowDatabaseEditor.
  4. MeshViewer is a .NET application able to render serverside geometry at the location of the player in World of Warcraft, by externally reading process memory. It uses OpenTK

dbfilesclient.net's People

Contributors

orabig avatar warpten avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dbfilesclient.net's Issues

problems with reading

File name                           LoadTime             Record count
---------------------------------------------------------------------
Difficulty                        00:00:00.0295287             22
Faction                           00:00:00.0075067             601
Achievement                       00:00:00.0395472             5378
FactionTemplate                   00:00:00.0025118             1398
Item                              00:00:00.0297584             122686
DBC loaded in 00:00:00.118.

Необработанное исключение: System.AggregateException: Произошла одна или несколько ошибок. ---> System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.IO.EndOfStreamException: Чтение после конца потока невозможно.
   в System.IO.__Error.EndOfFile()
   в System.IO.BinaryReader.ReadByte()
   в DBFilesClient.NET.Reader`1.ReadInlineString()
   в DBFilesClient.NET.Reader`1.ReadTableString()
   в DBFilesClient.NET.WDB5.Reader`1.ReadTableString()
   в lambda_method(Closure , Reader`1 )
   в DBFilesClient.NET.WDB6.Reader`1.LoadRecord(Int64 recordPosition, Int32 key, Boolean forceKey)
   в DBFilesClient.NET.WDB5.Reader`1.LoadRecords()
   в DBFilesClient.NET.Reader`1.Load()
   в DBFilesClient.NET.Storage`1.FromStream(Stream dataStream)
   в DBFilesClient.NET.Storage`1..ctor(String fileName, Boolean readOnly)
   --- Конец трассировки внутреннего стека исключений ---
   в System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   в System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   в System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
   в System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   в System.Activator.CreateInstance(Type type, Object[] args)
   в WowPacketParser.DBC.DBC.<>c.<Load>b__22_0(Type type) в C:\F\WPP_LEGION\WowPacketParser\DBC\DBC.cs:строка 69
   в System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
   в System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   в System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object )
   --- Конец трассировки внутреннего стека исключений ---
   в System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   в System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   в System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   в System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   в System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
   в WowPacketParser.DBC.DBC.<Load>d__22.MoveNext() в C:\F\WPP_LEGION\WowPacketParser\DBC\DBC.cs:строка 80
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   в System.Threading.ThreadPoolWorkQueue.Dispatch()

C:\F\WPP_LEGION\WowPacketParser\bin\Debug>pause

lock.db2

Hi, i get an error reading the most recent lock.db2 file.

It tries to read behind filesize:
Message: System.IO.EndOfStreamException: 'Unable to read beyond the end of the stream.' in LoadRecord
Code:

 storage = new Storage<LockDbcRecord>(@"data\DBFilesClient\Lock.db2", true);

BTW: Very handy tool you developed here :) tyvm!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.