iOS逆向一个APP指令集】的更多相关文章

一.脱壳获取.app文件 1.查询壳有没加密 otool -l  mac-o文件 | grep crypt 2.Clutch -i Clutch -d  num 3.脱壳后的位置 /private/var/mobile/Documents/Dumped/ 4.脱壳 class-dump -H   mac-o文件 -o  Headers 二.注入依赖库.签名资源文件 1.拷贝相关资源文件 CydiaSubstrate  embedded.mobileprovision  tweak_live.dy…
适合有一定的逆向编程基础的人看. 背景:自动抢红包的脚本工具:cyscript,reveal,class-dump,越狱的pod等. 这里先上一张reveal的分析图: 小结:获取到了真个软件的整体结构视图.极大的方便我们进行分析.这个是淘宝的技术嘉年华中重点介绍的亮点工具. 接着,可以通过:class-dump工具,dump出头文件进行辅助分析,方便动态调用各种接口. 接下来,开始实战:远程ssh登陆后,直接,ps aux|grep "Micro*"  获取微信的pid. cycri…
Class:存放的是App中所有的模块功能 Base:存放一些基类,比如BaseViewController,BaseModel等,共性直接在基类中去修改 Vendor:三方,因为我的项目中使用cocopods管理三方,所以这个文件夹中我在此放的是一些比较小的功能的第三方 Framework:存放一些类库或者自己封装的一些静态库 Resource:存放app中一些索引资源,比如图片,文本等,或者将图片打包的Bundle Custom:这个文件夹我用来存放自己项目或者公司自己风格的一些自定义的视图…
以下为跳转到大众点评APP代码如下: NSString *requestUrlString = @"dianping://shopinfo?id=1000"; NSURL *requestUrl = [NSURL URLWithString: requestUrlString]; if([[UIApplication sharedApplication] canOpenURL:requestUrl]) { [[UIApplication sharedApplication] openU…
之前介绍了怎么操作越狱的iOS设备(以下简称为手机),但简单操作手机并不是目标,小程的目标是手机上特定的APP,比如微信.淘宝.QQ音乐等等,因为小程可以从这些APP上拿到一些有用的信息或资源--比如,"微信的那个页面是用什么控件来布局的?"."QQ音乐的歌手头像,能批量地拿到吗?",等等. 很明显,如果你知道目标APP的所有类的声明,你就可能直接观察到,或者推导到一些有用的信息.实际上,把目标APP的类信息拿到,是至关重要的一步,因为这一步的成功让你有了分析的资料…
LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具.使用LLDB可以动态的调试你的应用程序,如果你不做其他的额外处理,因为debugserver缺少task_for_pid权限,所以你只能使用LLDB来调试你自己的App.那么本篇博客中就要使用LLDB来调试从AppStore下载安装的App,并且结合着Hopper来分析第三方App内部的结构.LLDB与Hopper的结合,会让你看到不一样的东西,本篇博客就会和你…
网上也有讲这块的,感觉讲得都不是很好.而且有一些细节根本没有讲清楚.这里重写整理一下相关知识点. 主要内容 URL Scheme 是什么? 项目中关键的配置 注意事项 URL Scheme 是什么? iOS有个特性就是应用将其自身”绑定”到一个自定义 URL scheme 上,该 scheme用于从浏览器或其他应用中启动本应用.常见的分享到第三方之间的跳转都是基于Scheme的. 通过对比网页链接来理解iOS 上的 URL Schemes,应该就容易多了. URL,我们都很清楚,http://w…
问题描述:需要从一个ios应用程序中,能启动另一个ios应用程序. 开发环境:xcode7.3.1 关键词:白名单(LSApplicationQueriesSchemes).注册自己的URL Demo源代码链接:http://pan.baidu.com/s/1bo327sb 如何从一个app中,启动另一个app???本人ios菜鸟(工作需要,刚开始自学ios,现学现卖,哈哈)参考网上若干文章,实现了这个功能.目前,将demo分享出来. 1.注册自己的URL 新建一个工程MyAppOne,在inf…
目标 平常我们做iOS开发,会经常遇到打开其他的APP的功能.本篇文章讲的就是打开别人的APP的一些知识.我们的目标是: 打开别人的APP 让别人打开我们的APP iOS9的适配问题 使用URL Schemes传递数据 准备工作 建立一个名为OpenApp的工作空间,用来存放我们的两个工程建立这个工作空间主要是为了让我们后面建立的两个工程能在一个Xcode页面上管理,方便讲解和管理.挺简单的,不清楚的可以看我之前的文章[iOS开发]在一个Xcode页面建立多个工程 建立一个workspace来存…
界面分析 通过Cycript.Reveal. 对于Reveal安装配置可参考配置iOS逆向系列-Reveal 通过Reveal找到内存中的UI对象 静态分析 开发者编写的所有代码最终编译链接到Mach-O文件中. 如果我们要分析App的代码也就是说要分析Mach-O中的代码.静态的代码分析常用的工具MachOView.class-dump.Hopper Disassermbler.ida等. 静态分析 class-dump class-dump作用就是把Mach-O文件的Class信息给dump…
1 创建并运行第一个App 1.1 问题 使用Xcode创建一个App项目,该应用实现功能在界面上显示Hello World标签,在模拟器中的运行结果如图-1所示: 图-1 1.2 方案 分析图-1,首先使用Xcode创建一个Single ViewApplicaton应用,起名为MyFirstApp,如图-2所示: 图-2 然后删除Xcode的导航栏里只保留TRAppDelegate.h文件和TRAppDelageat.m文件,其他代码文件.storyboard文件以及xib文件删除,如图-3所…
上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SDK, 该登录SDK中包括登录.注册.忘记密码等功能,当然该SDK中包括这些功能的UI.数据验证等业务逻辑.网络请求.数据存储等等.当然此处的登录SDK是一个简化版的,真正的登录SDK比这个考虑的东西要多的多,如果在加上多个App进行登录账号的共享的话,那么考虑的东西就更为复杂了. 本篇博客就先封装一个Logi…
最近对iOS逆向工程很感兴趣. 目前iOS逆向的书籍有: <Hacking and Securing IOS Applications>, <iOS Hacker's Handbook>中文书籍有<iOS应用逆向工程:分析与实战> 中文博客有: 程序员念茜的<iOS安全攻防系列> 英文博客有:Prateek Gianchandani的iOS 安全系列博客 这些资料中都涉及到有ARM汇编,但都只是很泛地用到,并没有对iOS上的ARM汇编进行比较详细的讲解.因此…
前言 刚刚接触iOS的时候,我就一直很好奇,模拟器上面能不能直接安装app呢?如果可以,我们就直接在模拟器上面聊QQ和微信了.直到昨天和朋友们聊到了这个话题,没有想到还真的可以给模拟器“安装”app! 一.应用场景 先来谈谈是什么情况下,会有在模拟器上安装app的需求. 在一个大公司里,对源码的管理有严格的制度,非开发人员是没有权限接触到源码的.对苹果的开发证书管理也非常严格,甚至连开发人员也没有发布证书,证书只在持续集成环境或者Appstore产线里面,或者只在最后打包上架的人手上. 那么现在…
从获得APP的所有类声明,到锁定目标类与函数,现在是时候注入函数了. 所谓"注入函数",小程的意思是让APP执行到小程写的代码中,跟"钩子"的概念一致.小程把个叫作iOS上的hook的技术. 本文介绍iOS注入函数的办法. 在借助框架之前,先介绍一个简单的注入办法,你可以"感性"地认识到"动态绑定"所带来的注入. (一)动态绑定的一个示例 (1)锁定注入点 随便找一个APP,classdump拿到所有类的结构信息. 比如,&q…
小白:小程,我一直想问,什么是逆向来着?是逆向行驶吗? 小程:理解为逆向行驶也没错.一般的项目是从无到有,而逆向是从已有的状态入手,分析出已有的流程与结构的手段. iOS上的逆向开发,是一件有趣的事情(虽然有时很痛苦),而且还可能给你带来收益. 在接下来的几篇文章,小程会尝试介绍iOS逆向的一系列的知识与技能:从基础工具的使用,到目标类的定位.目标代码的调试,再到注入微信的实战示例. 本文介绍iOS逆向的基础工具的使用. 硬件方面,你需要一台iOS设备(iphone/itouch/ipad,以下…
感觉本文涉及内容有点多的,但是自己不愿意写太多,就简单的谢谢关于ios上手的东西吧 初级入手不免要用到,pp助手,i4 tools等 iOS逆向-ipa包重签名及非越狱手机安装多个应用 1.常识 我们平时开发的App,程序运行主要就是加载一个Mach-o可执行文件.当我们将程序打包成ipa文件,上传到App Store的时候,期间就是进行了一些加壳操作,比如:数字证书签名等.重签名的目的就是将别人的程序重新签上我们的证书信息.也可以简单理解为将别人的加密文件解密,加上我们自己的加密算法. 2.查…
Intro 虽然“只有偏执狂才能够生存”这句话已经被假药停给毁了,但是作为一只有逼格的高大上的iOS逆向分析研究员,难道如果有现成的macOS/iOS全版本镜像可以下载并且无限“漫游”,难道你就不想来一套么? 在本文中,你将能够获得的是: macOS:10.12.10.11.10.10.10.9.10.8.10.7:六个版本的虚拟机一键安装: 使用苹果的KDK套件(Kernel Develop Kit)对虚拟机里的macOS Sierra 10.12进行内核调试: iPhone 4s iOS 9…
iOS逆向实战与工具使用(微信添加好友自动确认) 原文链接 源码地址 WeChatPlugin-iOS Mac OS 版微信小助手(远程控制.消息防撤回.自动回复.微信多开) 一.前言 本篇主要实现在微信上自动添加好友,从而熟悉 iOS 逆向分析的过程. 二. 工具 2.1 MacBook 软件 theos 制作 Tweak 的工具 hopper disassembler 用于静态分析 usbmuxd 端口转发,可以让我们通过usb连接手机进行ssh.lldb调试等.主要使用python-cli…
为什么要重签名? 1.在没有源代码的情况下,你已经对某个应用进行了资源修改(比如修改了启动图或图标等).修改完成以后,如果想要让APP可以正常使用,该APP一定要重新签名然后压缩成IPA文件. 2.如果你想让你的APP不经过苹果审核,就可以私自发布到HTTPS服务器上,不越狱也能安装,且没有设备台数限制,那么你就要把个人开发者签名,替换成企业开发者In-House证书签名,之后OTA发布就行了. 3.一个开发者的应用,需要在另一个开发者帐号下发布到App Store.上传的ipa包,是重签名后的…
概述 通过iOS逆向系列-逆向App中使用class-dump工具导出App的Mach-O文件所有头文件.Hopper工具分析App的Mach-O文件代码大概实现.但是这些前体是App的Mach-O没有被加壳的.通过pp助手下载安装的App都是经过脱壳的如果我们从Appstore下载安装的App都是苹果加壳的. 加壳就是利用特殊的算法,对可执行文件的编码进行改变(比如压缩.加密),以达到保护程序代码的目的. 我们编写的程序的Mach-O文件上传到苹果后台,苹果会对我们的程序的Mach-O文件进行…
iOS逆向之一-工具的安装和使用 最近在学习iOS安全方面的技术,有些东西就记录下来了,所有有了这篇文章.顺便也上传了DEMO,可以再这里找到这些DEMO的源码:dhar/iOSReProject 越狱手机安装软件 ssh 远程连接到越狱手机需要的软件 在Cydia中搜索.安装OpenSSH软件. ssh 连接到手机:ssh root@192.168.1.112[手机IP] apt-get 包管理软件 cydia搜索:APT 0.6 Transitional 安装使用apt-get 之前要先up…
刚接手了公司iOS的两个APP, 现在碰到了这样一个问题: 有一台iPhone在一个APP中使用了微信支付,支付成功后,点击返回到该APP,结果却跳到了另外一个APP去了. 这两个APP都是公司开发的,然后并不是在所有的手机上出现这种情况,只是在其中某一台iPhone手机上出现这种情况. 支付过程大致截图如下:      ---------------------- !!!---------------------------- ---------------------- !!!-------…
做一个 App 前需要考虑的几件事  来源:limboy的博客   随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了.尽管如此,有些事情最好前期就做起来,避免当 App 有了一定规模后,再感慨当初为什么没有多留点心. 完善的日志系统 以 iOS 为例,有时图方便,就直接用 NSLog 了,甚至线上都一直开着.一方面会影响性能,尤其是输出比较频繁的时候,另一方面也容易泄露敏感信息,所以一般做法是在 Release 模式下禁用 NSLog,比如在 pch 文件中…
  ManoBoo:  参考链接:http://www.jianshu.com/p/fd4c46c31508  这个小的项目是参考ManoBoo的简书的,链接在上方,自己在仿做的过程中,也离不开ManoBoo的帮助 一 配置项目的基本环境 1 Pod AVFoundation框架,ReactiveCocoa框架 -->从终端打开项目 cd+文件路径 -->创建Podfile文件  vim Podfile   -->安装第三方框架 pod install 2 使用pch文件 -->新…
      亿合科技小编了解到:国民老公王思聪曾经在一个访谈中谈到过,如果他是一个普通人,他会选择移动互联网去创业,因为做个网站或者App开发门槛较低,做大做强的机会也比较多.小编觉得创业就是投资,重点在项目质量上,一个好的APP项目投资是客观的. 那么对于一个APP开发,如果你有好的App创意,实际投产做APP开发需要哪些技术人员呢?亿合科技小编可以告诉你: 1.产品经理 一个好的APP产出,产品经理起着非常重要的作用,需要对一个产品负根本责任的管理者,他把控着APP项目的正确方向.制作出产品…
[前言] HPP是什么? HybirdApp的简称,详细介绍参见:HPP--让所有中小企业拥有自己的APP 说白了就是用html+css+js开发app,包括ios和android版本. HBuilder 具体实现方式比较多,自行百度吧,就不一一叙述了, 之前比较推荐的HBuilder+mui+nativejs那套,相关资料: 如何快速开发出一个高质量的APP--创业谈 HBuilder开发App入门-滴石 Hbuilder开发App实战1-识岁 http://uikoo9.com/dishi…
本文转载于文章原文链接,版本归原作者所有! 随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了.尽管如此,有些事情最好前期就做起来,避免当 App 有了一定规模后,再感慨当初为什么没有多留点心. 此处由标哥的技术博客站长点评: 看完本篇文章之后,也让我想起了不少以前做过的蠢事,做过很多重复的工作.之前在项目中使用过cocoalumberjack,个人感觉是很不错的日志管理框架.当然,不一定要求使用它,也在另一家公司里,原来的人将NSLog重定义了,改写了输出,…
目前,移动APP已成为很多小企业业务销售的新渠道之一,于是问题来了,一般想到要开发一个自己的app,就想问:开发一个app好多钱?去百度.360.搜狗等等平台去找相关的app开发公司咨询或者问问朋友有没有熟人推荐的.开发一个APP需要多少成本?今天亿合科技小编给您分析分析? 开发一个APP需要多少成本? 应该都知道这是一个开放式的问题,你不可能有固定的答案.例如:买一套汽车需要多少钱?买一个手机需要多少费用?如果你买一个手机,手机的成本取决于如公司.平台.手机的性能和功能.硬件.软件以及其它更多…
成都亿合科技小编为您分享: 随着APP应用的流行,越来越多的人想自己学习怎么开发APP应用,那架构一个APP需要学些什么技术呢?首先要了解App都有哪些类型,不同的类型适用于哪些需求,用户可以根据自己的需求选择不同的App开发. 那么架构一个App需要学会哪些技术? 一. App应用有哪些形式 WebApp:简单地说,Web App就是针对iOS或Android优化后的web站点,用户不需要下载安装即可访问.一般的web站点侧重使用网页技术在移动端做展示,包括文字,视频,图片等,而Web App…