Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Analyzer Profiles #249

Open
wants to merge 240 commits into
base: feature/workspaces
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
240 commits
Select commit Hold shift + click to select a range
c27eb8b
Merge pull request #181 from Washi1337/development
Washi1337 May 26, 2021
23b8143
Merge pull request #205 from Washi1337/development
Washi1337 Oct 1, 2021
793815c
Merge branch 'development'
Washi1337 Oct 4, 2021
2239aa6
add documentation for generic instance methods
ds5678 Dec 27, 2021
b36899e
rename file to methods
ds5678 Dec 27, 2021
84cb170
Merge pull request #237 from Washi1337/development
Washi1337 Dec 29, 2021
5c98a9a
Add: Workspace Profiles
JPaja Feb 11, 2022
760ec32
Add: Implementation profile
JPaja Feb 11, 2022
fc62a45
Fix: Xmldoc
JPaja Feb 11, 2022
398b4d7
Add: issue/198 test
JPaja Feb 11, 2022
13ea26d
Fix: Get correct base types
JPaja Feb 11, 2022
e2989e3
Merge remote-tracking branch 'Washi1337/feature/workspaces' into feat…
JPaja Feb 16, 2022
8bc6458
Add duped typeref test.
Washi1337 Feb 19, 2022
9b8ab64
Add DistinctMetadataTableBuffer.Add(TRow, bool) allowing for duplicat…
Washi1337 Feb 19, 2022
858f0f2
Deprecate FieldSignature.CreateXXX methods.
Washi1337 Feb 19, 2022
0d1d174
Remove usages of deprecated FieldSignature.CreateXXX methods.
Washi1337 Feb 19, 2022
bff8e08
Rename signature to field type in field constructor.
Washi1337 Feb 19, 2022
8b9e5ed
Don't use field constructor taking fieldsig when not necessary.
Washi1337 Feb 19, 2022
3d92368
Merge pull request #254 from Washi1337/feature/simplify-fieldsigs
Washi1337 Feb 22, 2022
42554a8
Add UnresolvedMethodBody class.
Washi1337 Feb 22, 2022
7e464ca
Add consistency test.
Washi1337 Feb 22, 2022
ab76788
use more consistent naming and relevant extension methods
ds5678 Feb 23, 2022
8ecdcd4
add net 7 to known cor libs
ds5678 Feb 23, 2022
cf199d2
set all projects to use C# language version 10
ds5678 Feb 23, 2022
510f24e
bump appveyor to VS 2022
ds5678 Feb 23, 2022
6901e0b
Prefer reading the method body segment over casting to CilRawMethodBo…
Washi1337 Feb 24, 2022
c13d326
Merge pull request #239 from ds5678/Feature/AddWikiDocumentationForGe…
Washi1337 Feb 24, 2022
57ffd72
Merge pull request #255 from Washi1337/feature/unresolved-method-bodies
Washi1337 Feb 24, 2022
1955204
Merge pull request #256 from ds5678/Feature/AddNet7ToKnownCorLibs
Washi1337 Feb 24, 2022
b1cc981
Merge pull request #257 from ds5678/Feature/LanguageVersion10Everywhere
Washi1337 Feb 24, 2022
08a5c84
Merge branch 'feature/worksaces-bugfix' into feature/workspace-profil…
JPaja Feb 24, 2022
9568a54
bump nuget dependency versions
ds5678 Feb 24, 2022
36bd036
add dependabot script
ds5678 Feb 24, 2022
b5388fe
Merge branch 'feature/worksaces-bugfix' into feature/workspace-profil…
JPaja Feb 26, 2022
63b77c3
Merge pull request #253 from Washi1337/issue/preserve-duplicate-metad…
Washi1337 Mar 1, 2022
ac629e2
Merge remote-tracking branch 'Washi1337/feature/workspaces' into feat…
JPaja Mar 1, 2022
b730af5
Add CilInstruction.ReplaceWith helper functions.
Washi1337 Mar 4, 2022
b1f248e
Add CIL instruction tests.
Washi1337 Mar 4, 2022
8e624bd
Update docs on new ReplaceWith APIs.
Washi1337 Mar 4, 2022
86ab83c
Add HelloWorld test app with 10k dummy methods. Split benchmarks into…
Washi1337 Mar 4, 2022
f5df8fe
Lazy init diagnostic prefix in CilAssembler.
Washi1337 Mar 4, 2022
e51801e
Add missing DiagnosticPrefix call, ensure consistent prefixes in both…
Washi1337 Mar 5, 2022
35aa4b4
Merge pull request #259 from Washi1337/feature/replace-instruction
Washi1337 Mar 6, 2022
3933145
Merge pull request #258 from ds5678/Feature/Dependabot
Washi1337 Mar 6, 2022
54669e5
Merge pull request #261 from Washi1337/issue/cilassembler-diagnostic-…
Washi1337 Mar 6, 2022
1fc7471
Bump appveyor versions.
Washi1337 Mar 6, 2022
8ca98cd
Replace obsolete usage of IgnoreNullValues with new DefaultIgnoreCond…
Washi1337 Mar 6, 2022
826157f
Cache TablesStream instance in member factory.
Washi1337 Mar 6, 2022
014e576
Add failing test-case on corlib types as base-type.
Washi1337 Mar 7, 2022
1d85804
Add tests isolating issue of non-imported assembly refs.
Washi1337 Mar 7, 2022
e0249a9
BUGFIX: Remove duplicated corlib reference upon creating new module.
Washi1337 Mar 7, 2022
5ce0ce9
BUGFIX: Reuse imported assembly references when possible after parsin…
Washi1337 Mar 7, 2022
df83fd0
BUGFIX: Use finally decided scope instead of scope determined by the …
Washi1337 Mar 7, 2022
6f6bcff
use string interpolation instead of string.Format
ds5678 Mar 8, 2022
fdf0da8
Reduce allocations in typenameparser and lexer.
Washi1337 Mar 8, 2022
94273ca
Merge pull request #264 from Washi1337/issue/non-imported-ca-assembly…
Washi1337 Mar 8, 2022
4714164
Merge pull request #265 from ds5678/Feature/MinorPerformanceEnhancement
Washi1337 Mar 10, 2022
4c6f539
Add .NET 3.1 and .NET 6.0 LTS build targets.
Washi1337 Mar 10, 2022
af2d0ca
Add CoreLib_ReadWrite benchmark
Washi1337 Mar 10, 2022
2c95209
Fix NRT in AsmResolver base package.
Washi1337 Mar 10, 2022
fd0d7d6
Fix NRT in AsmResolver.PE.
Washi1337 Mar 10, 2022
39aacb0
Fix NRT in AsmResolver.DotNet.
Washi1337 Mar 10, 2022
4364eb9
Bump version in Directory.Build.props
Washi1337 Mar 10, 2022
1c77ed8
Merge pull request #266 from Washi1337/feature/other-net-targets
Washi1337 Mar 11, 2022
c5a61f6
Move langversion 10 into Directory.Build.props
Washi1337 Mar 11, 2022
4ac45c3
Merge pull request #262 from Washi1337/development
Washi1337 Mar 11, 2022
d0d2f5c
Use ConcurrentDictionary as backing cache for DefaultMetadataResolver
Mar 16, 2022
826e055
Add nested typedef import test.
Washi1337 Mar 17, 2022
5dc0123
BUGFIX: import resolution scope instead of module for typedefs.
Washi1337 Mar 17, 2022
f2d7bf6
Add typesig importer tests with non-imported embedded references.
Washi1337 Mar 17, 2022
94d5064
Add IImportable, let reference importer do more thorough checks on wh…
Washi1337 Mar 17, 2022
719e37f
Merge pull request #270 from SamboyCoding/development
Washi1337 Mar 17, 2022
78b3400
Add more type sig importing tests.
Washi1337 Mar 17, 2022
4e86ea3
BUGFIX: Let TypeSpecificationSignature.Module return the module of th…
Washi1337 Mar 17, 2022
49d34d1
BUGFIX: Let SignatureComparer.Equals implement comparisons for Functi…
Washi1337 Mar 17, 2022
1051ad2
Remove excessive null-forgiving operator.
Washi1337 Mar 18, 2022
217c0b3
Merge pull request #275 from Washi1337/issue/incorrect-imported-typed…
Washi1337 Mar 18, 2022
2ac4823
Merge branch 'development' into issue/thorough-type-sig-imported-check
Washi1337 Mar 18, 2022
275937d
Address merge conflicts.
Washi1337 Mar 18, 2022
2ac4251
Clarify remarks for IsImportedInModule.
Washi1337 Mar 18, 2022
b09801b
Add IImportable to IImplementation and derivatives.
Washi1337 Mar 18, 2022
d315add
Merge pull request #274 from Washi1337/issue/thorough-type-sig-import…
Washi1337 Mar 18, 2022
36dcd8b
Initial setup for .NET bundle manifests.
Washi1337 Mar 19, 2022
ed38bd6
Support for reading bundled file contents.
Washi1337 Mar 19, 2022
3de7eeb
use actual types for private readonly
ds5678 Mar 23, 2022
fb599dc
Merge pull request #278 from ds5678/feature/use_actual_types_for_priv…
Washi1337 Mar 23, 2022
095ac6b
Move Bundles into AsmResolver.DotNet.
Washi1337 Mar 23, 2022
3f19b44
Basic write support for bundles via apphost templates.
Washi1337 Mar 23, 2022
9f86ff2
Add compression/decompression capabilities.
Washi1337 Mar 23, 2022
7346b12
Add read benchmarks, improve FindInFile performance by reading blocks…
Washi1337 Mar 23, 2022
d9ab29d
Add xmldoc to bundle models.
Washi1337 Mar 23, 2022
e4df13d
Add convenience BundleFile constructors.
Washi1337 Mar 23, 2022
3035645
Add documentation on bundles API.
Washi1337 Mar 23, 2022
bbfdddb
redirect object base type when member cloning
ds5678 Mar 26, 2022
61a712d
use an instantiator for creating the reference importer
ds5678 Mar 27, 2022
4176cd8
Add PEFile.EofData.
Washi1337 Mar 28, 2022
56ec9aa
Read support EofData.
Washi1337 Mar 28, 2022
878fb58
EOF writer tests.
Washi1337 Mar 28, 2022
c24c6fa
Extract BundlerParameters from WriteUsingTemplate parameters. Update …
Washi1337 Mar 28, 2022
31c7081
BUGFIX: Update win32 resource data dir in final bundle PE file.
Washi1337 Mar 28, 2022
45e5d7d
Update API docs with descriptions of new BundlerParameters struct.
Washi1337 Mar 28, 2022
9872aac
Remove hardcoded paths in tests.
Washi1337 Mar 28, 2022
8d11620
Small typo fixes and removal of some compiler warnings.
Washi1337 Mar 28, 2022
45e96ce
check that object is in a cor lib assembly
ds5678 Mar 28, 2022
bc688fd
fix constructors for better binary compatibility
ds5678 Mar 28, 2022
7b8d92e
make line ending setting coorespond to code base line endings
ds5678 Mar 28, 2022
c0bfc45
add an ApplyMethod for PropertyDefinition and EventDefinition
ds5678 Mar 29, 2022
1b8f5f1
Merge pull request #280 from ds5678/Feature/RedirectObjectBaseTypeWhe…
Washi1337 Mar 30, 2022
5ca68c8
Merge pull request #285 from ds5678/Feature/CorrectLineEndingInEditor…
Washi1337 Mar 30, 2022
5166695
change name to SetSemanticMethods
ds5678 Mar 30, 2022
b5ac446
name changes and context property in the cloning reference importer
ds5678 Mar 30, 2022
11f2fe1
Prioritize app binary path verification over updating / rebuilding th…
Washi1337 Mar 30, 2022
59ead8c
Add deterministic bundle ID generation.
Washi1337 Mar 30, 2022
405c13d
Update docs on bundle ID generation.
Washi1337 Mar 30, 2022
415e207
Merge pull request #283 from ds5678/Feature/CustomReferenceImportersI…
Washi1337 Mar 30, 2022
c5545dc
Move EofData and ExtraSectionData into IPEFile interface.
Washi1337 Mar 30, 2022
2c0be49
Merge pull request #284 from Washi1337/feature/eof-data
Washi1337 Mar 30, 2022
2da80a3
allow net 6 assembly trimming
ds5678 Mar 30, 2022
28e8d23
Add clarifying remarks on BundleFile.IsCompressed and Compress().
Washi1337 Apr 2, 2022
3074a69
Merge pull request #286 from ds5678/Feature/ApplyMethodsForEventAndPr…
Washi1337 Apr 2, 2022
f87bb4b
Merge pull request #279 from Washi1337/feature/apphost-bundles
Washi1337 Apr 2, 2022
e35aa59
Bump version numbers.
Washi1337 Apr 2, 2022
03ec8b8
add json source generation for RuntimeConfiguration
ds5678 Apr 4, 2022
af40369
add annotations for DynamicMethodHelper
ds5678 Apr 4, 2022
891af44
Add discord server link.
Washi1337 Apr 7, 2022
32f8ae7
Surpress null warning on using Hash property after call TransformFina…
Washi1337 Apr 8, 2022
c5705b1
Merge pull request #287 from ds5678/Feature/AssemblyTrimming
Washi1337 Apr 9, 2022
788c6b3
Add check for apphost file existence.
Washi1337 Apr 9, 2022
fb3516a
BUGFIX: Do not include 'shared' in default UNIX dotnet installation p…
Washi1337 Apr 9, 2022
388a36e
Merge pull request #290 from Washi1337/development
Washi1337 Apr 9, 2022
661f0e4
Bump System.Text.Json from 6.0.2 to 6.0.3
dependabot[bot] Apr 13, 2022
5dae420
Merge pull request #296 from Washi1337/dependabot/nuget/development/S…
Washi1337 Apr 14, 2022
a9aef95
BUGFIX: Address race condition in LazyRidListRelation.Initialize
Washi1337 Apr 23, 2022
cfb4f82
Use array for _memberOwnerRids instead of dictionary.
Washi1337 Apr 23, 2022
e888e43
BUGFIX: MethodDefinition._name should be Utf8String not string.
Washi1337 Apr 23, 2022
46f4d09
Avoid boxing of metadata rowsin TablesStream.GetMemberRange
Washi1337 Apr 23, 2022
6dc944a
Merge pull request #300 from Washi1337/issue/collection-thread-safety
Washi1337 Apr 25, 2022
0ac259c
Remove unnecessary lambda.
Washi1337 Apr 28, 2022
9ea4737
Add ModuleDefinition.DefaultImporter.
Washi1337 Apr 28, 2022
f817113
Add CreateTypeReference and CreateMemberReference extension methods.
Washi1337 Apr 28, 2022
2e0eb05
Add IImportable.ImportWith.
Washi1337 Apr 28, 2022
337a030
Update docs on default importer.
Washi1337 May 1, 2022
c43f201
Extract default importer instantiation to protected virtual method.
Washi1337 May 1, 2022
365cd5a
Merge pull request #306 from Washi1337/feature/default-importer
Washi1337 May 3, 2022
b27b36b
Add NativeLocalSymbol.
Washi1337 May 5, 2022
a0989cd
Add failing instance field import test.
Washi1337 May 5, 2022
006107d
BUGFIX: Do not set HasThis in field signature when importing by Refle…
Washi1337 May 5, 2022
d7e11c8
Add relocs for 64-bit absolute addresses within native method bodies.
Washi1337 May 5, 2022
7f32b95
Add xmldoc for native local symbols, extract protected virtual method…
Washi1337 May 5, 2022
dbb1272
Update docs on new native local symbols API.
Washi1337 May 5, 2022
2d2ef3b
Bump version numbers in appveyor and Build.props.
Washi1337 May 5, 2022
1d1e098
Bump xunit.runner.visualstudio from 2.4.3 to 2.4.5
dependabot[bot] May 6, 2022
d1b28fe
Merge pull request #311 from Washi1337/dependabot/nuget/development/x…
dependabot[bot] May 6, 2022
ae14702
Update member signature ToString methods.
Washi1337 May 6, 2022
f836624
Merge pull request #308 from Washi1337/issue/307-bad-field-import-by-…
Washi1337 May 6, 2022
827e590
Warn for limited usage of NativeLocalSymbol in docs.
Washi1337 May 10, 2022
83320ab
Add NativeLocalSymbol.ToString()
Washi1337 May 10, 2022
11333ac
Merge pull request #310 from Washi1337/feature/native-body-symbols
Washi1337 May 10, 2022
74d0614
Overload ImportWith methods with more specific return type.
Washi1337 May 10, 2022
da448c6
Update docs on new fluent syntax.
Washi1337 May 10, 2022
b12957d
BUGFIX: MethodSignature.CreateXXX should set IsGeneric flag when prov…
Washi1337 May 10, 2022
bffed66
BUGFIX: Method.FullName should include generic parameters.
Washi1337 May 10, 2022
67ee807
Merge branch 'development' into feature/fluent-references
Washi1337 May 10, 2022
c352a55
Bump System.Text.Json from 6.0.3 to 6.0.4
dependabot[bot] May 11, 2022
97e08cc
Bump Microsoft.NET.Test.Sdk from 17.1.0 to 17.2.0
dependabot[bot] May 11, 2022
e858637
Fix typo in example code.
Washi1337 May 11, 2022
292e86d
Add nullable operators in importer tests.
Washi1337 May 11, 2022
6339d72
Merge pull request #312 from Washi1337/feature/fluent-references
Washi1337 May 11, 2022
cf98c84
Merge pull request #314 from Washi1337/dependabot/nuget/development/M…
dependabot[bot] May 11, 2022
a098aa1
Merge pull request #313 from Washi1337/dependabot/nuget/development/S…
dependabot[bot] May 11, 2022
bcfba6b
Merge pull request #315 from Washi1337/development
Washi1337 May 13, 2022
84a79bf
Add capacity constructor parameters and properties to LazyList and re…
Washi1337 May 18, 2022
808ccbc
Use initial number of elements as capacity in serialized metadata mem…
Washi1337 May 18, 2022
46f4326
Set capacities for several type and member signature collection prope…
Washi1337 May 18, 2022
78cd547
Add public setter to RefList.Capacity.
Washi1337 May 18, 2022
cc0fe34
Add IMetadataTableBuffer.EnsureCapacity and use it in the .net dir bu…
Washi1337 May 18, 2022
80f5b35
Rename RefList.EnsureEnoughCapacity to EnsureCapacity.
Washi1337 May 18, 2022
213a4d4
Add MemoryStreamWriterPool.
Washi1337 May 18, 2022
fab723d
Let blob stream buffer use a writer pool for serializing blob signatu…
Washi1337 May 18, 2022
abaeb6b
Let CilmethodBodySerializer use rented binary stream writers.
Washi1337 May 18, 2022
77bffdc
Update SignatureComparer.TypeDefOrRef.cs
May 20, 2022
9d3e031
Update
May 21, 2022
7a0db07
Signature Comparer Test
May 24, 2022
ce3f212
declaring type check
May 25, 2022
6379f09
Merge pull request #319 from Tabho/master
Washi1337 May 26, 2022
6721728
Update tests to include declaringtype tests.
Washi1337 May 26, 2022
7fbfa0f
BUGFIX: Only include chevrons in full name if method has type arguments.
Washi1337 May 26, 2022
7b6fa43
Update issue templates.
Washi1337 May 26, 2022
471bfb2
Bump version
Washi1337 May 26, 2022
b5d0ae3
Make RentedWriter a ref struct to avoid it being used outside of temp…
Washi1337 May 26, 2022
930ef22
Merge pull request #317 from Washi1337/feature/rentable-memory-stream…
Washi1337 May 26, 2022
036c408
Merge pull request #316 from Washi1337/feature/collection-capacities
Washi1337 May 26, 2022
007a106
Bump dev version to 5.0.0
Washi1337 May 26, 2022
7b41c96
Fix ExpandMacro.
N78750469 May 29, 2022
e095e55
Add DataSourceSlice.
Washi1337 Jun 14, 2022
0d86462
Add basic MSF 7.0 file read support.
Washi1337 Jun 14, 2022
a2d11f7
Make MsfFile.Streams an owned collection.
Washi1337 Jun 14, 2022
d708bf3
Add simple MSF reconstruction support.
Washi1337 Jun 14, 2022
63e85d6
Merge pull request #322 from N78750469/fix_expand
Washi1337 Jun 14, 2022
1098369
Enable nupkg generation for WindowsPdb project.
Washi1337 Jun 15, 2022
6c0eeb3
Inline some variables, clarify some docs and remove some redundant code.
Washi1337 Jun 15, 2022
3a7db2b
Merge pull request #324 from Washi1337/feature/msf-files
Washi1337 Jun 16, 2022
a4d1194
Change version to 5.0.0-beta.1
Washi1337 Jun 16, 2022
d30aa97
Shorten WindowsPdb to Pdb.
Washi1337 Jun 16, 2022
410b90d
Basic read support PDB info stream.
Washi1337 Jun 16, 2022
8e4de81
Add write support for pdb hash tables and info stream.
Washi1337 Jun 18, 2022
8375199
Add BinaryStreamReader.ReadBytesUntil overload that can strip off the…
Washi1337 Jun 18, 2022
bc5ce14
Add basic read support for DBI stream header.
Washi1337 Jun 18, 2022
3ef199a
Add read support for dbi module descriptors.
Washi1337 Jun 18, 2022
09d5166
Add read support section contributions to DBI header.
Washi1337 Jun 19, 2022
f982803
Add read support section mappings in DBI stream.
Washi1337 Jun 19, 2022
3573e63
Add basic read support for typeservermap substream.
Washi1337 Jun 21, 2022
0f6032c
Add basic read support for ec substream.
Washi1337 Jun 21, 2022
fea51df
Add read support for source file collections.
Washi1337 Jun 21, 2022
5f700ac
Add read support extra dbg stream indices.
Washi1337 Jun 21, 2022
6f169b5
Add write support for DBI stream.
Washi1337 Jun 24, 2022
d510ec9
Add BinaryStreamReader.ReadUtf8String
Washi1337 Jun 24, 2022
e4ef4c1
Explode DbiStream.BuildNumber into major, minor and newfileformat ver…
Washi1337 Jun 24, 2022
c7039c5
BUGFIX: Include pdb hash table and feature codes in size computation …
Washi1337 Jun 25, 2022
e871718
Use for loop to avoid heap allocated enumerator.
Washi1337 Jun 25, 2022
a774186
Merge pull request #326 from Washi1337/feature/pdb-meta-streams
Washi1337 Jun 25, 2022
3aa01a9
Add unusual typeref order test.
Washi1337 Jul 8, 2022
c73a427
Naive implementation of MetadataTableBuffer.Insert.
Washi1337 Jul 8, 2022
f60f298
Optimize availability boolean list using bitlists.
Washi1337 Jul 8, 2022
5542366
Add member resolution to older .NET version test.
Washi1337 Jul 9, 2022
57b0cb5
BUGFIX: Disable exact assembly version match in signature comparisons…
Washi1337 Jul 9, 2022
1948c5d
Merge branch 'master' into hotfix/md-resolution-version-check
Washi1337 Jul 9, 2022
c052097
Fix merge conflict once again. git please git gud.
Washi1337 Jul 9, 2022
9b51059
Merge pull request #330 from Washi1337/hotfix/preserve-order-nested-t…
Washi1337 Jul 9, 2022
de84e0e
Merge pull request #331 from Washi1337/hotfix/md-resolution-version-c…
Washi1337 Jul 9, 2022
b43b84a
Normalize newlines in json test.
Washi1337 Jul 9, 2022
37e8dde
Skip native method body test on non-windows platforms.
Washi1337 Jul 9, 2022
5954241
List main features of AsmResolver in readme.
Washi1337 Jul 9, 2022
e2d65b5
Version bump to v4.11.2
Washi1337 Jul 9, 2022
09103b2
Merge branch 'master' into development
Washi1337 Jul 9, 2022
f90b465
Merge remote-tracking branch 'Washi1337/development' into feature/wor…
JPaja Aug 7, 2022
e867579
Fix: Missing analyzers
JPaja Aug 7, 2022
b825b7c
Fix: Generic parameter constraint check
JPaja Aug 7, 2022
d2d3d62
Add: GenericInstanceMethodSignatureAnalyzer
JPaja Aug 7, 2022
57d5f68
Fix: GenericInstanceMethodSignatureAnalyzer
JPaja Aug 7, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

