Using the FASM Assembler

If there is a project in which you need to assemble code in a C# project, you found the right place. I鈥檒l be using the flatassembler (https://flatassembler.net/) and it鈥檚 FASM.dll (which you can download in the forum https://board.flatassembler.net/topic.php?t=6239) to achieve this. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // remove fixed(stackalloc) if buffer gets to big to fit on the stack or if safe context is needed, it is only used for performance here fixed (byte* pBytes = stackalloc byte[64]) // 64 is the size of the buffer for the assembled instructions { if (FasmAssemble("use32\nXOR EAX,EBX", pBytes, 64, 16, IntPtr....

October 24, 2023 路 Jannis

Memory Editing

In many projects, I needed to access another process鈥檚 memory but there are only a few examples that are not using C#鈥檚 full potential and some of them are very old. I came up with a simple way of reading and writing memory with very little code. Keep in mind that this way only works for unmanaged data types like int or byte, to read strings from memory you need to do some more work, have a look into this class: https://github....

October 24, 2023 路 Jannis

Run WoW 3.3.5a over RDP

I encountered a situation where I wanted to run the old World of Warcraft (version 3.3.5a) over Remote Desktop Protocol (RDP) on my laptop and was presented with this error message: https://github.com/Jnnshschl/WowRdpPatcher I thought it would be worth a try to disable the error message because newer versions of World of Warcraft can run over RDP without a problem, and typically, it鈥檚 not an issue for other games either. So, I fired up Ghidra and searched for the error message string and possible RDP checks....

March 20, 2022 路 Jannis
kt-lcd3

Reset The KT-LCD3 Ebike Display With A USB UART Dongle

The issue was that I lost my PIN for the display and couldn鈥檛 find a way to bypass it. According to the KT-LCD3 documentation, there鈥檚 a method to copy all display values from another display without entering the PIN. You just need to send a specific UART packet to achieve this. All you need are a computer and a USB to UART dongle, like this one: https://github.com/Jnnshschl/KTLCD3Reset Download the latest exe (or compile it yourself) from the releases page and wire the UART dongle to the display鈥檚 UART interface like this:...

August 20, 2020 路 Jannis