Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version

.NET CLR Injection: Modify IL Code during Run-time

, 13 Oct 2012
Modify methods' IL codes on runtime even if they have been JIT-compiled, supports release mode / x64 & x86, and variants of .NET versions, from 2.0 to 4.5.
Prize winner in Competition "Best C# article of September 2012"
binaries_demo_20121030.zip
x64
dbg64.dll
dbgeng.dll
srcsrv.dll
SymbolCheck.dll
symchk.exe
symsrv.dll
symsrv.yes
x86
dbg32.dll
dbgeng.dll
srcsrv.dll
SymbolCheck.dll
symchk.exe
symsrv.dll
symsrv.yes
binaries_demo_20121105.zip
dbg64.dll
dbgeng.dll
srcsrv.dll
SymbolCheck.dll
symchk.exe
symsrv.dll
symsrv.yes
dbg32.dll
dbgeng.dll
srcsrv.dll
SymbolCheck.dll
symchk.exe
symsrv.dll
symsrv.yes
source_code_20121030.zip
bin
EasyHook32.dll
EasyHook64.dll
Injection32.dll
Injection64.dll
Test_x64_DotNet20_Release.exe
Test_x64_DotNet35_Release.exe
Test_x64_DotNet40_Release.exe
Test_x64_DotNet45_Release.exe
Test_x86_DotNet20_Release.exe
Test_x86_DotNet35_Release.exe
Test_x86_DotNet40_Release.exe
Test_x86_DotNet45_Release.exe
x64
dbg64.dll
dbgeng.dll
srcsrv.dll
SymbolCheck.dll
symchk.exe
symsrv.dll
symsrv.yes
x86
dbg32.dll
dbgeng.dll
srcsrv.dll
SymbolCheck.dll
symchk.exe
symsrv.dll
symsrv.yes
Demo
DotNet20
Properties
Settings.settings
DotNet20_x64
Properties
Settings.settings
DotNet35
Properties
Settings.settings
DotNet35_x64
Properties
Settings.settings
DotNet40
Properties
Settings.settings
DotNet40_x64
Properties
Settings.settings
DotNet45
bin
x64
Release
obj
x64
Release
TempPE
x86
Release
TempPE
Properties
Settings.settings
DotNet45_x64
obj
x64
Release
TempPE
x86
Release
TempPE
Properties
Settings.settings
inc
Injection
Injection.aps
Injection.def
Injection.vcxproj.user
Injection_VS2010.vcxproj.filters
Injection_VS2010.vcxproj.user
res
004D1D9A6FA07E489B4A58736BCBD2AF
01A2B1CAA27F9ACA9F256DAC6C11E493
102A78CB6405B22FF019ED8465C14B1F
1A7C5BC4840374B11698A414FE04A6EE
1BC333D76444B51B01A74B7447ADBC9E
1BD5FD7082BB348F9FAF493B6DF6E3BF
1C88CF5977C016A37BFAC1178DAA7822
215CE077258CEDD5BE4C56E9D614DB9F
26B04A48905D01AB93E62B8C6913793E
34460D340829C7AAF75385AF1F626307
371F93342A4BBA90CDB2E93F84C025DE
3ABB7ADB9CCBCD24D6C55201A3842A94
42A5549F92DD52A1F75470E4A38B5A49
44A38DA547FBFEB2F2B3D480728805DE
4552F8F61A7975C2359D19673483604D
59D16FD61802739988728790BF1232B3
5DA46042E4E8FAE64F30213530137002
75BCC4043512E41D83C8F224B168039C
781BF72F57CC9E5F85CB109C24D00FDC
79E8025D1F2B0F8691C222DAC135D26E
7F701A5B3B7A7A2F962C01434360F5C5
836B8F87DC42AD95D4FE95BD1E374DF2
88565B7C81145709F919AB75EAE004B6
89BAB052AB7A36EC05D8E8DB79115B1D
951500AD4685B89423AB52665CADF653
96076B8FCDFF3C6DB4CCFBF7FE3A9B28
A05C0003E8D7CEA359A439690554F8BB
A4ED0EF4828C874B45896018E523CDE6
A696FF8482F1F23C6C883116FD0C417D
AD6B6C89CC0A53338E000CC887610D71
AF2D82D297609DF60469BFAE48645762
B00FFB4355B1364656FB52CFF88199DE
B155251C48DEAB9492F91B32DACE2576
B560A085EED4D5D72B039929F9AE4991
BE25FA9D4F2E989CC07A869EB0C9EB8E
BE7DFCC43C5A2C214B50165F933559A6
C0775067EF2564BEF11FCB09ECE1A3B2
CF96AE49A34CE525D735A2666FF53CD6
D146C378AEC2D1570A4E4F81E2B621B3
DC42EA5012610F559F4A433BD4AA399C
E4A1EF32903C4CC840121F4F5027FF0A
EA8332A740B8737C4C473C889C86DCB2
EE3C31EAD84019600DD65D3E8A3E9744
EF5B2B3E4C0EA504A49C34D826319221
F43F70AF86B02890FCF95ED91EA373BB
F64FD5C7FEF7FC25CBA37974FF3584D7
lib
EasyHook32.lib
EasyHook32_Static_VS2010.lib
EasyHook32_Static_VS2012.lib
EasyHook64.lib
EasyHook64_Static_VS2010.lib
EasyHook64_Static_VS2012.lib
source_code_20121105.zip
EasyHook32.dll
EasyHook64.dll
Injection32.dll
Injection64.dll
Test_x64_DotNet20_Release.exe
Test_x64_DotNet35_Release.exe
Test_x64_DotNet40_Release.exe
Test_x64_DotNet45_Release.exe
Test_x86_DotNet20_Release.exe
Test_x86_DotNet35_Release.exe
Test_x86_DotNet40_Release.exe
Test_x86_DotNet45_Release.exe
dbg64.dll
dbgeng.dll
srcsrv.dll
SymbolCheck.dll
symchk.exe
symsrv.dll
symsrv.yes
dbg32.dll
dbgeng.dll
srcsrv.dll
SymbolCheck.dll
symchk.exe
symsrv.dll
symsrv.yes
Settings.settings
Settings.settings
Settings.settings
Settings.settings
Settings.settings
Settings.settings
Settings.settings
Settings.settings
Injection.aps
Injection.def
Injection.vcxproj.user
Injection_VS2010.vcxproj.filters
Injection_VS2010.vcxproj.user
EasyHook32.lib
EasyHook64.lib

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Jerry.Wang
Team Leader
China China
Jerry is from China. He was captivated by computer programming since 13 years old when first time played with Q-Basic.
 

  • Windows / Linux & C++
  • iOS & Obj-C
  • .Net & C#
  • Flex/Flash & ActionScript
  • PHP / HTML / CSS / Javascript
  • Gaming Server programming / video, audio processing / image & graphics
 
Contact: 32775973(at)qq.com
Chinese Blog: http://blog.csdn.net/wangjia184

| Advertise | Privacy | Mobile
Web01 | 2.8.140718.1 | Last Updated 13 Oct 2012
Article Copyright 2012 by Jerry.Wang
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid