|
hi,
I am in a big problem now. I despiratly want help from your side. i will explain what is my intension.
I developed one product (duration more than an year). Now i am faceing serious piracy problem. It is my bread and butter(It is my own product). so i can't leave this sort of piracy as simple.
First Problem.
I want to re-design my product which will run only for 20 times after installation. I least bothered whether user will use 20 times in a day or 20 times with in a month or 20 times in an year. It won't work after 20 times.
What is the perfect method which will keep a step ahead from all registry editing or date changing or anything which help the end user to extend the functionality of this product more than 20 times. Please tell me how can i achive this from my product's piracy issue.
Second Problem.
I will burn my product into a CD and i will gave it to the customer. Once he installed this product he can't even re-install it again. (If the user got any problem on the time of first installation.Then i will replace the CD). What i mean is if he try to install after 20 days or something it won't even allow the user to complete the second time installation.
One more thing is there A customer may have more than a computer which may or may not in a network. My requirement is, after the first installation the software i need to block the new installation on same machine ,new installation on another machine which may or may not in same network, new installation of any machine which is formated and installing as a fresh.
For acheving this i need to put some logic in CD apart from the Setup file. I don't know what sort of software i need to burn on the time of burning the setup file.
Please help me out.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
sreejith ss nair wrote:
What is the perfect method which will keep a step ahead from all registry editing...
No such thing... No matter what you use to protect your software, it will be broken within a month of your releasing it...
There is no one product that will give you all of the functionality your talking about. You can Google for "developer application copy protection expire" and come up with thousands of products, issues, and hacks for them, to "protect" your software.
It'll take you at least another year to develop a solution on your own. The issues and methods are just too complex...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hi,
This is called suggection. i don't need suggection , i want small tips or idea or any lead to get a solution. What you wrote is right.
Why hackers are hacking software ?
For the above question you will get different answers.
How hackers are hacking ? This question is importent.
Answer is simple " they are putting little more innovative idea to hack the software ".
according to me they are the right programmers.
Our discussionis different. so i am not getting into hacking or craking s/w.
In current IT worl nobody is taking effort to find a technologies hidden part.
Every one wil find what the product manual says.
It's too very bad.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
sreejith ss nair wrote:
This is called suggection. i don't need suggection , i want small tips or idea or any lead to get a solution. What you wrote is right.
You've contradicted yourself. What you need is a suggestion to find your tips and ideas. What I gave you was a starting point to do the massive amount of research your going to have to do to find solutions to your requirements. There are no "small" tips or ideas for these copy protection topics. Each technique to protect your software has it's pro's and con's and is much too large a topic for discussion in the forums.
sreejith ss nair wrote:
so i am not getting into hacking or craking s/w.
I didn't say you were getting into hacking, but to understand the threat your software faces, you need to get into it to see the techniques used against your security solution and defend against them.
sreejith ss nair wrote:
In current IT worl nobody is taking effort to find a technologies hidden part.
Oh yes there are people who do this! They're called "hackers"!
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hi,
please i don't like your way of presentation.
i am really sorry.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
Hey SreejithNair,
Dave Kreskowiak told you his view trying to help you. He wasn't offensive in any way, just did not deliver the answer you expected, so please stop such remarks!
I can only second Dave's point: What you're wishing for is simply not achievable at the moment nor practicable if it were.
You're wishing for a copy proof CD destroying itself after installation. Come on, get real!
Your program is supposed to find out if it's installed on a different pc that's not even connected to the one it's running on? How is it supposed to do this? I guess you'd have to ship a crystal ball with every CD...
And can you imagine what your regular customers-to-be will tell you when they find out that the installation CD is unusable after one installation attempt? This would surely keep me from purchasing your software and look for an alternative!
As Dave said, everything you can come up with can and will be cracked eventually. If you want a tip, here it is: A cracker knows as much about computers/programming/... as you do, usually even more. So it will always be a race between the two groups.
Your goal should be to keep everyday copiers from doing so with reasonable effort.
In every copy protection/licensing scheme there's a point where you have to check if the program is copied/licensed/whatever. This MUST boil down to only a few assembler ops: JEQ or JNE and simply replacing them switches your copy protection/licensing logic => Crack found, no matter how complicated your protection mechanism is.
Since you're posting to the C# forum it's even easier for potential crackers: CLR code can be decompiled and also obfuscators have their limits.
You could invest a year in developing what you think is the world's best copy protection scheme, but until that day you're not selling a single copy.
How much do you make in a year?
How many copies of your software have to be pirated (by people who would otherwise actually pay for your program!) to make up for the year you spend developing the copy protection?
Just do some calculations to see that searching for a perfect copy protection for an individual is more or less clueless.
Regards,
mav
|
|
|
|
|
Hi,
much answers and not helping you aren't they?
I had the same problem, and solved it.
There is NO way to really protect software on a "software" based
copy protection. Even windows xp and 2003 are beeing hacked, so,
forget about it.
If your software is a "low budget many customers" thing, i don't
know a solution.
If your software is "high budget" with lesser customer, think
about dongle-protection. www.rainbow.com can help you in this matter
(there are a lot of companies who provide dongle protections, rainbow is well known).
My produced software does NOT leave my office without dongle protection anymore.
Dongle lost: 14 days grace period and asta la vista...
ofcourse for registred customers, they will get it replaced.
Good luck
-- rien ne va plus --
|
|
|
|
|
Hi all,
I need to display two sets of records.
The second one should come under the first set of records and also second one uses the first one's unique id.
for example,
My table looks like this.
link_id, name, link, category
I need to display a datalist with the category and the links that belong to that category.
So, How to Do it?.
thanks in advance.
|
|
|
|
|
Hey!
I am about to make an online game.
I want the game to be runned in a HTML page, and it needs to be an active page(ASP.NET is not the solution).
JAVA and Flash whould probley work, but i realy want to work with C#, so is it posible to use ActivX to display a Program made in C# right in a HTML page not just C# controls?
And if so, where can i find information about this?
//Jimmy
|
|
|
|
|
I can tell you that it is possible... I have done it before, but I can not seem to find the information I had on it, sorry.
Gooky
|
|
|
|
|
Good to Know but sad that you didnt find the information about it. Mayby some one else in here knows how to do ?
//Jimmy
|
|
|
|
|
Snowjim wrote:
so is it posible to use ActivX to display a Program made in C# right in a HTML page not just C# controls?
It's important to understand that ActiveX and .NET are two entirely different and distinct technologies. You could embed an ActiveX control within an application written in C# targetting the .NET Framework by wrapping your control using the AxHost class, however that's not really what your asking. You can also create href executables that download the assemblies and store them in an assembly cache on the local machine. You must be aware of code access security when trying to execute an href executable however, there is information about this on CP and MSDN. Chris Sells has an example of an href executable on his site at sellsbrothers.com[^].
- Nick Parker My Blog | My Articles
|
|
|
|
|
Okay, but is there any easy way to get my C# programs to work Active in a HTML document? it have to be an activa page.
As i mention before i know that Java and Flash is perfect to this job, but i reayl like C# and want to use that instead.
//Jimmy
|
|
|
|
|
i wanna write a recording program in c# so where can i begin ?
what shoud i study ?
thanks...
|
|
|
|
|
|
Aside from what mav said, there is also audio support built into DirextX. Check out the list of things you can do with DirectX audio here[^].
- Nick Parker My Blog | My Articles
|
|
|
|
|
when i execute the following Query in Query Analyzer,it return 61 Rows.But it return 91 Rows in DataSet.
Query:
"set dateformat dmy select distinct T.DepNo,H.TranNo, H.TranType, T.ChqDepNo, H.TranRef, H.TranDate, T.BankCcy, T.ExRate, T.LAppAmt, T.AppAmt, H.IsReconciliation from tblCashHdr H,tblMultipleTender T where H.BankCode= T.BankCode and T.BankAcct='121105' and H.MerchCode='001' and H.TranDate <='13/09/2004' and H.TranDate>'01/01/04' order by H.TranDate"
Pls Help me,
Kyaw Soe Khaing
|
|
|
|
|
I'd say your date comparisons are interpreted differently. Are you sure your "set dateformat dmy" is handled correctly in your program?
mav
|
|
|
|
|
Hi,
is there any possibility to call a method by Name?
Example:
<br />
private void Run()<br />
{<br />
string vMethod = "Form1_Close";<br />
string vParam1 = "";<br />
string vParam2 = "System.EventArgs.Empty";<br />
<br />
RunMethod(vMethod,vParam1,vParam2);<br />
}<br />
<br />
public void RunMethod(string AMethodName,params string[] AParameter)<br />
{<br />
}<br />
<br />
|
|
|
|
|
You'll have to use reflection for that. You need a System.Reflection.MethodInfo object of the method in question (can be retrieved using Type.GetMethod() ) and then call Invoke() on the result.
Regards,
mav
|
|
|
|
|
As mav pointed out, you will need to use reflection. Here is a quick example to get you going:
MethodInfo mi = typeof(Form).GetMethod("Close",
BindingFlags.Instance | BindingFlags.Public);
if(mi != null)
mi.Invoke(this, null);
- Nick Parker My Blog | My Articles
|
|
|
|
|
Why do I get this error???
currency.cpp(72) : fatal error C1004: unexpected end of file found
/* Currency equivalence to the Dollar*/
#include <stdio.h>
float Australian_Dollar; //Australian Dollar
float Euro; //Euro Dollar
float British_Pound; //British_Pound Dollar
float Japanese_Yen; //Japanese_Yen Dollar
float Swiss_Franc; //Swiss_Franc Dollar
/* Dollar conversion */
int main(void)
{
/* 13 */
int menunum; /*Defines the menunum as an integer for the scanf */
int final1;
float count;
{
while (final1 != 0)
printf (" Select a currency by entering a the number beside the currency. \n\n");
printf(" Enter q to quit.\n\n");
printf (" 1. Australian Dollar \n");
printf (" 2. Euro \n");
printf (" 3. British Pound \n");
printf (" 4. Japanese Yen \n");
printf (" 5. Swiss Franc \n"); /* 28 */
scanf("%f", &menunum); /* 30 Users enters the number on the menu bar */
if (menunum == 1){
printf("%f\n", Australian_Dollar);
} /* Australian_Dollar */
else if (menunum == 2) {
printf("%f\n", Euro);
}
else if (menunum == 3) {
printf("%f\n", British_Pound);
} /* 41 British_Pound */
else if (menunum == 4) {
printf("%f\n", Japanese_Yen);
} /* Japanese_Yen */
else if (menunum == 5) {
printf("%f\n", Swiss_Franc);
} /* 51 Swiss_Franc */
else {
printf("Choose another or quit.\n");
}
Australian_Dollar = 1.43; // 50 Define Australian dollar
Euro = 0.83; // Define Euro currency
British_Pound = 0.55; // Define British Pound
Japanese_Yen = 110.9; // Define Janpanese Yen
Swiss_Franc = 1.28; // Define Swiss Franc
scanf("%f", &final1); /* 30 Users enters the number on the menu bar */
return 0;
}
|
|
|
|
|
1.) Why do you ask a CPP question in the C# forum?
2.) Why don't you give a file to include at the very start of your code?
Mav
|
|
|
|
|
|
I have problem in crystal report,exception text below:
************** Exception Text **************
System.IO.FileLoadException: The located assembly's manifest definition with name 'CrystalDecisions.Shared' does not match the assembly reference.
File name: "CrystalDecisions.Shared"
at CRTest.Viewer..ctor(String reportFilePath, String param1)
at CRTest.ParamForm.okBt_Click(Object sender, EventArgs e) in d:\myprogram\reporttest\crtest\paramform.cs:line 92
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
=== Pre-bind state information ===
LOG: DisplayName = CrystalDecisions.Shared, Version=9.1.5000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304
(Fully-specified)
LOG: Appbase = C:\Program Files\FE-Creation\CRTest\
LOG: Initial PrivatePath = NULL
Calling assembly : CrystalDecisions.CrystalReports.Engine, Version=9.1.5000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304.
===
LOG: Publisher policy file is not found.
LOG: Host configuration file not found.
LOG: Using machine configuration file from C:\WINNT\Microsoft.NET\Framework\v1.1.4322\config\machine.config.
LOG: Post-policy reference: CrystalDecisions.Shared, Version=9.1.5000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304
LOG: Attempting download of new URL file:///C:/Program Files/FE-Creation/CRTest/CrystalDecisions.Shared.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Build Number
////////////
Please tell me about solve this problem.
Thanks.
สวัสดีครับ
|
|
|
|
|