Click here to Skip to main content
15,889,034 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
Hi, first time posting here...

Basically, I have an university project... I have an idea to creates an universal dll library to encrypt a connection packet between two different programs... Since my lecturer prefers so that it can be used in as many program as possible, I can't simply embed this code into any program source, since most of the program nowadays is closed-source...

After many google searching, I realized that most windows-based network programs utilizes socket windows dll (WS2_32.DLL)... From this, I have an idea (Eureka!)...

I have tried this:
a. open any executable program using hex program... Search for a WS2_32.dll and replace it to encryp.dll... In most cases the string can be found if that program uses WS2_32.dll...
b. copy original WS2_32.dll from your system32 folder and paste it in the same path as the executable program, and rename it to encryp.dll... Now the program uses encryp.dll instead of WS2_32.dll...

So in summary, I have a goal to create a dll library that:
1. basically acts as an send/receive encryption proxy between a program (which has been injected by this library) and WS2_32.dll... This library must have a function and behaves like WS2_32.dll so an injected program will not force close... This way, if I uses the same dll library in both client and server, it can serves an encrypted connection between them (especially if I rephrase the encrypt key in library source code)...

2. will close itself if this library found that it's being loaded from a blacklisted executables or from other than whitelisted executables... Blacklist/whitelist is listed in source code... That's because if any program can use this library, it would kill the purpose of security goals of this project (for example, create a packet dump program and just use this library)... And I hope we're not using something like GetProcessName(), because any program can be renamed (maybe internal names?)

3. when being loaded by legal program, if it founds any blacklisted executable/library, it will close itself and also the legal program... Same purposes as above...

4. preferred to be coded using C/C++ without any .NET framework or VCRedist dependencies, because one of the goal of this program is that it can be used in many environments as possible... For example, it can be opened in bare WindowsXP without .NET or VCRedist installed... But now I only have Visual C++ 2010, is that possible to do it? Or can you point me to another compiler program (like VC6? TurboC?)?

Last but not least, thank you for your attention, really appreciate it :)
Posted

1 solution

But now I only have Visual C++ 2010, is that possible to do it?

Yes, VC++ 2010 Express can do everything that you need in C++. The only bits missing are the resource editors, so you have to create your resources by hand or with freeware.
 
Share this answer
 

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900