|
hi .. !
this is really a problem for me .. !
coz any1 can just view the app. and edit anything in "about" box or something .. !
simply .. stealing it .. ... !!
|
|
|
|
|
You can't stop it, obviously. You CAN encrypt the string that are inside your program, so that it's not obvious to people who view it when they are looking at your string, and so they can't just edit it without first knowing the encryption.
Oh, I thought this was the C++ forum. People can decompile your app, change it and recompile, because it's C#. So, there's really nothing you can do. Encrypting the strings will provide basic protection, tho.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
im still new in C#, can u tell me how can I encrypt my strings?
actually .. my about box is not a dialog .. its a messagebox :P ... should i use about dialog box instead ?
and thanks for ur reply
|
|
|
|
|
An easy way would be to add a known value to each character. Another way would be to explore system.Cryptography.
NiZaR.TecH wrote: my about box is not a dialog .. its a messagebox ... should i use about dialog box instead ?
It makes no difference.
In the real world, the number of users who will try to hack your app is very low, unless it's a technical app in the first place. i.e. the nature of the app determines the user base. But, most people do not worry.
You can indeed buy a compiler to turn .NET code into a real .exe, but it's very expensive, and rarely worth the cost.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
there is at least one program available that will convert a .net application into a win32 exe, and give a level of protection equivalent to a natively built app. You'll have to spend a decent chunk of change to get it though.
--
CleaKO The sad part about this instance is that none of the users ever said anything [about the problem].
Pete O`Hanlon Doesn't that just tell you everything you need to know about users?
|
|
|
|
|
its in .exe format .. !
and I used one of the hexaViewers ... and i changed the about box and saved it .. !
and yea for some ppl my program is important :P
|
|
|
|
|
Christian and my point was that a c# app is much easier to reverse engineer. You can use a tool like Reflector[^] and get source code with only private variable names munged away. IF you're paranoid this is a much bigger concern than tinkering with a hex editor. That said even if you encrypt your datastrings someone with a disassembler/debugger can trace your apps execution in hex until they find where you get the string from and replace change AboutDlgText = DecryptString(encryptedText) with AboutDlgText = "Not NiZar's app" .
--
CleaKO The sad part about this instance is that none of the users ever said anything [about the problem].
Pete O`Hanlon Doesn't that just tell you everything you need to know about users?
|
|
|
|
|
didnt get u dan .. but for example in MultiMedia Builder (MMB) .. there's an option when you publish your project as a .exe file ... the option says : add protection layer .. and the protection layer's help says : to prevent your strings and scripts from being viewed by hex editors and viewers .. !!
got me mister?
|
|
|
|
|
Nothing can protect your strings 100%. You can do what we said, but the app will still be able to be decompiled.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
NiZaR.TecH wrote: MultiMedia Builder
Never heard of it, but it's probably using some form of encryption to make them less obvious.
--
CleaKO The sad part about this instance is that none of the users ever said anything [about the problem].
Pete O`Hanlon Doesn't that just tell you everything you need to know about users?
|
|
|
|
|
You can put all of your strings in a resource. And then for every resource you can use strong encryption to generate a uniquely encrypted hash. Then at runtime you can verify the hash with the public key. No one will be able to generate a new string and have the hash values match without the private key.
File Not Found
|
|
|
|
|
sorry mister, but I'm so beginner ... I guess I didnt get that ... but after all .. it seems there's no way to protect my application ...
|
|
|
|
|
Not completely, but he's just telling you another way to encrypt your string.
If you're a beginner, I'd suggest not worrying about it for now. Don't make things too complex for yourself when you're trying to learn. You can move up to this stuff, later.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
instead if anyone really wants to modify the strings they'll modify the binary to use embedded values instead of accessing the resource.
If your application is running on a machine that someone else has physical access to, you CAN NOT prevent them from modifying your app if sufficiently determined. Game companies spend millons of dollars a year on it, as does MS. None of them have been able to prevent 3rd parties from altering their apps, and busting sophisticated copy protection schemes is much more complex than changing string values.
As Christian said you're almost certainly being overly paranoid over something that can't be made impossible in any event.
--
CleaKO The sad part about this instance is that none of the users ever said anything [about the problem].
Pete O`Hanlon Doesn't that just tell you everything you need to know about users?
|
|
|
|
|
Hello everyone,
I have added the Speech Recognition option to a Windows Application. I am using "Command & Control" approach and everything works fine regarding the Speech Recognition.
The problem is that the speech recognition reacts "activate commands" with similar words than the set command words. Let's say if the Command Word is Play, the speech recognition mistake the word such as "Pause" and other words that sounds like Play and starts with the letter "P" for the set command "Play". It seems as the Speech Recognition only look to match first few Letters rat5her than the actual word.
I welcome any information with a great intrest. Thank you very much and have a great day.
Khoramdin
-- modified at 13:59 Monday 26th March, 2007
|
|
|
|
|
Couple things worth trying: make sure the system speech recognition has some practice discerning your voice commands. You can train voice recognition using some of the various speech wizards in Windows.
Second thing to try is adding a word dictionary to the speech recognition, containing only the words you're interested in ("Play", "Stop", and so on). This will limit the possible words it will match, making matches more accurate.
|
|
|
|
|
Hi All,
I am trying to create a paint event for my project. See below for my code. I am getting a whole bunch of errors. I am new to GDI+, so I am not sure what I am doing wrong. I am writing in C# and using Visual Studio 2005.
I have declared public Point front; in my global variables. I added the reference to System.Drawing. What am I doing wrong? Please see below for errors and code.
Error 10 An object reference is required for the nonstatic field, method, or property 'Triax_ReVamp.Filtered_Tilt.front'
Error 11 An object reference is required for the nonstatic field, method, or property 'Triax_ReVamp.Filtered_Tilt.front'
Error 12 'System.Drawing.Point.x' is inaccessible due to its protection level
Error 13 An object reference is required for the nonstatic field, method, or property 'Triax_ReVamp.Filtered_Tilt.front'
Error 14 'System.Drawing.Point.y' is inaccessible due to its protection level
Error 15 The best overloaded method match for 'System.Drawing.Graphics.DrawEllipse(System.Drawing.Pen, System.Drawing.RectangleF)' has some invalid arguments
Error 16 Argument '1': cannot convert from 'System.Drawing.Brush' to 'System.Drawing.Pen'
<br />
private static void f1_paint(object sender, System.Windows.Forms.PaintEventArgs e)<br />
{<br />
Graphics g = e.Graphics;<br />
Size ballsize = new Size(30, 30);<br />
Rectangle r = new Rectangle(front, ballsize);<br />
front.x = 176;<br />
front.y = 717;<br />
<br />
}<br />
Thanks,
Laura
|
|
|
|
|
laura1316 wrote: The best overloaded method match for 'System.Drawing.Graphics.DrawEllipse(
The code you posted does not contain DrawEllipse(...)
However based on the error message you can't pass a Brush when a Pen is required, they are not the same thing.
led mike
|
|
|
|
|
Oops sorry, here is the code with the draw ellipse function call.
That did fiz 2 errors but I still have 5 more errors. Please help!
Error 10 An object reference is required for the nonstatic field, method, or property 'Triax_ReVamp.Filtered_Tilt.front'
Error 11 An object reference is required for the nonstatic field, method, or property 'Triax_ReVamp.Filtered_Tilt.front'
Error 12 'System.Drawing.Point.x' is inaccessible due to its protection level
Error 13 An object reference is required for the nonstatic field, method, or property 'Triax_ReVamp.Filtered_Tilt.front'
Error 14 'System.Drawing.Point.y' is inaccessible due to its protection level
<br />
Graphics g = e.Graphics;<br />
Size ballsize = new Size(30, 30);<br />
Rectangle r = new Rectangle(front, ballsize);<br />
Pen p = new Pen(Color.Blue, 4);<br />
front.x = 176;<br />
front.y = 717;<br />
g.DrawEllipse(p, r);<br />
Thanks,
Laura
|
|
|
|
|
Where does 'front' come from ? It's obviously a Point, you can't set the x and y, I think they are private and you can set X and Y.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
10,11 and 13 are all the same problem and you do not seem to have posted the relevant code (again). If you don't improve your postings you will find people will not bother replying.
12 and 14 can be fixed with:
front.X = 176;<br />
front.Y = 717;
led mike
|
|
|
|
|
Hello,
Just an info:
Make sure that your Pen instance p will be disposed.
Specially in the Paint event you will get a lot of Pen instances in your memory (plus: I think pen is also a GDI object, which is shown in the taskmanager) which are not able to get cleaned from the GC.
I would recomend a "using" block for your code.
using(Pen p = new Pen(Color.Blue, 4)
{
g.DrawEllipse(p, r);
}
All the best,
Martin
|
|
|
|
|
can anyone suggest me the simplest way of sorting a datagrid
|
|
|
|
|
|
Hi!
Im facing a very strange problem, im doing a project in C# 2005. it waz all going well until 2day, my project is being built successfully but no output is shown.
i didnt made any big changes in project, it waz working perfectly but all of a sudden it stopped showing output...also no error or exception is being showed.
I tried almost every thng, closed app, restarted system, copied all code in new project and recompiled it, but no result...My Visual Studio is running all other projects perfectly so there is'nt any problem with it.
Please help me in this regard, im 2much worried abt it.
Regards,
Affan Ahmad Toor
|
|
|
|