Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

    $ ghc --make helloworld.hs
    $ strings helloworld|grep ghc|wc -l
    19
    $ csc helloworld.scm
    $ strings helloworld|grep chicken|wc -l
    1
There are more telltales that might be harder to mask. Other tools have similar giveaways. It wouldn't be hard to set up an automated test for the most common ones.


And how hard would it be for those code translators to remove these footprints or even offer the user the option of leaving them out? Doesn't this edict invite code translators to work harder at leaving no trace that the code was generated or translated? The bigger question too is, isn't this just another stupid rule that developers can find a workaround for anyway?


Right but I'm assuming that these 3rd party tools are actually converting code to Objective-C / C / C++ and then compiling...is that right?


I think that's true for some tools and not others. csc converts Scheme in to C and then compiles it with the local C compiler. There are specific markers that will exist in every binary compiled with Chicken. Some of them are ASCII and easy to spot by hand by running strings on the binary, but I suspect there are also binary sequences that appear in every program compiled this way.

It would also be possible to look at data structures in memory and detect patterns of access common to specific cross-compilation tools or abstraction libraries.

These techniques don't produce proof beyond a reasonable doubt, but no such proof is required; Apple can and will reject applications that don't meet its standards.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: