You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+11-11
Original file line number
Diff line number
Diff line change
@@ -8,14 +8,14 @@
8
8
[](https://gitter.im/dnpatch/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
9
9
10
10
## What is dnpatch?
11
-
dnpatch is the ultimate library for all your .NET patching needs. It offers automated assembly patching, signature scanning and last but but not least bypassing of obfuscators by it's ability to find methods in renamed/obfuscated types. Since the stars on GitHub exploded in a few days, dnpatch has been extended by a couple of projects. The most important one is dnpatch.deobfuscation which integrates de4dot directly into dnpatch. Also there is dnpatch.script, which gives you the ability to write patchers with pure JSON!
12
-
The library itself, uses dnlib (see next part).
11
+
dnpatch is the ultimate library for all your .NET patching needs. It offers automated assembly patching, signature scanning and last but but not least bypassing of obfuscators by its ability to find methods in renamed/obfuscated types. Since the stars on GitHub exploded in a few days, dnpatch has been extended by a couple of projects. The most important one is dnpatch.deobfuscation which integrates de4dot directly into dnpatch. Also there is dnpatch.script, which gives you the ability to write patchers with pure JSON!
12
+
The library itself uses dnlib (see next part).
13
13
14
14
## Notes
15
-
Since dnpatch uses dnlib, it is highly recommended to use dnSpy to analyze your assemblies first, so it is guaranteed that you will use the correct names, offsets, etc, because it does use dnlib aswell.
15
+
Since dnpatch uses dnlib, it is highly recommended to use dnSpy to analyze your assemblies first, to ensure that you use the correct names, offsets, etc, because it uses dnlib aswell.
16
16
17
17
## Recommendations
18
-
It is highly recommended to calculate the position of instructions instead of defining indexes, to ensure that the patcher will still work after assembly updates.
18
+
It is highly recommended that you calculate the instruction's index instead of defining it, to improve the likelihood of compatibility with future updates.
19
19
20
20
## Patching
21
21
The constructor takes the filename of the assembly.
@@ -28,7 +28,7 @@ Patcher patcher = new Patcher("Test.exe", true);
28
28
```
29
29
30
30
### Targeting Methods
31
-
All methods take an object called Target as argument. The object is defined as follows:
31
+
All methods take an object called Target as an argument. The object is defined as follows:
Let's say there are multiple identical instructions. What now, baoss? Well, it's simple. There's an overload that takes and int which is the occurence of the instruction which you'd like to find.
155
+
Let's say there are multiple identical instructions. What now, baoss? Well, it's simple. There's an overload that takes an int which is the occurence of the instruction which you'd like to find.
Both ways return an Target[] which contains all targets pointing to the findings.
295
295
296
296
#### Find instructions in methods or classes
297
-
If you want to find the instructions and you know the class and optionally the method you can let this method return a Target[] with the pathes and indexes.
297
+
If you want to find the instructions and you know the class (and optionally the method), you can let this method return a Target[] with the pathes and indexes.
0 commit comments