Skip to content

Commit 72a7cb1

Browse files
committed
Add README
1 parent 607e1bc commit 72a7cb1

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

README.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
2+
# Jomtek's Universal Proxy-Remover
3+
![enter image description here](https://i.imgur.com/e5L9Txf.png)
4+
5+
Unfortunately, at the moment, this proxy fixer can only fix proxies which return literal values.
6+
For example, this proxy won't get fixed :
7+
8+
static int myProxy() {
9+
return 1 + 1;
10+
}
11+
12+
But I'm doing my best to update it asap :)
13+
14+
# What is a proxy ?
15+
When we're talking about IL code and .NET reverse engineering, a "proxy" is an intermediate method to a value.
16+
Quick example
17+
18+
static void main(string[] args) {
19+
Console.WriteLine(myProxy());
20+
}
21+
22+
static int myProxy() {
23+
return "hello!;
24+
}
25+
26+
27+
As you can see, proxies can make values harder to read. Now imagine this applied to thousands of values, submersed in thousands of lines of code...
28+
29+
# Proxy depth
30+
Obviously, proxies can call other proxies, which will then call other proxies... That's why I added a "depth" setting on this proxy remover. Quick example of a depth 2 proxified code.
31+
32+
static void main(string[] args) {
33+
Console.WriteLine(myProxy());
34+
}
35+
36+
static int myProxy() {
37+
return anotherProxy();
38+
}
39+
40+
static int anotherProxy() {
41+
return "hello!";
42+
}
43+
44+
<br>Result after proxy removal :
45+
46+
static void main(string[] args) {
47+
Console.WriteLine("hello!");
48+
}
49+
50+
# Credits
51+
Special thanks to
52+
- the NetShields Obfuscator community
53+
- [0x4d4](https://github.com/0xd4d) (dnlib's inventor)
54+
- [Mindsystemm](https://github.com/MindSystemm) (a nice friend of mine)

0 commit comments

Comments
 (0)