How to deobfuscate code in ios objective C? - ios

I obfuscated my code using pp-ios-rename or ios-class-guard by following the steps in below link
https://github.com/preemptive/PPiOS-Rename
But when I try to deobfuscate my code, I couldnt do it and there is no support for that anywhere. Please help me in deobfuscating the code. Even my storyboard scenes got obfuscated, may be I have done something wrong in the process.
Thanks in Advance.

The repo suggests reverting to a previous commit as it looks like there's no automated way to undo it. You can reference the symbols.map file to see the mappings.
If you still have this file you could try inverting the obfuscated names with the original names then running this command:
ppios-rename --obfuscate-sources --symbols-map symbols.map
However, this kind of source obfuscation is not normally recommended due to these kind of significant trade-offs, unless running it as part of an automated CI/CD pipeline.

Related

iOS xib file difference comparison

I pulled code from github and run code, and see the code change as listed in the picture. Please help me clarify what is this info is about, why this happens and does it have any side-effects. Thanks very much!
It's nothing to worry about. When you open an xib it just updates the version number. It has no effect on the resulting xib and you can either revert the change or push it to your repo.
Edit:
Only effect it may have is causing conflicts when using version control but they're easy to resolve conflicts. It doesn't matter which version you decide to keep.

How to collaborate on a project with Xcode Storyboards?

For a project I am developing for iOS, I want to collaborate with some freelancers. For collaborating on 'pure' code I want to use GitHub.
But a big portion of the work, will be on the Storyboards and the connection with the code.
What is good practice here? How do I share the Xcode project with them, so they can work on some elements (branches maybe), somewhat similar to the GitHub method?
Or is there a good alternative?
Anybody got any advice in this matter? Help is much appreciated!
As one of the comments pointed out, Storyboards are just XML files. That means git can easily upload them to Github. As to your initial question, you have to be careful not to modify the same views as your freelancer did, for if you do so, it will give you a merge conflict. What will happen then is that GitHub will modify the storyboards XML file inserting the <<<<<<< HEAD/>>>>>>> commit Id tags to show you where you have both changed something. This will then mess up the graphical storyboard and likely lead to Xcode no longer being able to open the Storyboard. This will throw the following error:
"Main.storyboard"could not be opened. The operation couldn't be completed. (com.apple.InterfaceBuilder error -1.)
To avoid that, simply edit other views, or always pull before starting to edit anything in the Storyboard. And even when using branches, when you'll try to merge you'll run into the same problem. However, it's noteworthy that you could just be working on different branches and the manually apply all the changes to one storyboard. This is tedious, but it works.
Hope that helps,
Julian

Unity3d: Error building Player: Append is not supported

I receive this error when appending an already-successful build in XCode. What I don't understand is I'm not changing anything when appending, and this error shows up.
I've never used an 'old version of Xcode' as the error implicitly states.
Does anyone know how to get append working on a consistent basis?
This is a very simple project, and I'm using Playhaven and TapForTap SDK's, if that offers any insight.
Turns out, XCode upgraded itself without telling me. :(
I rolled back to the version I was using and all is well.
With no code snippets or error logs, it's very hard to determine what the source of your problem is. There's no way to know if your error is describing the cause of your problem or a symptom of the problem without more information.
I can only offer some suggestions:
My first thought is that you're using a deprecated method in your code somewhere, possibly "Append", which if that is the case, more than likely has an updated counterpart, but you'll have to check documentation regarding that.
If you've used "Append" previously with no errors, then you should look into what exactly you've changed in your new build, and verify that the methods you're using are supported.
If your errors are vague or unhelpful, you can begin the process of elimination and start commenting out blocks of code until it builds successfully, and narrow down the source of the problem significantly.
However, it would be to your benefit to expand your question with more information.

SimpleCv findkeypointmatch

Could someone shed some light on why the following, in simplecv, does not work?
https://gist.github.com/2220293
Apparently, the image.findKeypointMatch attribute does not exist? It is indeed not the simplecv documentation.. How could I accomplish the something without this?
Thanks
Alex
I am the one to write the above code.
The keypointmatch function is included in the latest github repository of simple. Install it from there. You also would be needing OpenCV 2.3 to run this.
Note: It is just an example for SimpleCV. This is in no way perfect, that is obvious.
Did you install the latest version of SimpleCV? If not I suggest you get the latest version from the repository. This library is very young, and after a quick look at the code I saw many bugs. So it's not a bad idea to go with the latest version hoping the number of bugs is reduced.
In
SimpleCV/ImageClass.py
you will find the findKeypointMatch() method. One thing you can do is to investigate why you cant call this function. If you copy here the error message you get and exactly the code you're trying to run then probably someone here can help you.
The other way is to go through the code as you wanted and see what it does and you copy the code in your script. I wouldn't recommend this.
Please let me know how it goes.
To verify you can always run:
import SimpleCV
print SimpleCV.__version__
Keypoint detection was added after 1.2.

Xcode ARC conversion tool issue

I'm running the ARC conversion tool for the first time. I've followed the instructions and dealt with all of the issues/erros in my files that the conversion tool finds before it will actually run. I also have several third party libraries that I've told ARC to skip by unchecking them in the Targets to Convert dialog. After running the tool it shows me a report of all the changed files but no files have been changed. Next I save and try to build the project only to find that I have nearly 1000 build errors due to all the calls to retain and release in my project. It's my understanding that the conversion tool is supposed to remove all calls to retain, release, and autorelease but that isn't the case for me.
Has anybody encountered this problem before and if so how did you solve it? Or is it my responsibility to remove all retains & releases from my app? If so I'm not sure what the point of the conversion tool is. Please advise.
Thanks in advance
I am about to try this on my own rather large project, so I may be back with more questions, but I found this that might help:
http://meandmark.com/blog/2011/11/xcode-4-2-convert-to-arc-troubleshooting/
Are you using GIT repositories for your code? It may not be converting due to the snapshot issue described.
This works better in case you allow it to continue building if errors encountered (Preferences - General). However, not all files are changed or converted completely anyway. But a few regulars will do the dirty job.
In case anyone wants to copy and paste;
\[([\[\w\s\]]+) autorelease\]

Resources