您的位置:澳门皇冠金沙网站-澳门金莎娱乐手机版 > 互联网科技 > Jenkins情形深刻理解,Simulator相关路径

Jenkins情形深刻理解,Simulator相关路径

2019-11-25 16:48

原标题:被指向中黄炎子孙民共和国服务器提供数据,Mac App Store下架排名第风流倜傥的付费安软

Jenkins情形深入掌握

    1. Jenkins相关布置文件路线
    • Jenkins工作目录:/Users/Shared/Jenkins/Home

      • 品类目录:/jobs

        • 单个项目目录:/jobs/项目名称

          • 系列布局文件:/jobs/项目名称/config.xml

          • 项目编写翻译目录:/jobs/项目名称/builds

          • 花色空间引得:/jobs/项目名称/workspace

      • 插件目录:/plugins

    • Jenkins情状安顿文件:/Library/LaunchDaemons/org.jenkins-ci.plist

      • 安顿 日志文件路线

      • 计划 Jenkins专业目录

      • 配备 Jenkins运营脚本

      • 安顿 Jenkins的客商归属

    • Jenkins参数配置文件:/Library/Preferences/org.jenkins-ci.plist

      • 配置 http 端口号

      • 配置 https 端口号

      • 配备 https 证书消息

      • 等等。。。。。。

    • 日志:/private/var/log/jenkins/jenkins.log

    • 开首目录:/Library/Application Support/Jenkins

      • 启航脚本:jenkins-runner.sh

      • 卸载脚本:Uninstall.command

    • 再次开动Jenkins

      • 网页重启形式:

      • 重启Computer格局

      • 手动重启形式:

        • sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

        • sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

  • [ ] 2. Jenkins 配置 https 地址

    • 生成 https 证书

      • 1

      • 2

      • 3

    • 安插 https 证书地方

      • 将证书key保存到 /Users/Shared/Jenkins/zhengshu/server-key.pem

      • 将证书cert保存到 /Users/Shared/Jenkins/zhengshu/server-cert.pem

    • 配置 /Library/Preferences/org.jenkins-ci.plist 文件

      • 添加 httpsPort : 8443

      • 添加 httpsPrivateKey : /Users/Shared/Jenkins/zhengshu/server-key.pem

      • 添加 httpsCertificate : /Users/Shared/Jenkins/zhengshu/server-cert.pem

    • 配置 /Library/Application Support/Jenkins/jenkins-runner.sh 文件

      • 累积代码 add_to_args httpsPrivateKey

      • 增多代码 add_to_args httpsCertificate

  • 重启运行Jenkins

    • 重启计算机情势

    • 手动重启格局:

      • sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

      • sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

1 沙盒和NSBundle的区别

Simulator相关路线

  • 以下均在Xcode6或上述测验

前言

沙盒(NSHomeDirectory()) 是系统加载 app时,为 app 分配的贮存空间。如本地数据库,文件存款和储蓄;

模拟器在MAC中的路线风流倜傥:

模拟器在MAC中的安装路径

  • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs

