iOS回编译
① 如何对iOS中使用Objective-C语言编写的二进制文件进行反编译
\\假设文件的地址为a.txt FileInputStream in=new FileInputStream(new File("a.txt")); byte[] buffer=new byte[4096]; int offset=0; while((offset=in.read(buffer)>-1){ //这已经把文件读入到buffer中了,范围为0到offset,你可以做任何处理了 } in.close();
② ios 开发怎么防止ipa被别人反编译
iOS应用安全风险
1
内购破解
iOS应用需防反编译风险之一:插件法(仅越狱)、iTools工具替换文件法(常见为存档破解)、八门神器修改
2
网络安全风险
iOS应用需防反编译风险之二:截获网络请求,破解通信协议并模拟客户端登录,伪造用户行为,对用户数据造成危害
3
应用程序函数PATCH破解
iOS应用需防反编译风险之三:利用FLEX 补丁软件通过派遣返回值来对应用进行patch破解
4
源代码安全风险
iOS应用需防反编译风险之四:通过使用ida等反汇编工具对ipa进行逆向汇编代码,导致核心代码逻辑泄漏与被修改,影响应用安全
5
面对这些iOS应用存在的风险,iOS应用如何防止被反编译,下面看下iOS应用加密技术
END
iOS应用加密防反编译技术
本地数据加密
iOS应用防反编译加密技术之一:对NSUserDefaults,sqlite存储文件数据加密,保护帐号和关键信息
URL编码加密
iOS应用防反编译加密技术之二:对程序中出现的URL进行编码加密,防止URL被静态分析
网络传输数据加密
iOS应用防反编译加密技术之三:对客户端传输数据提供加密方案,有效防止通过网络接口的拦截获取数据
方法体,方法名高级混淆
iOS应用防反编译加密技术之四:对应用程序的方法名和方法体进行混淆,保证源码被逆向后无法解析代码
程序结构混排加密
iOS应用防反编译加密技术之五:对应用程序逻辑结构进行打乱混排,保证源码可读性降到最低
下面是iOS应用加密防反编译前后对比
END
iOS应用防反编译总结
1
通过以上研究,iOS应用开发者必须要注意iOS应用反编译技术研究了,不要让iOS应用重蹈Android应用的覆辙,iOS应用防反编译!
③ ios app客户端可以反编译吗
ipa 文件其实是一个压缩包,里面包括了可执行文件,资源文件等信息。 反编译的话也可以,只是你要有足够强的功底,就可以。这个至少汇编得会吧,然后可以根据反编译出来的汇编写出原来的OC程序。现在我没有发现有什么工具可以直接反编译出ELF文...
④ iOS 的 framework 和 ipa 文件可以反编译出源码吗
ipa 文件其实是一个压缩包,里面包括了可执行文件,资源文件等信息。
反编译的话也可以,只是你要有足够强的功底,就可以。这个至少汇编得会吧,然后可以根据反编译出来的汇编写出原来的OC程序。现在我没有发现有什么工具可以直接反编译出ELF文件的。
框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。
⑤ 如何把iOS代码编译为Android应用
看开发时使用的什么模式。
如果是使用object C,那没法跨平台编译,也就无法直接转换。
如果使用的一些支持跨平台的第三方库,比如cocos2dx,那在安卓和ios下都是可以编译的。
一款名为“J2ObjC”的源代码转换工具,可将Java语言编写的程序转换称Object-C语言,并直接使用iOS框架,这意味着Android上的程序可以直接转换成iOS App。
⑥ 关于apktool反编译及回编译的问题!!(修改candycrush的内容)
apktool有问题,用我自己修改的apktool吧
http://ishare.iask.sina.com.cn/f/35253480.html
⑦ iOS 的 framework 和 ipa 文件可以反编译出源码吗
ipa 文件其实是一个压缩包,里面包括了可执行文件,资源文件等信息。
反编译的话也可以,只是你要有足够强的功底,就可以。这个至少汇编得会吧,然后可以根据反编译出来的汇编写出原来的OC程序。现在我没有发现有什么工具可以直接反编译出ELF文件的。
目前提取资源可以,但是反编译源码我暂时没有找到
⑧ iOS 编译错误
重复定义了啊. _OBJC_METACLASS_ 看看这个.
⑨ ios a静态库 能反编译吗
.a静态库不能进行反编译,反汇编的可能性也极低。
静态库:静态库仅在程序启动时被连接使用,程序运行时将不再需要该静态库。
与静态库相对的是动态库:程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。