|
Hi Expert
i am using VS 2005 and Making Some .dll File but i see that their are
some tool like .net reflector like to decomplied the .dll file
code is their any way to prevent to decomplied my .NET Dll.
|
|
|
|
|
Use a tool like a Dotfuscator[^].
Unfortunately, such tools dont very often prevent assemblies from getting decompiled.
They just make the decompiled code harder to read.
|
|
|
|
|
The short answer is no. If someone wants to decompile it they will.
You could use an obfusticator to make it less readable, but that would not stop them being able to decompile it.
So the long answer is also no.
Regards
David R
---------------------------------------------------------------
"Every program eventually becomes rococo, and then rubble." - Alan Perlis
The only valid measurement of code quality: WTFs/minute.
|
|
|
|
|
By design .NET embeds rich Meta data inside the executable code using MSIL. Anyone can easily decompile your DLL back using tools like ILDASM (owned by Microsoft) or Reflector for.NET which is a third party. Secondly there are many third party tools which make this decompiling process a click away. So any one can easily look in to your assemblies and reverse engineer them back in to actual source code and understand some real good logic which can make it easy to crack your application.
The process by which you can stop this reverse engineering is using “obfuscation”. It’s a technique which will foil the de compilers. There are many third parties (XenoCode, Demeanor for .NET) which provide .NET obfuscation solution. Microsoft includes one that is Dotfuscator Community Edition with Visual Studio.NET
lklklhjsdg
|
|
|
|
|
Anyone know what I can do about this.
I'm getting a user DirectoryEntry, modifying an attribute value, then committing the changes, and closing the entry, but on subsequent calls (re-get user directory->get attribute value), the value is the original... until about 10-15 seconds later.
I've tried using the RefreshCache method, and the UsePropertyCache property on the DirectoryEntry, but nothing seems to work. I don't understand why the value isn't set immediately (this is a dev ADAM server w/ virtually no load, it shouldn't be a performance issue).
Setting:
using ( DirectoryEntry entry = FindUserDirectoryEntry( username ) ) {
if ( entry != null ) {
if ( entry.Properties.Contains( attributeName ) ) {
entry.Properties[attributeName].Value = value;
} else if ( value.IsEmpty() == false ) {
entry.Properties[attributeName].Add( value );
}
entry.CommitChanges();
entry.Close();
}
}
Getting:
DirectoryEntry entry = this.ADAMProvider.GetUserDirectoryEntry( userName );
if ( entry != null ) {
if ( entry.Properties.Contains( attributeName ) ) {
entry.RefreshCache(attributeName);
value = entry.Properties[attributeName].Value.SafeToString();
}
entry.Close();
}
|
|
|
|
|
Ok... nvm... found my own answer. Turns out that I have to set the CacheResults on the DirectorySearcher (that finds my DirectoryEntry) to false. Now everything works immediately!
|
|
|
|
|
|
If you don't want to display a login for the user you have to disable anonymous access in IIS and then require AD. This will require your users to use IE or type in a user name and password. Then in the Global.aspx in the Authenticate event add your custom Principal which should override the Windows Principal. There are many articles online.
|
|
|
|
|
|
I always load the roles from the database on every call instead of storing it in Session.
|
|
|
|
|
|
The proper way to handle this is to create an Authentication Provider and use the web.config to configure app to use it.
http://msdn.microsoft.com/en-us/library/907hb5w9.aspx[^]
Also, this should have been posted to the ASP.NET forum since it clear deals with ASP.NET specifically and not C# in general
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
You probably already know this, but (just in case) you can add authorization in Web.Config also...
<authentication mode="Windows"/>
<identity impersonate="true"/>
<authorization>
<allow users="SomeDomain\SomeUserName"/>
<deny users="*"/>
</authorization>
|
|
|
|
|
dear Timothy CIAN /Ennis Ray Lynch,
I cannot add 500 domain\user name in webconfig..
i had a table that has columns
FName EMPID UserID
Tarun 1 domain\tarun
I am creating a intranet web application
1) requirement i used not be displayed the login form. they should be view my webapplication
2) if there are 1000 employees and only 10 employee information is stored in the database then only 10 employeessy should be able to browse the application. rest should not be
3) requirement. if the user browse the application or pages .. i should be able to store some information like userid in session or in whatever.. so that i should not hot the database again and again to check whether he is valid user or not.
4) so i thought of creating a generic class or global.asax.
5). all the article i saw were using cookies and forms authentication(is this the only way.. i mean i dont want to use cookies)
|
|
|
|
|
please do not remove messages, it is against the forum guidelines.
|
|
|
|
|
READ THE DAMN GUIDELINES
Do not remove or empty a message if others have replied.
What part of this is not getting through to you?
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
hi, I'm able to close all processes including IE but I can not close the file explorer windows. They are not process I think because I can't see them among the processes. Any clue welcomed, thanks
|
|
|
|
|
Found this somewhere - you can probably try it out.
I don't know if this will work though.
int myHandle;<br />
while ((myHandle = Win32.FindWindow("ExploreWClass", null)) > 0)<br />
{<br />
Win32.SendMessage(myHandle, Win32.WM_SYSCOMMAND, Win32.SC_CLOSE, 0);<br />
}
Quidquid latine dictum sit, altum videtur.
Whatever is said in Latin sounds profound.
|
|
|
|
|
thanks, I've seen and tried that but even though I can find the Win32 namespace, FindWindow() method is absent.
|
|
|
|
|
Then you should pinvoke FindWindow and SendMessage - those should be on www.pinvoke.net with examples of how to use them.
|
|
|
|
|
Like most P/Invoke examples on the net, that one won't work on 64-bit Windows. The return type of FindWindow[^] is HWND, which must be represented as IntPtr in .NET. Using int for HWND will truncate the handle's value if you're lucky; and if you're unlucky it will mess up stack alignment and cause your program to crash in an unrelated location some time later.
|
|
|
|
|
Hi
I'm creating a desktop application that will act as a portal to various other services. One of these services include GMail. How can I implement Single Sign On so that users can log in to the portal and access their email straight from there without loggin in again? I know that I have to use Google's implementation of OAuth to achieve this, but I can't find any good examples anywhere. Has anyone got some tips?
At the moment I'm trying to request a token. I have to create a call to OAuthGetRequestToken , but how do I create this call?? Is it as simple as webBrowser.Navigate("https://www.google.com/accounts/OAuthGetRequestToken") . I also have to pass in parameters such as oauth_consumer_key . Again, where do I get this key? And how do I pass it in as a parameter? I'm totally clueless here and any hints/examples would be appreciated
|
|
|
|
|
Hi,
I want to initialize a string array with "*".
I want to know if I can avoid using a for loop to do the same.
In the below example I have used a for loop. Can the same done in one line???
The following code will help me generate fibonacci series
public static int Fibonacci(int n)
{
int previous = -1;
int result = 1;
for (int i = 0; i <= n; ++i)
{
int sum = result + previous;
previous = result;
result = sum;
}
}
|
|
|
|
|
what is this!!!
EASY COME EASY GO
|
|
|
|
|
new String('*', 10).ToCharArray();
|
|
|
|