AsmResolver __arglist
Closed this issue · 6 comments
sunnamed434 commented
AsmResolver Version
5.1.0
.NET Version
.NET Framework 462
Operating System
Windows
Describe the Bug
If I'll try to feed this into the AsmResolver and do zero changes in assembly, and just write/save the module I'm getting a weird error
static void Main()
{
// VERY important to call this method
DrawArgList(__arglist("Hello world!"))
}
public static void DrawArgList(__arglist)
{
ArgIterator argIterator = new ArgIterator(__arglist);
object[] array = new object[argIterator.GetRemainingCount()];
int num = 0;
while (argIterator.GetRemainingCount() > 0)
{
array[num++] = TypedReference.ToObject(argIterator.GetNextArg());
}
Console.WriteLine(array[0]);
}
How To Reproduce
- Create .NET Framework app (executable)
- Add the code that I wrote upper (Main + DrawArgList, very important to call DrawArgList somewhere in code)
- Compile
- Feed to AsmResolver
- Build/write
- Error
Expected Behavior
No error
Actual Behavior
Throws an error
ArgumentException
System.ArgumentException: Table is not supported by this encoder.
Parameter name: token
at AsmResolver.PE.DotNet.Metadata.Tables.IndexEncoder.EncodeToken(MetadataToken token)
at AsmResolver.DotNet.Builder.DotNetDirectoryBuffer.AddMemberRefParent(IMemberRefParent parent)
at AsmResolver.DotNet.Builder.DotNetDirectoryBuffer.AddMemberReference(MemberReference member, Boolean allowDuplicates)
at AsmResolver.DotNet.Builder.DotNetDirectoryFactory.ImportTables[TMember](ModuleDefinition module, TableIndex tableIndex, Func`2 importAction)
at AsmResolver.DotNet.Builder.DotNetDirectoryFactory.ImportTypeSpecsAndMemberRefsIfSpecified(ModuleDefinition module, DotNetDirectoryBuffer buffer)
at AsmResolver.DotNet.Builder.DotNetDirectoryFactory.CreateDotNetDirectory(ModuleDefinition module, INativeSymbolsProvider symbolsProvider, DiagnosticBag diagnosticBag)
at AsmResolver.DotNet.Builder.ManagedPEImageBuilder.CreateImage(ModuleDefinition module)
Additional Context
No response
Washi1337 commented
Potential fix is implemented in #414. Could you verify this indeed solves your issue?
sunnamed434 commented
Yes sure, do you have binaries with fixes otherwise I could compile it then
sunnamed434 commented
Oh, cool, thanks, I didn't know that, I'll check today
sunnamed434 commented
Checked now with the latest version, now there's no errors anymore
Washi1337 commented
Perfect, closing this as fixed then. This will be available in 5.2.0