app应用在MAC中的安装路线

  • 在Xcode5和事先的版本中
    • /Users/username/Library/Application Support/iPhone Simulator。
    • 在该公文夹下,能够查看见具有的模拟器版本,点步向后,可查阅应用沙盒情状。
    • 在开采中,提议将文件拖动连忙路线到Finder左边个人珍藏下,能够方便展开查看应用沙盒。
  • 在Xcode6中,将模拟器的地方展开了变动
    • /Users/username/Library/Developer/CoreSimulator/Devices/模拟器标记(一些字符串卡塔尔国
      • 末尾那个模拟器标志便是有个别字符串代表每一个不等的iOS设备
        举例说D3E79030-5DB9-4E5B-8E46-5C3B100CamaroC1C就表示那是索尼爱立信4S,点击步入查看device.plist那些文件。

app应用的mainBundle在MAC中路线(app在mac上的蕴藏地点)

  • /Users/username/Library/Developer/CoreSimulator/Devices/模拟器标志/data/Containers/Bundle/Application/iOS应用程序标标志符/iOS应用程序.app,然后右击包内容步入查看。
    • 在那之中正是好玩的事中的[NSBundle mainBundle]相应的门路
  • mainBundle中加载指定(URL/路径)的文件
- URLForResource方法

NSURL *url = [[NSBundle mainBundle] URLForResource:soundName withExtension:@"mp3"];

- pathForResource方法

NSString *path = [[NSBundle mainBundle] pathForResource:soundName ofType:@"mp3"];

前日有外国媒体广播发表,Mac App Store中付费安全软件中排行第黄金年代的Adware Doctor被探究人士发未来未经客商同意的景况下搜聚浏览历史,并将数据发送至位于中中原人民共和国的服务器,之后被Mac App Store下架。

NSBundle 是系统加载 app时,app 的可进行代码和那些代码需求的财富文件所在的目录;

app在MAC中的路线二:(文件归档存款和储蓄/数据长久化存款和储蓄地点卡塔尔国

  • 在目录中找寻查个门路
- NSSearchPathForDirectoriesInDomains( )
  • 应用app文件归档所在路线
    • /Users/username/Library/Developer/CoreSimulator/Devices/模拟器标记/data/Containers/Data/Application/iOS应用程序标标志符/iOS应用程序
// 应用app文件归档所在路径
NSString *path = NSHomeDirectory();
  • Documents(文档)
- /Users/username/Library/Developer/CoreSimulator/Devices/模拟器标识/data/Containers/Data/Application/iOS应用程序标标识符/iOS应用程序/Documents

        NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
  • Library(资源库)
    /Users/username/Library/Developer/CoreSimulator/Devices/模拟器标记/data/Containers/Data/Application/iOS应用程序标标记符/iOS应用程序/Library
    • Library/Caches(沙盒)
      • /Users/username/Library/Developer/CoreSimulator/Devices/模拟器标记/data/Containers/Data/Application/iOS应用程序标标志符/iOS应用程序/Library
// 获取沙盒路径
NSString *caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];

- Library/Preferences(`偏好设置`)
    - /Users/username/Library/Developer/CoreSimulator/Devices/模拟器标识/data/Containers/Data/Application/iOS应用程序标标识符/iOS应用程序/Preferences
  • tmp(临时文件夹)
    • /Users/username/Library/Developer/CoreSimulator/Devices/模拟器标志/data/Containers/Data/Application/iOS应用程序标标记符/iOS应用程序/tmp
        // 获取临时文件夹路径
        NSString *path = NSTemporaryDirectory();

在被下架以前,Adware Doctor是大器晚成款广受顾客接待的拉萨使用,目的在于珍重客商的浏览器免受广告软件和恶意软件勒迫。外国钻探职员解构了此次产生的下架事件的来踪去迹。

上面打字与印刷出他们的地点。

Adware Doctor

在乎:每一次打印出的地点都以分歧的

在Adware Doctor的宣传中,它是Mac顾客抵御各类大面积广告软件威迫的“最棒应用”:

- (void)viewDidLoad {

图片 1

[super viewDidLoad];

在Mac App Store中,那款应用程序相当受招待,在最销路好的应用程序中排名第四,由此连苹果Mac App Store网址都列出了它的新闻:

NSLog(@"bundle: %p", [[NSBundle mainBundle] infoDictionary]);

图片 2

NSLog(@"home: %p", NSHomeDirectory());

在“付费实用工具”分类中,Adware Doctor排行第生机勃勃:

NSLog(@"code: %p", self);

图片 3

NSLog(@"bundle: %@", [[NSBundle mainBundle] bundlePath]);

事件解构

NSLog(@"home: %@", NSHomeDirectory());

商讨人口利用静态解析(反编译卡塔 尔(英语:State of Qatar)和动态深入分析(网络监督、文件监察和控制和调和卡塔尔的不二秘籍对那款应用程序实行了探究,以下是进程和结果。

NSString *content = @"my file content";

首先,商讨职员从Mac App Store下载 Adware Doctor,确认该应用程序(与Mac App Store中的全体应用程序同样卡塔尔国由苹果例行签发:

NSError *error;

图片 4

BOOL isRight = NO;

起步应用程序,观望到它通过HTTPS发出各样互联网央浼。举例,连采纳adwareres.securemacos.com通过GET央浼/AdwareDoctor/master.1.5.5.js:

isRight = [content writeToFile:[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"file1.txt"]

图片 5

atomically:YES

如图所示,下载的master.1.5.5.js文件满含基本JSON配置数据:

encoding:NSUTF8StringEncoding

{

error:&error];

“disable_rate”:false,

if (!isRight) {

“disable_prescan”:false,

NSLog(@"write to bundle error: %@", error.localizedDescription);

“sk_on”:false,

}

“faq_link”:“

isRight = [content writeToFile:[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject stringByAppendingPathComponent:@"file1.txt"]

}

atomically:YES

单击应用程序分界面中的“Clean”按键会触发另一个到adwareres.securemacos.com的网络哀告,此番下载的是名称叫config1.5.0.js的第贰个文件:

encoding:NSUTF8StringEncoding

图片 6

error:&error];

此番下载的config1.5.0.js文书满含越多JSON,最值得注意的是那款软件的数据库的链接:

if (!isRight) {

{

NSLog(@"write to home dir error: %@", error.localizedDescription);

“update”:true,

}

“version”:“201808243”,

}

“url”:“https://adwareres.securemacos.com/patten/file201808243.db”

模拟器中输出:

}

第 1 次运行:

下一场是三个看起来很健康的数据库更新进程:

2017-07-26 10:38:41.307 Harvest[2236:541410] bundle: 0x600000065380

图片 7

2017-07-26 10:38:41.307 Harvest[2236:541410] home: 0x7fd6d65043d0

研讨人口翻开了数据库的源委,是加密的(适合反广告软件/反恶意软件的做法卡塔尔:

2017-07-26 10:38:41.307 Harvest[2236:541410] code: 0x7fd6d650d820

图片 8

2017-07-26 10:38:41.308 Harvest[2236:541410] bundle: /Users/longhua/Library/Developer/CoreSimulator/Devices/2CB55BFD-8176-4ADC-99D6-5280D7BCCF1B/data/Containers/Bundle/Application/817CFB68-19FE-4D58-960F-68F72BE236B7/Harvest.app

动用调节和测验器捕获应用程序在内部存储器中解密的文本,然后转储纯文本内容:

2017-07-26 10:38:41.308 Harvest[2236:541410] home: /Users/longhua/Library/Developer/CoreSimulator/Devices/2CB55BFD-8176-4ADC-99D6-5280D7BCCF1B/data/Containers/Data/Application/E1D22141-A32F-468E-91D5-307BD82FA251

(lldb)

第 2 次运行:

binaryContentMatchPatten = ({

2017-07-26 10:39:13.476 Harvest[2273:544438] bundle: 0x608000261040

md5 = (

2017-07-26 10:39:13.476 Harvest[2273:544438] home: 0x7f83b470cbb0

48a96e1c00be257debc9c9c58fafaffe,

2017-07-26 10:39:13.476 Harvest[2273:544438] code: 0x7f83b450e460

f1a19b8929ec88a81a6bdce6d5ee66e6,

2017-07-26 10:39:13.477 Harvest[2273:544438] bundle: /Users/longhua/Library/Developer/CoreSimulator/Devices/2CB55BFD-8176-4ADC-99D6-5280D7BCCF1B/data/Containers/Bundle/Application/05F27F47-8384-40A7-9FDF-451255E282B3/Harvest.app

3e653285b290c12d40982e6bb65928c1,

2017-07-26 10:39:13.477 Harvest[2273:544438] home: /Users/longhua/Library/Developer/CoreSimulator/Devices/2CB55BFD-8176-4ADC-99D6-5280D7BCCF1B/data/Containers/Data/Application/D91EC197-590D-4538-9651-435056AB5D19

801e59290d99ecb39fd218227674646e,

真机中输出:

8d0cd4565256a781f73aa1e68e2a63de,

第 1 次运行:

e233edd82b3dffd41fc9623519ea281b,

2017-07-26 10:33:04.426597+0800 Harvest[7963:2911220] bundle: 0x17007b8c0

1db830f93667d9c38dc943595dcc2d85,

2017-07-26 10:33:04.426826+0800 Harvest[7963:2911220] home: 0x17414e650

...

2017-07-26 10:33:04.426857+0800 Harvest[7963:2911220] code: 0x14de0ed10

browserHomePagePatten = (

2017-07-26 10:33:04.426885+0800 Harvest[7963:2911220] bundle: /var/containers/Bundle/Application/0FF63C1B-80CC-4C79-9119-3EABE8D61F14/Harvest.app

{

2017-07-26 10:33:04.427091+0800 Harvest[7963:2911220] home: /var/mobile/Containers/Data/Application/EA36910B-A24D-48BD-A657-561247429851

name = "Chrome homepage: safefinder";

2017-07-26 10:33:04.446798+0800 Harvest[7963:2911220] write to bundle error: 您未有将文件“file1.txt”存款和储蓄到文件夹“丰收app”中的权限。

patten = "Chrome.*feed\.snowbitt\.com.*publisher=tingnew";

第 2 次运行:

},

2017-07-26 10:35:51.724381+0800 Harvest[7969:2912283] bundle: 0x17007c7c0

{

2017-07-26 10:35:51.724596+0800 Harvest[7969:2912283] home: 0x174150490

name = "Chrome homepage: safefinder";

2017-07-26 10:35:51.724627+0800 Harvest[7969:2912283] code: 0x145e0e4e0

patten = "Chrome.*feed\.snowbitt\.com.*publisher=TingSyn";

2017-07-26 10:35:51.724655+0800 Harvest[7969:2912283] bundle: /var/containers/Bundle/Application/36A3A0D0-B007-45B1-8672-7A9195CEDBF5/Harvest.app

},

2017-07-26 10:35:51.724857+0800 Harvest[7969:2912283] home: /var/mobile/Containers/Data/Application/BDAA6308-C671-4022-B97C-F8EFE36CE746

{

2017-07-26 10:35:51.740230+0800 Harvest[7969:2912283] write to bundle error: 您没有将文件“file1.txt”存款和储蓄到文件夹“丰收app”中的权限。

name = "Chrome homepage: safefinder";

展示 Harvest.app 的包内容:

patten = "Chrome.*searchword.*/90/";

图片 9

},

张开 NSHomeDirectory() 中的内容:

...

图片 10

filePathPatten = (

结果剖判:

"/Applications/WebShoppers",

(1卡塔 尔(阿拉伯语:قطر‎bundle 中有个 info.plist 文件,是 app 的安插文件;沙盒的 Library / Preferences 中有个 com.god.harvest.plist 文件,它用于 UserDefault 存款和储蓄;

"/Applications/WebShoppy",

另:使用 xcode > Devices 下载 app 的 container 内容,会看见重要正是沙盒中的内容,再增加一个 AppDataInfo.plist(正是 info.plist卡塔尔.

"/Applications/SoftwareUpdater",

(2卡塔尔国模拟器中,能够经过 writeToFile 向 沙盒 和 Bundle 中 写入文件;真机中是无法向 Bundle 中写入文件的;

"/Applications/webshoppers",

合西班牙语档中证实(地址:

"~/Library/Application Support/WebTools",

• A package is any directory that the Finder presents to the user as if it were a single file.

"~/Library/WebTools",

• A bundle is a directory with a standardized hierarchical structure that holds executable code and the resources used by that code.

"/Applications/WebTools",

"/Applications/WebTools.app",

"/Applications/SmartShoppy",

"/Applications/ShopTool",

"/Applications/ShoppyTool",

"/Applications/EasyShopper",

...

launchPathMatchPatten = (

"com.WebShoppers.agent.plist",

"com.WebShoppy.agent.plist",

"com.webshoppers.agent.plist",

"com.SoftwareUpdater.agent.plist",

...

whitelist = (

"~/Library/LaunchAgents/com.spotify.webhelper.plist",

"/Library/LaunchDaemons/com.intel.haxm.plist",

"/Library/LaunchDaemons/net.privatetunnel.ovpnagent.plist",

"/Library/LaunchDaemons/com.mixlr.MixlrAudioLink.plist",

"/Library/LaunchDaemons/com.mcafee.ssm.Eupdate.plist",

"/Library/LaunchDaemons/com.mcafee.ssm.ScanFactory.plist",

"/Library/LaunchDaemons/com.mcafee.ssm.ScanManager.plist",

"/Library/LaunchDaemons/com.mcafee.virusscan.fmpd.plist",

"/Library/LaunchDaemons/com.microsoft.autoupdate.helper.plist",

"/Library/LaunchAgents/com.microsoft.update.agent.plist",

"/Library/LaunchDaemons/com.crashplan.engine.plist"

...

这几个特征看起来是生龙活虎款反广告软件,况兼哈希值确实与已知的广告软件特别:

图片 11

例如Adware.MAC.Pirrit:

图片 12

归来Adware Doctor应用分界面,它已未雨准备好清理客户的系统:

本文由澳门皇冠金沙网站-澳门金莎娱乐手机版发布于互联网科技,转载请注明出处:Jenkins情形深刻理解,Simulator相关路径

关键词: