5 ms·
What's the legality with disassembling closed source apps whose code which uses a VM, effectively giving the source code? (Is ObjC similar to how C# uses .NET?
by skeletonjelly 14y ago
What's the legality with disassembling closed source apps whose code which uses a VM, effectively giving the source code? (Is ObjC similar to how C# uses .NET? ILSpy can print pretty clean output)
- timrobinson 14y agoNo, ObjC is very close to standard C. The [ ] message syntax compiles to calls to the objc_msgSend function.
- mschonfeld 14y agoI think @skeletonjelly's point is that the reverse engineering of ObjC reveals much of the original unobfuscated source coude, thus giving away proprietary data?
- jevinskie 14y agoCorrect. ObjC sits somewhere between C and Java in ease of decompilation. Logic and arithmetic code is compiled just like C but all of the object-oriented options are readily exposed. Message passing is used, letting you hook into every part of the program and find the original class, method, and field names and all operations on them. ObjC is very dynamic and introspective which makes reversing it much easier.
- skeletonjelly 14y agoThe answer I was after, thanks! I should do some digging into the internals of these things.
- mschonfeld 14y agoYou know, I carefully read Twitter TOS before writing this article, and there is absolutely no mention prohibiting the reverse engineering, or decompilation of their software. Unlike others, Spotify for example, who explicitly prohibit such actions in their TOS... I don't believe I did anything illegal here...
- skeletonjelly 14y agoFair enough then! I've been curious about this pulling apart programs to see how they work, following TOS of course. Don't want to breach anything personally.
- jrockway 14y agoThe EFF has detailed information about this: https://www.eff.org/issues/coders/reverse-engineering-faq https://www.eff.org/issues/coders/reverse-engineering-faq