[*]
charset = utf-8
end_of_line = lf
end_of_line = crlf
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
Expand Down
27 changes: 0 additions & 27 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

61 changes: 61 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Bug Report
description: File a bug or crash report
labels: ["bug"]
body:
- type: input
id: asmresolver_version
attributes:
label: AsmResolver Version
placeholder: 4.11.0
validations:
required: true
- type: input
id: dotnet_version
attributes:
label: .NET Version
placeholder: .NET 6.0
- type: dropdown
attributes:
label: Operating System
options:
- Windows
- Linux
- MacOS
- Other
validations:
required: true
- type: textarea
id: description
attributes:
label: Describe the Bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: how_to_reproduce
attributes:
label: How To Reproduce
description: The steps on how to reproduce the bug. Preferably with sample code and/or sample input files.
validations:
required: true
- type: textarea
id: expected_behavior
attributes:
label: Expected Behavior
description: Describe the result that you expect to get after performing the steps.
validations:
required: true
- type: textarea
id: actual_behavior
attributes:
label: Actual Behavior
description: Describe the actual behavior that you observed after performing the steps.
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional Context
description: Any other information that may help us fix the issue goes here.
validations:
required: false
20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Feature Request
description: Suggest a new feature
labels: ["enhancement"]
body:
- type: textarea
id: description
attributes:
label: Problem Description
description: A clear and concise description of what the problem is.
placeholder: |
Example: "I'm always frustrated when [...]", or "I often need to [...]"
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposal
description: |
A clear and concise description of what you want to happen. You can be relatively open-ended, but including
syntax suggestions or pseudo code is appreciated as it may help conveying your idea.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
- type: textarea
id: context
attributes:
label: Additional Context
description: Add any other context or screenshots about the feature request here.
validations:
required: false
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/other.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: Other
description: Something else?
body:
- type: textarea
id: description
attributes:
label: Description
description: Please describe your issue.
20 changes: 20 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "nuget" # See documentation for possible values
target-branch: "development"
directory: "/" # Location of package manifests
schedule:
interval: "daily"

