苹果手机的应用市场分为App Store和非App Store(PP助手、爱思助手)。
我们平时编写的代码最后发布到App Store的时候苹果会对包进行一个加密,生成一个壳程序,防止被篡改。也就是说在App Store上下载的程序都是被加过壳,其他越狱市场下载的一般是没有加过壳的。有很多方式可以看是否已经加过壳了,下面简单介绍一下。
苹果手机的应用市场分为App Store和非App Store(PP助手、爱思助手)。
我们平时编写的代码最后发布到App Store的时候苹果会对包进行一个加密,生成一个壳程序,防止被篡改。也就是说在App Store上下载的程序都是被加过壳,其他越狱市场下载的一般是没有加过壳的。有很多方式可以看是否已经加过壳了,下面简单介绍一下。
Cycript allows developers to explore and modify running applications on either iOS or Mac OS X using a hybrid of Objective-C++ and JavaScript syntax through an interactive console that features syntax highlighting and tab completion.
(It also runs standalone on Android and Linux and provides access to Java, but without injection.)
该语言可以用来动态调试我们的程序,查看内存中的状态,官网地址,点开手机的Cydia可以看到这个插件
学习汇编最重要的是就是学习寄存器和指令,8086汇编拥有14个16位的寄存器,分别AX、BX、CX、DX、SI、DI、BP、SP、IP、CS、DS、SS、ES、PSW
,该篇将来介绍各个寄存器作用。
在高级语言开发中会把一些功能封装成方法然后调用,下面我们来用汇编实现一个打印hello world的方法
我们平时写的高级语言经过编译后都会到汇编最终到机器语言,它可以直接操作硬件,对性能高的一些程序采用汇编的方式,比如逆向工程,破解软件的时候都会和汇编打交道,当然对我来说是因为在看runtime源码的过程中,关于_objc_msgSend等等一些代码的时候也是汇编实现的,都告诉我是时候学习汇编了,这里并没有直接从arm汇编而是从8086汇编入门,理由很简单,简单,本系列文章是帮助大家汇编入门,更多的细节靠我几篇博客岂能说的清楚,还需要自己大量补课。
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true