How to decompile framework file in iOS to get source code? - ios

I want to know is there any way/tools to decompile framework file in objective C to get the source code. Just like in java there are JAD and other tools to decompile byte code to source code.

You can disassemble a binary and get back assembly source, but there is no way to get back your original Objective-C structured source code.
You may want to give Hopper a try. I didn't try it personally yet but Mike Ash says it's good.
Helper Source:- here

Related

recompile existing objective c library to support arm8

One of the project we are currently working on uses a static objective-c library created by an ex employee.
The problem we have is that the library was built for arm7 which has 32 bit architecture. Is there a way to recompile for new architecture. It seems like a long shot though.
___Edited I don't have the source code.
Do you have the source code and Xcode project? If so, the answer is yes. As mah says, you may have to refactor the project for the latest IDE.
If you don't have the source code then the answer is a resounding "NO!" Compiling means converting source code into machine code. No source code = nothing to compile. You might be able to analyze the machine code and reverse-engineer it, but that's a horrific amount of work.

How to obfuscate iOS binary.

Hi, I'm just wondering how you could obfuscate functions in iOS binary?
If you tried to reverse iOS binaries using tools like ida you will see part of the binaries have obfuscated functions like all or partly named sub_xxxxxxxx but the other have human readable functions
Someone said, add those lines to the top of your header without any further explaining:
#define SecurityClass ah7p
#define checkCopyProtection xcyc
What the methods used to secure your App?
Sorry for the dumb question, but I'm new there and I ended up with no answer explained what I need.
There are a couple of ways to obfuscate an iOS binary.
Open Source compiler named llvm-obfuscate (https://github.com/obfuscator-llvm/obfuscator/wiki) It has some nice features to obfuscate during compilation. You are replacing your default compiler with that one.
There are for Windows of course VMWare oder Themdia that can post process but that is not the case.
Besides that I just know one more which is Liasoft antispy. It is a very advanced anti analysis toolkit that allows you to encrypt functions and much more during compilation using mixed Objective-C and C++ code. ( https://www.liasoft.de/en/products/antispy/ )
Not sure if one of these is the right one for you. Except these things you are pretty lost since Objective-C is a compiled language with lots of metadata.
Hope I could help you, this is my first post.
If you only care about obfuscating method names then the easiest way is to write relevant parts of your application in C or C++. For instance, you can rewrite your SecurityClass as a C++ class instead of Objective-C class. This will not make your code reverse-engineering-proof, but it will at least raise the bar a bit. (NOTE: I'm not saying this is the right thing to do from software engineering point of view, though).
If you need to obfuscate code, then you are in a search for a tool that can do this. There are several such tools, both commercial and free. One project for doing exactly this is obfuscator-llvm.

Loading STL into an Objective-C project and compiling

A Stack Overflow post about data structures said you can use STL in Objective-C and iOS development. The link he gave has the link to STL download as http://www.sgi.com/tech/stl/
It is nothing but header files and I'm not sure whether I need any other files. But let's say that works. I thought I could just put the files in a folder in my project folder and add them all to the project I have, so far a simple chat client. But would that cause them all to load in my file view? Is there a right way to do this?
all you need to do is to rename the file to *.mm. this tell the compiler it is Objective-C++ code. you can use both Objective-C object and C++ object at same time.
then if you want to use vector, just #include <vector> and use it like in normal C++ code.

use lib file in delphi. how to import lib file

I got an API for a lib file.
With that lib file .h files were supplied.
Now i want to call the lib file within the Delphi, and use its functionality.
how does the lib file get connected to the Delphi?
update: ok allot of work around is needed, what if i get a dll? how do i link that into the Delphi?
You can't use a lib file to link to a DLL from Delphi. The .lib file would be used by C or C++ clients of the DLL.
In Delphi you need to manually translate the .h header file into a Pascal import unit using the external keyword. An example of this of the Windows.pas unit in the Delphi source. The fact that you can't use the .lib file is actually not a big issue because you have to translate the .h file no matter what.
In certain cases it is possible to extract members of a .lib file using tools like the object file converter from Agner Fog (see http://www.agner.org/optimize/?e=0,34,36) to .obj files.
The syntax is
objconv.exe libname.lib -lx
to extract all members.
By extracting all members you can ensure that there are no members missing. However, if there are further dependencies (to other .lib files) these won't be resolved and must be resolved manually.
Also translating the header files is still required.
Note: The object file format can also be converted. Delphi only understands OMF, while Intel compilers (for exampl) spit out only COFF. Thus a conversion is required, which can be done by the tool as well.
As said this only works in certain cases and it surely need some expertise in this area, because the compiler won't help much with error messages (often the messages are irritating and misleading).

Delphi Spell Checker

Hi I am looking for a free spell checker to use with Delphi 7 -2010 could anyone please give me a pointer to one
I would like to add the HunSpell library we used in our SynProject editor.
It's included in the source code of this GPL tool.
http://synopse.info/fossil/wiki?name=SynProject
http://synopse.info/forum/viewforum.php?id=16
The .dll, and the dictionaries, are bundled to the main executable as zipped resource.
http://synopse.info/forum/viewtopic.php?pid=314#p314

Resources