- package-ecosystem: "github-actions"
target-branch: "development"
# Workflow files stored in the
# default location of `.github/workflows`
directory: "/"
schedule:
interval: "daily"
45 changes: 43 additions & 2 deletions AsmResolver.sln
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,24 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TlsTest", "test\TestBinarie
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CallManagedExport", "test\TestBinaries\Native\CallManagedExport\CallManagedExport.vcxproj", "{40483E28-C703-4933-BA5B-9512EF6E6A21}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "HelloWorldVB", "test\TestBinaries\DotNet\HelloWorldVB\HelloWorldVB.vbproj", "{CF6A7E02-37DC-4963-AC14-76D74ADCD87A}"
Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "HelloWorldVB", "test\TestBinaries\DotNet\HelloWorldVB\HelloWorldVB.vbproj", "{CF6A7E02-37DC-4963-AC14-76D74ADCD87A}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ClassLibraryVB", "test\TestBinaries\DotNet\ClassLibraryVB\ClassLibraryVB.vbproj", "{2D1DF5DA-7367-4490-B3F0-B996348E150B}"
Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "ClassLibraryVB", "test\TestBinaries\DotNet\ClassLibraryVB\ClassLibraryVB.vbproj", "{2D1DF5DA-7367-4490-B3F0-B996348E150B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{66C7E95F-0C1A-466E-988A-C84D5542458B}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
.gitignore = .gitignore
CONTRIBUTING.md = CONTRIBUTING.md
LICENSE.md = LICENSE.md
README.md = README.md
Directory.Build.props = Directory.Build.props
appveyor.yml = appveyor.yml
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AsmResolver.Symbols.Pdb", "src\AsmResolver.Symbols.Pdb\AsmResolver.Symbols.Pdb.csproj", "{9E311832-D0F2-42CA-84DD-9A91B88F0287}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AsmResolver.Symbols.Pdb.Tests", "test\AsmResolver.Symbols.Pdb.Tests\AsmResolver.Symbols.Pdb.Tests.csproj", "{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -483,6 +498,30 @@ Global
{2D1DF5DA-7367-4490-B3F0-B996348E150B}.Release|x64.Build.0 = Release|Any CPU
{2D1DF5DA-7367-4490-B3F0-B996348E150B}.Release|x86.ActiveCfg = Release|Any CPU
{2D1DF5DA-7367-4490-B3F0-B996348E150B}.Release|x86.Build.0 = Release|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Debug|x64.ActiveCfg = Debug|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Debug|x64.Build.0 = Debug|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Debug|x86.ActiveCfg = Debug|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Debug|x86.Build.0 = Debug|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Release|Any CPU.Build.0 = Release|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Release|x64.ActiveCfg = Release|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Release|x64.Build.0 = Release|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Release|x86.ActiveCfg = Release|Any CPU
{9E311832-D0F2-42CA-84DD-9A91B88F0287}.Release|x86.Build.0 = Release|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Debug|x64.ActiveCfg = Debug|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Debug|x64.Build.0 = Debug|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Debug|x86.ActiveCfg = Debug|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Debug|x86.Build.0 = Debug|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Release|Any CPU.Build.0 = Release|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Release|x64.ActiveCfg = Release|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Release|x64.Build.0 = Release|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Release|x86.ActiveCfg = Release|Any CPU
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -525,6 +564,8 @@ Global
{40483E28-C703-4933-BA5B-9512EF6E6A21} = {EA971BB0-94BA-44DB-B16C-212D2DB27E17}
{CF6A7E02-37DC-4963-AC14-76D74ADCD87A} = {B3AF102B-ABE1-41B2-AE48-C40702F45AB0}
{2D1DF5DA-7367-4490-B3F0-B996348E150B} = {B3AF102B-ABE1-41B2-AE48-C40702F45AB0}
{9E311832-D0F2-42CA-84DD-9A91B88F0287} = {34A95168-A162-4F6A-803B-B6F221FE9EA6}
{AAD604B6-ABE5-4DBC-A2D9-4EF8E815B2EE} = {786C1732-8C96-45DD-97BB-639C9AA7F45B}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3302AC79-6D23-4E7D-8C5F-C0C7261044D0}
Expand Down
6 changes: 3 additions & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<Project>

