Search Unity

iXAntiCrack System for iOS Devices

Discussion in 'Assets and Asset Store' started by langju, Mar 4, 2011.

  1. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Hi Community :D,

    We inform you that from now you can protect all your Unity Project designed for iOS thanks to iXAnctiCrack System.

    With a simple drag and drop of 2 prefabs, your project will be protected from cracker and hacker once deployed on iDevices.

    2 events can be raised with our system :
    Code (csharp):
    1. OnCrackedApp() => Raised if your Game is Pirated
    2. OnJailbrokenDevice() => Raised if Cydia is installed on the device.
    3.  
    How it works ?
    Our script will check each random second, a random security check.
    there is currently 7 routines (including an illegitimate debugger running check).

    This is will be really difficult for a cracker to find how to patch your game with that script.

    PS: This code will run on Basic and Pro version of Unity iOS thanks to our PostprocessBuildplayer command.

    ;)
     
  2. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    updated project because of the missing native code :(.
     
  3. ColossalDuck

    ColossalDuck

    Joined:
    Jun 6, 2009
    Posts:
    3,246
    Why would you stop jailbreakers from using the game?
    Other than that, sounds pretty cool.
     
  4. Mike L

    Mike L

    Joined:
    Sep 14, 2010
    Posts:
    1,035
    because jail breaking should be illegal, because its stupid and you can get pirated apps and rejected apps on cydia, and there are reasons for Apple rejecting those apps, like them using too much battery, etc. plus a jail broken iPod crashes a lot compared to a non-jail broken iPod, because of these apps that are rejected, and because the jail broken version of IOS is unstable-ish. any ways, that is very nice. if i had Unity IOS, i would get that.
     
  5. ColossalDuck

    ColossalDuck

    Joined:
    Jun 6, 2009
    Posts:
    3,246
    I have never experienced a crash in all of the 400+ days of having this jail broken iPod, neither have my friends. Obviously you haven't done it.

    And you haven't gotten to the good part about jailbreaking. You can customize everything. You can buy third party hardware that works just as well, and then download an app that makes it work. You can develop apps and not have to be on a mac, and not have to pay $99. The list does go on.

    So, I don't see any reason not to.

    "because jail breaking should be illegal"
    why?

    "because its stupid"
    how exactly?

    I agree that the pirated apps part is terrible. But you can do that for every OS and device, and if there was no jailbreaking, there would be an alternative way around it.


    ps: @langju Sorry for stealing this thread.
     
  6. SilentWarrior

    SilentWarrior

    Joined:
    Aug 3, 2010
    Posts:
    107
    If I bought an app that didnt run if my device was jailbroken I would request my money back. Jailbreak is not illegal, cracking is.

    Checking for cracked software I agree BUT NOT jailbreak, why would a game developer would/should know that I can do more with my iDevice than my 90 year old grandma?
     
  7. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Hi everyone LOL,

    there were a great discussion here :).

    Because this is only raised event, you can decide what to do (or not) when these events are raised.

    If Jailbroken device is detected but you want to do nothing simply, do nothing in your method :).


    Code (csharp):
    1.  
    2. void OnCrackedApp(){
    3.     Debug.Log("Application is Pirated");
    4.         Application.Quit()
    5. }
    6.    
    7. void OnJBDevice(){
    8.     Debug.Log("Device is jailbroken we do nothing");
    9. }
    but you can for example use this method to send stats about on how much jailbroken devices your game is installed,
    or if you want to use some special code available only on jailbroken device you can use this method to know that you are on a JB device.

    And i am ok with that : Jailbroken doesn't mean your game is cracked :).
    :razz:
     
  8. BloodGreen Studio

    BloodGreen Studio

    Joined:
    Dec 16, 2010
    Posts:
    48
    how does it know if its cracked or not?

    also with jailbreaking being legal, using a phone with tmobile is already worth it. I hate those people who advertise jailbreaking as free apps.
     
  9. kenlem

    kenlem

    Joined:
    Oct 16, 2008
    Posts:
    1,630
    He's not checking if the phone is jailbroken. He's checking if the app is cracked(stolen). Limiting the app to paying customers sounds like a reasonable thing to do.

    Can you even buy from the app store with a jail broken phone?
     
  10. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    To detect if it is cracked we use several routines like code signature changes Signer identity changes, date modification of some files, some specials files missing, size of file changed and more ...

    We will include so a new routine checking if the game is running in its Encryption mode, if not, it means the game has been dumped.

    in fact we check the 2 cases :).

    What will be hard for the hacker is to find how to patch your game.
    Indeed, all of this routine are called randomly and every random seconds : meaning the hacker while trying to crack, will never now ( or at least will be difficult) what is the entry point to start his work. If he finds one routine called, it will try to patch it and can think it is finished, but in fact there is several routine that can be called so 1 patch doesn't mean that all the game is patched :)

    Hope this help.

    PS : 35$ is a limited time offer. All upgrade are then free ;-)
     
  11. Diego

    Diego

    Joined:
    Jul 30, 2008
    Posts:
    58
    Hi!

    It's very interesting but my concern is about the false positives (if the plugin detects that the game was cracked and it isn't true). This could happend? The plugin is currently working on any iOS device and on any version of iOS?

    Thanks!
     
  12. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Hi Diego,

    About false positives i don't see how this can be possible... ?
    The code should works on any iOS but has been tested only on iOS > 4.

    hope this will help ? Or if some other user can add information ?

    regards all :)
     
  13. Diego

    Diego

    Joined:
    Jul 30, 2008
    Posts:
    58
    Thanks for the reply. I will buy it!
     
  14. McKrackeN

    McKrackeN

    Joined:
    Oct 28, 2009
    Posts:
    51
    Hi, Langju,

    It seems to be a great app!! Congrats! :D

    I want to ask you just one question: Is there a game on the market that uses your library? I'm asking this cause i want to know if it won't be rejected by Apple and if it won't through false positives. :)

    Thanks in advance! :)
     
  15. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Hi mckracken,

    I don't know if there is already some game using the plugin but I invite any user who have posted their game on the AppStore and using our plugin to post here :)

    So, we do not use undocumented API so there is no reason to see this plugin rejected.

    @Diego
    Thanks for your order !!! Have fun.

    Regards
     
  16. Darknuke

    Darknuke

    Joined:
    Jan 31, 2011
    Posts:
    223
    not having to pay $99 per year for dev costs is stealing... Sure, not having to develop on a Mac is nice, but you should still pay the $99. It's not like you have to pay $10k+ for a dev kit like with consoles. $99/yr is a steal. Plus, most jailbreakers DO pirate.

    To be on topic... I will definitely consider putting this in my app when it gets closer to completion. It sounds like a very nice tool to have in.
     
  17. PizzaGuy213

    PizzaGuy213

    Joined:
    Nov 23, 2010
    Posts:
    305
    Nice work!
    Is there some kind of solution for the same problem with Android?
     
  18. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Hello ThomasQ,
    I don't know how to develop native code for android ... Java ? or else ?
    But for the time, iXanticrack is only designed for iOS.

    regards
     
  19. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    I inform you that an update will comes to prevent the Angry bird Mac Appstore hack.

    :D

    Have a nice day
     
  20. VIC20

    VIC20

    Joined:
    Jan 19, 2008
    Posts:
    2,687
    What is the "Angry bird Mac Appstore Hack"?
     
  21. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    This is a much bigger issue for android than it is for ios.
     
  22. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Well,
    Angry birds has modified its code, but thehack of a mac appstore app is quite simple : it consists to replace some resource of the App with the one of a free App.
    The main problem was because there is no receipt check.
     
  23. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    ? What do you mean by this ?
    This doesn't interests you because tis is designed only for ios :) ?
     
  24. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Maybe he was suggesting that you look at implementing it on Android?
     
  25. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I can't believe people would bother hacking a 59p app. My time is worth so much more than 59p an hour. And it would take an hour for me to discover how to hack it, sort it out and get it working.

    These people won't ever buy it anyway.
     
  26. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Yes I was suggesting it would be more important for android since there isn't any real protection at all whatsoever for android, while at least on appstore, you have in app purchase in addition to the basic level of security that requires you don't have a jailbroken device.

    ios security is basically the least of anyone's concern. Since you have to jailbreak to get a pirate app, you would be in a minority right there to begin with. By contrast, the temptation to pirate an android app is much higher. You don't have to jailbreak or need any special knowledge beyond downloading it from pirates.
     
  27. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    I see. The problem here is thaat i do not have android licence and not lot of java skills to implement that. So sorry, for the time i cannot try to implement an anticrack system for java. But i think if someone have both skills and android licence and read this topic, he can try to propose a package for that.

    Again sorry :(
     
  28. shadowfork

    shadowfork

    Joined:
    Jan 8, 2010
    Posts:
    167
    I have a question. Does this plugin help PlayerPrefs hacks?

    If yes, is that on the 2nd method... if app is jailbroken?

    I'm getting this soon and I'd like to know this part.

    Thanks :)
     
  29. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Hi shadowfork.

    Can you explain me more precisely your question because I did not have understand :-( .

    Regards
     
  30. spinaljack

    spinaljack

    Joined:
    Mar 18, 2010
    Posts:
    992
    What shadowfork is asking:
    People can easily open the save file of your game and edit the values there so if you have a simple value called "premium unlock" then anyone can just edit the file to say they've unlocked extra content.

    This is simple to fix, you just encrypt your PlayerPrefs data and then check its integrity each time you start the game. There's plenty of tutorials around for that kind of thing.
     
  31. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Thanks for the answer. so, no, ixanticrack doesn't encrypt that file but like said by spinaljack, it is quite easy to encrypt that file.

    Regards
     
  32. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Another iOS hack is that they change the playerprefs to hack high scores and things like that. Is it possible to set iOS to "secure" this file too? Or a bad idea? Encryption is a bad idea since you have to go through legal hoops to get it on appstore.
     
  33. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    About the playerprefs encryption, why you do not use a simple hash (with md5) when you store or get your value from playerprefs ?
    You will not be rejected on appstore with the use of that and you do not need to say you are using encryption for that.

    Where you need to tell that you use encryption is generally if you use other tools that fully encrypt your binary.
     
  34. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Thank you, that is very cool. I might just purchase your system as well because of the calm decent manner you display. Extra protection is never a bad thing.
     
  35. shadowfork

    shadowfork

    Joined:
    Jan 8, 2010
    Posts:
    167
    Thank you langju spinaljack!

    I'll start searching for those encryption methods.

    I'll still get this plugin as I get close to my release.

    Thanks!
     
  36. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Thanks for your support ! :) do not hesitate to contact me by pm or email in case you need help.
     
  37. runonthespot

    runonthespot

    Joined:
    Sep 29, 2010
    Posts:
    305
    This all sounds good- two quick questions:
    1) How do I know that there won't be false positives (answer might suggest how many people are using this so far with no problems ;-)
    2) Can pirates "hack" appstore ratings? Would I get negative ratings from users based on doing this? Would a pirate simply download the app for 99p just to be able to post a 1 star review? (philosophical answers accepted ;-)

    In both instances, the motivation is fear: fear that an overly complex protection system will break in some strange circumstances (like an IOS upgrade?) and kill app-store ratings.

    Thanks!
     
  38. MarkcusD

    MarkcusD

    Joined:
    Jul 12, 2011
    Posts:
    40
    I think you should definitely let potential purchasers of your game know ahead of time if you're going to block jail-broken devices. I jail-broke mine just so I could use a call-blocking app. Apparently Apple won't approve those.
     
  39. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    There's a rising trend of apps which don't run on jailbroken devices deliberately. But don't cracks just bypass that check regardless?
     
  40. zipper

    zipper

    Joined:
    Jun 12, 2011
    Posts:
    89
    If apple made cars, you'd have to "jailbreak" them just to change the oil (yourself).

    jailbreaking != piracy -> so why block them?
     
  41. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Hi, with ixanticrack you can simply ignore the event "onjailbrokendevice".
    In this case you do nothing when that event is raised.

    :)
     
  42. MrMetwurst2

    MrMetwurst2

    Joined:
    Jul 16, 2009
    Posts:
    253
    If this is reliable, I would use the crack check to limit my game or have a Nag pop up and ask the end user to purchase it.
     
  43. Pelajesh

    Pelajesh

    Joined:
    Dec 7, 2009
    Posts:
    363
    @Hippocoder
    The people who pirate apps don't crack them, at least 99% of them don't. They simply install the cracked apps they download. Also the crackers need only a couple of taps to crack 90% of the apps on appstore.

    @langju
    How do you check if cydia is installed? Does apple allow it?
     
  44. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    This the best things to do I think too.
     
  45. Muske

    Muske

    Joined:
    Aug 30, 2011
    Posts:
    1
    how does it check if the app is cracked?
     
  46. shadowfork

    shadowfork

    Joined:
    Jan 8, 2010
    Posts:
    167
    Has anyone been successful running this along side Prime31's plugins?

    When I install this plugin, Prime31's GameCenter and Social Networking plugin won't work.

    When I reinstall Prime's GC and Social networking plugin, then this plugin doesn't make the postprocess build... I get no message box that iXAntiCrack has been successfully added.

    Any thoughts?
     
  47. Essential

    Essential

    Joined:
    Sep 8, 2011
    Posts:
    265
    Except that an Apple car wouldn't use oil. It would almost certainly be electric.

    This looks like a good plugin. Will definitely check it out. Glad to see people working on this kind of thing.
     
  48. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    So.. anyone report any success with this whatsoever?
     
  49. BrUnO-XaVIeR

    BrUnO-XaVIeR

    Joined:
    Dec 6, 2010
    Posts:
    1,687
    I bookmarked this since day one, but still waiting for report of successful cases. Specially regarding the conflics with Prime31s'.
    JB users getting InApp itens for free is a big problem and this thing would be perfect to solve that issue.

    Edit: It seems Prime31 have such detection tools in his plugins already, nevermind.
     
    Last edited: Nov 29, 2011
  50. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    In case you have the following Error :

    EntryPointNotFoundException: _isNOK
    iXAntiCrackBinding.isCSok () (at Assets/Scripts/iXAntiCrackBinding.cs:78)
    iXAntiCrackManager.TestSecurity () (at Assets/Scripts/iXAntiCrackManager.cs:57)

    EntryPointNotFoundException: _isMPkg
    iXAntiCrackBinding.isMPkg () (at Assets/Scripts/iXAntiCrackBinding.cs:89)
    iXAntiCrackManager.TestSecurity () (at Assets/Scripts/iXAntiCrackManager.cs:69)

    EntryPointNotFoundException: _ZNDebugIntegrity
    iXAntiCrackBinding.cdg () (at Assets/Scripts/iXAntiCrackBinding.cs:122)
    iXAntiCrackManager.TestSecurity () (at Assets/Scripts/iXAntiCrackManager.cs:53)

    EntryPointNotFoundException: _isExistsFiles
    iXAntiCrackBinding.isMandatoryHere () (at Assets/Scripts/iXAntiCrackBinding.cs:111)
    iXAntiCrackManager.TestSecurity () (at Assets/Scripts/iXAntiCrackManager.cs:65)

    --> You can add manually the .mm files into the xcode project.


    the posprocess script was done to add the .mm files automatically into the xcode project but seems not working with unity 3.5, so add the .mm files directly into the xcode project to be able to compile the code.

    regards