The next thing we should do is PUSH the loading effect data on the stack (we replaced it with a JMP to Codecave #1), otherwise the application would crash.
Then we have to JMP to the offset after the offset where loading effect data was.
Loading effect data offset: 0047C061.
Offset we should jump to: 0047C066.
It would be foolish to jump to the first offset, then it would keep loading the dll all the time >.<.
The third Codecave is located at 006962E2.
Press CTRL+G type in 006962E2 and press enter.
Codecave #3
~ PUSH loading effect data on the stack and resume the application.- 006962E2 68 18476D00 PUSH Play_RCK.006D4718
- 006962E7 ^E9 7A5DDEFF JMP Play_RCK.0047C066
复制代码 That's about it, now the exe will load your DLL once it loads the effect data, this isn't a good place to load a dll but i'm sure there are alot more. Make sure that you carefully choose the location of the JMP, we dont want the dll to get loaded multiple times.
About the guide:
There could be some flaws in here and please do correct me, spend some time writing this guide, say thanks if your going to follow it.
The orginal article address:http://snoxd.net/index.php?/topic/59471-asm-loading-a-dll/ |