<PropertyGroup>
<Copyright>Copyright © Washi 2016-2021</Copyright>
<Copyright>Copyright © Washi 2016-2022</Copyright>
<PackageProjectUrl>https://github.com/Washi1337/AsmResolver</PackageProjectUrl>
<PackageLicense>https://github.com/Washi1337/AsmResolver/LICENSE.md</PackageLicense>
<RepositoryUrl>https://github.com/Washi1337/AsmResolver</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<LangVersion>9</LangVersion>
<Version>4.8.0</Version>
<LangVersion>10</LangVersion>
<Version>5.0.0-beta.1</Version>
</PropertyGroup>

</Project>
77 changes: 54 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,54 @@
AsmResolver
===========
# AsmResolver

[![Master branch build status](https://img.shields.io/appveyor/ci/Washi1337/AsmResolver/master.svg)](https://ci.appveyor.com/project/Washi1337/asmresolver/branch/master) [![Nuget feed](https://img.shields.io/nuget/v/AsmResolver.svg)](https://www.nuget.org/packages/AsmResolver/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Documentation Status](https://readthedocs.org/projects/asmresolver/badge/?version=latest)](https://asmresolver.readthedocs.io/en/latest/?badge=latest)
[![Master branch build status](https://img.shields.io/appveyor/ci/Washi1337/AsmResolver/master.svg)](https://ci.appveyor.com/project/Washi1337/asmresolver/branch/master)
[![Nuget feed](https://img.shields.io/nuget/v/AsmResolver.svg)](https://www.nuget.org/packages/AsmResolver/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Documentation Status](https://readthedocs.org/projects/asmresolver/badge/?version=latest)](https://asmresolver.readthedocs.io/en/latest/?badge=latest)
[![Discord](https://img.shields.io/discord/961647807591243796.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/Y7DTBkbhJJ)

AsmResolver is a PE inspection library allowing .NET programmers to read, modify and write executable files. This includes .NET as well as native images. The library exposes high-level representations of the PE, while still allowing the user to access low-level structures.

AsmResolver is released under the MIT license.


Binaries
--------
## Features

AsmResolver has a lot of features. Below a non-exhaustive list:

- [x] Create, read and write PE files
- [x] Inspect and update PE headers.
- [x] Create, read and write sections.
- [x] Create, read and write various data directories
- [x] Debug Directory (CodeView)
- [x] .NET Directory
- [x] CIL assembler and disassemblers
- [x] Metadata Directory (tables, strings, user-strings, blobs, GUIDs)
- [x] Resources Directory
- [x] Strong Name Signing
- [x] VTable Fixup Directory
- [x] Exception Directory (AMD64)
- [x] Export Directory
- [x] Import Directory
- [x] Base Relocation Directory
- [x] TLS Directory
- [x] Win32 Resources Directory
- [x] Fully mutable object model for .NET modules that is similar to System.Reflection
- [x] Strong type-system with many useful factory methods for quickly constructing new metadata.
- [x] Full metadata importing and cloning (useful for injecting metadata into another assembly)
- [x] .NET Framework 2.0+, .NET Core and .NET 5+ binary file support.
- [x] Infer memory layout of types statically.
- [x] Create, read and write managed resource sets (`.resources` files)
- [x] Create new method bodies containing native code.
- [x] Highly configurable reader and writer options and custom error handling for both.
- [x] Rich support for AppHost and SingleFileHost bundled files.


## Documentation

Check out the [wiki](https://asmresolver.readthedocs.org/) for guides and information on how to use the library.


## Binaries

Stable builds:

Expand All @@ -26,13 +65,7 @@ Nightly builds:
| development | [![Development branch build status](https://img.shields.io/appveyor/ci/Washi1337/AsmResolver/development.svg)](https://ci.appveyor.com/project/Washi1337/asmresolver/branch/development)


Documentation
-------------
Check out the [wiki](https://asmresolver.readthedocs.org/) for guides and information on how to use the library.


Compiling
---------
## Compiling

The solution can be build using the .NET SDK or an IDE that works with the .NET SDK (such as Visual Studio and JetBrains Rider). The main packages target .NET Standard 2.0, and the xUnit test projects target .NET Core 3.1.

Expand All @@ -47,25 +80,23 @@ To run all tests, simply run:
$ dotnet test
```

## Contributing

Contributing
------------
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on general workflow and code style.


Acknowledgements
----------------
## Found a bug or have questions?

AsmResolver started out as a hobby project, but has grown into a community project with various contributors. Without these people, AsmResolver would not have been where it is today!
Please use the [issue tracker](https://github.com/Washi1337/AsmResolver/issues). Try to be as descriptive as possible.

- Special thanks to all the people who contributed [directly with code commits](https://github.com/Washi1337/AsmResolver/graphs/contributors).
You can also join the [Discord](https://discord.gg/Y7DTBkbhJJ) to engage more directly with the community.

- Another big thank you to all the people that suggested new features, provided feedback on the API design, have done extensive testing, and/or reported bugs on the [issue board](https://github.com/Washi1337/AsmResolver/issues), by e-mail, or through DMs.
## Acknowledgements

If you feel you have been under-represented in these acknowledgements, feel free to contact me.
AsmResolver started out as a hobby project, but has grown into a community project with various contributors. Without these people, AsmResolver would not have been where it is today!

- Special thanks to all the people who contributed [directly with code commits](https://github.com/Washi1337/AsmResolver/graphs/contributors).

Found a bug or have questions?
------------------------------
Please use the [issue tracker](https://github.com/Washi1337/AsmResolver/issues). Try to be as descriptive as possible.
- Another big thank you to all the people that suggested new features, provided feedback on the API design, have done extensive testing, and/or reported bugs on the [issue board](https://github.com/Washi1337/AsmResolver/issues), by e-mail, or through DMs.

If you feel you have been under-represented in these acknowledgements, feel free to contact me.