I know it is almost impossible to produce a software that is fully protected. In this I would like to share my experience in protection.
I developed a program that works in PPCPE and I have made a very good protection system….. I think
The protection system works as fallows:
- when the software is first install it capture the date of the installation
- it reads the device ID
- it ask the user for the program serial number
- I have two way of registering the system either through an SMS or through the web using a GPRS.
- The software combines the three number together using some equations to make it almost impossible to find out what I am collecting… also I use an equation verify if the serial number is OK since we are using SMS and it is very costly to send SMS that contains a wrong serial number
- When the user chose the method to register the number is send to my server and the server send back the activation key to the user PPCPE
- The PPCE will read the SMS and delete it and store this SMS in the database …
The above is to get the activation key
In the software the activation key is produce and I use “if statement” to compare the activation key which is stored in the data base and the one the software produce if they are the same it will execute otherwise it will stop execution
To make it very difficult for the hacker I use pointer in the program and in these pointer I add the protiction key to it and subtract the key the program produce to make the additon equal to zero if the two key are the same
The pointer point to each button and each menu item in the program
I hop this information will help and I welcome any comment
Hmmm, sounds nice...but is it worth all the trouble...especially the SMS route could complicate things, no?
Besides, with good debuggers is it not possible to NOP the check section or jmp it, applying a patch?
I would opt more for a good packer such as Armadillo, and protect it that way. It will obfuscate the code, has debugger protections built-in, splits codes and destructs IAT. Additionally, you could add nanomites to make unpacking even harder. Then use a simple license key system.
Yes you are write .. a good hacker can do that …. But
If you use the method of pointer it is almost impossible to get any thing out of the program and it will be use les for any body to use it
And also it is almost imposable to hack it
But armadillo is only available for x86 Windows. But your message is right, HappyGoat.
pointer protection: piece of cake!
Well, the pointer thing as you describe it does not sound too difficult to hack.
You said your software will take the address for a pointer, add the key the user has entered, and substract the one the program has computed so that it equals to zero.
So, this means that the shift is always the same, so if you can get the entry point for any button, you know which value to add to the key generated by your software. Since you don't obfuscate the code this is a matter of minutes to hack this. :roll:
UL
Re: PROTICT YOUR SOFTWARE
As an old cracker I can tell you that this algo would not be difficult to crack. You are not using EXE file encryption, anti-debugging, integrity checking, and other tricks that are used in good protections like ASProtect. They would take some hours to bypass. And playing with pointers can stop only kiddies. UnlockMe said why.
If a cracker would get one valid question-answer pair, he'll easily convert any program to a fully working version. And your code can be cracked without this knowledge.
- The software combines the three number together using some equations to make it almost impossible to find out what I am collecting…
Click to expand...
Click to collapse
Funny. Why should the cracker try to "find out what I am collecting"? Why the cracker should be bothered with all this ****? There are easier ways.
also I use an equation verify if the serial number is OK since we are using SMS and it is very costly to send SMS that contains a wrong serial number
Click to expand...
Click to collapse
Costly SMS? Even in Russia you can get free SMS subscription. I have free SMS + free GPRS + free incoming calls.
Your protection has at least one very thin part that makes it useless. I've seen the similar ideas before. But I would not tell you
And remember:
If it runs, it can be defeated. (c) +Orc
Click to expand...
Click to collapse
It is very nice to see people participates in a subject. I find it very interesting. And very helpful
I am not going to tell what I do but I am given a point to start to programmer
Chatty
Thanks for bringing this point. I can not find it also
UnlockME
I think it is very difficult to hack.
Imagine in my software I have 36 button and menu item. Each of them has a pointer. Let us say button one has a pointer value equal to 11675 let say it is stored in ptr
My key is 123456789 .. let say it is stored in a string str1
The key in the program is 908070605040302010 …… I use more encryption than that but this is just a demonstration
And let us say it is stored in str2
When you address the button you address it like this
Ptr = ptr – (str1[1]-str2[17])
As I mention I am not going to reveal the protection that I use.. I am only giving a point to start
There is more thing in it I leave it to your imagination ..
Mamaich
In my country each SMS cost the mobile owner 0.1 USD … I am not going to cost hem moony for a wrong entry
…….
I think I know what you are thinking …. If the key is produced in the program I can hack it … I hope the above example clear thing up
……..
if you know any EXE encryption or anti debugging software I will be thankful
……..
thanks every body for your replay
-------------------------
pleas remember I am not Claiming that my sAlgorithm is anti-hacked …. It is only an algorithm for protection that I came with
wwb95, I'm not going to disclose in this forum how to actually hack an exe, but what i can tell you is that pointer-based protection will only stop kiddies as Mamaic says.
a hacker is not always a bad guy, though often they use their knowledge for such purpose, but it is before everything a guy that has an extensive knowledge of development tools, operating system, memory management, ...
I can tell you that if you are going to protect your software with this pointer thing, please send me a link I'll be only too happy to provide it for free to the community with a working "yes-code". 8)
wwb95 said:
When you address the button you address it like this
Ptr = ptr – (str1[1]-str2[17])
Click to expand...
Click to collapse
I'll assume that (str1[1]-str2[17]) is always a constant for all Ptrs. Then you can easily find an original button handler (don't ask me how, newbies can check all function addresses, gurus can just look at the code, I'll use a different method), calculate this value and patch a program or write a keygen. And if it is not a constant - the process would not be much more difficult.
if you know any EXE encryption or anti debugging software I will be thankful
Click to expand...
Click to collapse
I don't know any existing protection. Long time ago I was developing such a project, but due to a lack of time and no investitions I've dropped it.
Here is a crackme - http://mamaich.kasone.com/wz/crackme.rar
and a pre-aplha of protector - http://mamaich.kasone.com/wz/protector.rar
It can compress&encrypt ARM WinCE DLLs and EXE files, has minor anti-debugging tricks and primitive import/export/resources encryption. And thats all that was done. No API, no stolen bytes, no on-the fly decryption, no integrity checking, etc.
I would not publish its source codes nor continue the work.
My advice: give up trying to protect your app. It can't be done; anything can be cracked easily. You're only going to piss off your users when the complex reg scheme starts introducing bugs and instability.
All you really want to do is a simple registration scheme. You have to rely on people's honor.
At Airscanner we wrote a book showing how to crack software, with a couple of chapters on ARM-based cracking for Windows CE. But you can get more info, and better, for free at Kaos' website:
http://ka0s.net/
It has everything you need to get started in Pocket PC reverse engineering.
By the way, it's good to see +ORC referenced in this forum. Mamaich do I know you?
airscanner said:
By the way, it's good to see +ORC referenced in this forum. Mamaich do I know you?
Click to expand...
Click to collapse
Some time ago I was a regular poster on www.reversing.net and www.reng.ru and reader of fraviamb. Now I don't have time for that.
Maybe you've seen my name in "thanks" sections of some tools.
ZXEvil why are you posting that link on multiple topics? What is that file?
Hello People,
I just started as a freelance developer for Educational projects. Don't misunderstand me, not a developer for programming software, but develop 'real' lessons, activity's etc to do with the youth.
One of these is going to be a journey in a city, accompanied by a PDA/GPS combination, were the kids have to answer questions presented on their PDA, and get the direction for the next object in the city.
What I would need was a piece of software that:
x) prevents the user of doing anything else than use this piece of software (students, 10-14 years)
1) presents questions, and adds possibility to save the users answers to them for later use
2) gets GPS signals and could draw an arrow for the next target, when a question is anwered right
3) the software can be re-used, so questions / answers , accompanying pictures, and coordinates for the next object, could be altered for following projects
I can draw an detailed 'what I want to do' for people who would like to develop such program , if possible. Max time is ... 4 weeks! I don't know if it is possible, but the part 2) (GPS) could be left out, so just a PDA which asks the questions presented in a attractive setting. For this test, we can use some real GPS-equipment.
If interested, contact me at info at rielity dot nl . I know it takes some hours, since I have just started, affording a real programming office is too expensive. Ofcourse, in this world nothing is for free, so I would like a sort of quote in your reply !
Thank you,
Riël Notermans
Riëlity
hi gamers heres a 1 level pocket pc retro style games with old graphics and sounds run and jump aviod enemies as u climb to the top of the tower and reach the red door collect r coins along to way ...u only have one life to make it to the red door Q is to exit game and the soft pad moves character left and right and jump any question or comments mail me and also look for my other games here just type... krenisis threads... and load ur pocket pc up also i included another demo mad bettle from another developer it s cool games also...also if u want to contact me iam at [email protected] if ur an up comming developer or fan iof my games the journey just began so as i learn more cthe games will get better i know how hard it is to find pocket pc games so become part of the krenisis nation free games for all!!!!!!!!!! DOWNLOAD NOW!!!!! email me any sprites or gameart thank u....also if any experiance or begging developers want to contact me thats cool also
Hello Dev`s i have a request and idea about app if anyone like the idea can create app like this:
Im talking about Lotto for Windows Mobile 6.X WVGA VGA etc
One litle application with beautyfull interface
How to work:
By scanning the past draws, this program can detect patterns and calculate probability to predict the next set of numbers. After each draw, new numbers are added and considered for the next draw. The Picks can be exported to a text file.
For example, Lotto649 has 6 balls, 1-49. With 2200 past draws imported into this program, 5 lines were purchased to test the new version,
So i know its hard and i dont ask you to give me the lotto winning numbers but sometimes when you play lotto and you don`t know any numbers and you are pissed of you can try playing with this litle app... also will be easy to be used worldwide i mean for example if the file with all draws is some kind txt file so im in Bulgaria and here we have too 6/49 so i can download all draws in the past 5 years for example and transfer them to the app, everyone will be able to set the application depending of what lotto he wana play..
i found already app like this but is very OLD designed for WM 5 non touch screen and the interface look really bad.. http://www.handango.com/catalog/ProductDetails.jsp?productId=120196&platformId=30
If anyone like the idea is up to you.
probablitity and statistics, and perhaps a tiny bit of chaos theory. In the long run you will probally spend as much on lotto tickets as you win. By developing this program you're stating that lottery numbers can be calculated via an algorithm and thus defeating the purpose of the lottery being random.
I don't think chaos theory is that easy to calculate lol...
i'm not putting you down or something, but i suggest you start on a smaller scale, like the output of sets of numbers followed by an algorithm to predict the next set of numbers and growing from there. try programming in java i suppose GO GO GO! time to go take my engineering final
Like i say i know this already and of course its not easy and i dont think that someone will make a software everytime i play lotto to know all the numbers the point was that this app can be something like fun tool for example of course i dont trust to this apps but sometimes you are going to play numbers and you dont have any numbers in your head then probably you can use app like this and to play lotto with this numbers.
Have few options the one alogithm to calculate the numbers from 1 to 49 how many times they appaear in the draws for example in the last 5 years but this is not working because for example 21 appear alot more times than all other but like you say its a chaos so this time 21 will not appear again because he already did so many times...
I think better variant is algorithm to calculate combinations of 6 numbers NOT only witch numbers appear mostly but Combination for example if appear the number 21 then have big chance to appear in the same draw 27 this is just example.. im talking about a pattern of 6 numbers combination, i think this is more corect calculating because if we chek for the last 10 years the numbers of course we can`t do it without a program but if we have a program like this we can see some pattern im not saying that this patern is 100% sure and you will WIN but its good to have it..
By this pattern i mean for example when appear the number 21 in the draw and the algoruthim to chek this that 70% of the draws for the last 5-10 years when the number 21 appear 70% from the times appear too the number 27 so for this im talking about.
On the final i will say again THIS APP IS FOR FUN when you wana PLAY LOTTO and you dont have in your head any NUMBERS.
Sorry, but your idea of stochastic is wrong. The draws are independant from each other. Impossible to predict.
Dont think, that programmers are as bad in math to waste there time building such an application.
Before answering, please consider to look in some stochastic books
hi guys,
me and a couple of my friends have recently started development of a game for android, and I wanted to ask some experts here for advice regarding game development (especially for android)
Its suppose to be a "light" RPG
we have decided to do it in 2D - sprite based, because of the limited storage on most android phones.
one thing that we're mostly concerned about is IF and HOW its possible to create "dynamic sprites" ( I don't even know if that's the correct term)
we have game characters that we'd like to equip with certain items and clothing - but we wouldn't want to create a new sprite for every item and item-combination, because it would just be way too much
for example we'd have:
- regular character sprite
- character with sunglasses sprite
- character with hat sprite
- character with sunglasses and hat sprite
and if he had 2 different characters, the number of possible combination would double
isn't there a way to just create the sunglasses-sprite and "put it on" the regular character?
if yes: how?
and how exactly should we approach the whole thing in android?
I hope there are some more experienced people to help us out
Yea, this is pretty straight forward.When you're drawing on your canvas you'll just draw your base character first then all his accessories. I would make place holders for where these accessories will be and have like a character object class that have function calls to set or remove accessories, and also of course the draw() function.
Sent from my SGH-T959 using XDA App