uxmal / reko

Reko is a binary decompiler.
https://uxmal.github.io/reko
GNU General Public License v2.0
2.09k stars 250 forks source link

cannot build solution #1318

Closed aslanbeily closed 5 months ago

aslanbeily commented 5 months ago

Whatever I do, I get unresolved cs_open, cs_option, cs_disasmiter and in generall all cs symbols. Am I missing something? already restored NuGet packages and so on. Windows 11, Visual Studio 143

uxmal commented 5 months ago

Thanks for reporting this issue. I'm currently traveling so I can only provide you w a suggestion. Please make sure that you've selected the x64 solution platform in the vs toolbar before building. If the premium persists please follow the command line instructions in the README file. I will be able to assist you interactively in 12 hrs

aslanbeily commented 5 months ago

Thanks! The behaviour is quite strange. Once I run msbuild /p:Configuration=Release /p:Platform=x64 src/Reko-decompiler.sln everything ends well with a couple of warnings, but no executables are produced Compiling using MSVC GUI doesn't work at all :(

aslanbeily commented 5 months ago

Managed somehow to build, but when tried to load an executable whose source are lost: An item with the same key has already been added. Key: 14891863 (Parameter 'key')

uxmal commented 5 months ago

Still traveling. Any possibility of providing a stack trace? That helps enormously in debugging the problem

aslanbeily commented 5 months ago

Sure

Error: An error occurred during decompilation. An item with the same key has already been added. Key: 14891836 (Parameter 'key') at System.Collections.Generic.SortedList2.Add(TKey key, TValue value) at Reko.ImageLoaders.MzExe.PeImageLoader.ApplyRelocations(UInt32 rvaReloc, UInt32 size, Address baseOfImage, RelocationDictionary relocations) in C:\Users\raffy\source\repos\reko\src\ImageLoaders\MzExe\PeImageLoader.cs:line 673 at Reko.ImageLoaders.MzExe.PeImageLoader.Relocate(Program program, Address addrLoad) in C:\Users\raffy\source\repos\reko\src\ImageLoaders\MzExe\PeImageLoader.cs:line 448 at Reko.ImageLoaders.MzExe.PeImageLoader.LoadProgram(Address addrLoad) in C:\Users\raffy\source\repos\reko\src\ImageLoaders\MzExe\PeImageLoader.cs:line 202 at Reko.ImageLoaders.MzExe.ExeImageLoader.LoadProgram(Address addrLoad) in C:\Users\raffy\source\repos\reko\src\ImageLoaders\MzExe\ExeImageLoader.cs:line 124 at Reko.Core.Loading.ProgramImageLoader.Load(Address addrLoad) in C:\Users\raffy\source\repos\reko\src\Core\Loading\ProgramImageLoader.cs:line 45 at Reko.Loading.Loader.LoadBinaryImage(ImageLocation imageLocation, Byte[] image, String loader, Address addrLoad) in C:\Users\raffy\source\repos\reko\src\Decompiler\Loading\Loader.cs:line 173 at Reko.Loading.Loader.Load(ImageLocation imageLocation, String loaderName, Address addrLoad) in C:\Users\raffy\source\repos\reko\src\Decompiler\Loading\Loader.cs:line 133 at Reko.CmdLine.CmdLineDriver.Decompile(Dictionary2 pArgs) in C:\Users\raffy\source\repos\reko\src\Drivers\CmdLine\CmdLineDriver.cs:line 173

uxmal commented 5 months ago

Looks like something is going astray when relocating the binary. I'd like to examine your binary if possible. You can use a private channel like discord (see the readme) or email to johnkal at gmail_dot_com

aslanbeily commented 5 months ago

Cannot, sorry, it's proprietary for our company :( no worries, thanks for your help anyways!

uxmal commented 5 months ago

Understand. Sorry I can't be of no more help. If the doctor can't examine the sick patient, what use is he? :). I'm closing this issue as you are able to compile Reko. Let us know if there is anything else we can do, given your constraints