原创 1103. Integer Factorization (30)

題目如下: The K-P factorization of a positive integer N is to write N as the sum of the P-th power of K positive integer

原创 對LCS算法及其變種的初步研究

LCS的全稱爲Longest Common Subsequence,用於查找兩個字符串中的最大公共子序列,這裏需要注意區分子序列與子串,所謂子序列,指的是從前到後,可以跳躍元素篩選,而字串則必須連續篩選。 例如AB##!C!@#E和AB1

原创 1100. Mars Numbers (20)

題目如下: People on Mars count their numbers with base 13: Zero on Earth is called "tret" on Mars. The numbers 1 to 12

原创 在OC代碼中創建Swift編寫的視圖控制器

背景 近日在和一羣朋友做項目,我和另一位同學負責iOS客戶端,我是一直使用OC的,而他只會Swift,因此在我們分工協作之後,就需要把代碼合在一起,這就牽扯到如何在TabbarController中添加一個Swift創建的子控制器

原创 [LeetCode]Linked List Cycle II

題目鏈接:Linked List Cycle II 題目內容: Given a linked list, return the node where the cycle begins. If there is no cycle,

原创 iOS端JSON轉Model鏈式編程框架SuperKVC用法與原理

背景 在客戶端編程中,字典轉模型是一個極爲常見的問題,蘋果提供了KVC來實現NSDictionary到Model的注入,但是KVC只能進行單層淺注入,且無法處理類型轉換、key與屬性名不對應、深度注入等問題,筆者從Masonry得到啓發,

原创 使用Ettercap filter進行流量監聽和數據篡改

簡介 Ettercap是一個綜合性的中間人攻擊工具,使用它可以進行ARP欺騙、攔截器、DNS欺騙等操作,本文將介紹使用ettercap的文本模式進行代碼注入的方式和注意點。 安裝ettercap ettercap提供了對各個操作系統的支持

原创 WiFi文件上傳框架SGWiFiUpload

背景 在iOS端由於文件系統的封閉性,文件的上傳變得十分麻煩,一個比較好的解決方案是通過局域網WiFi來傳輸文件並存儲到沙盒中。 簡介 SGWiFiUpload是一個基於CocoaHTTPServer的WiFi上傳框架。CocoaHTTP

原创 利用BBRSACryptor實現iOS端的RSA加解密

背景 RSA這種非對稱加密被廣泛的運用於網絡數據的傳輸,但其在iOS上很難直接實現,BBRSACryptor框架通過移植openssl實現了iOS端的RSA,本文將介紹如何使用BBRSACryptor生成證書,加載公鑰,以及後端如何用ph

原创 iOS開源加密相冊Agony的實現(三)

簡介 雖然目前市面上有一些不錯的加密相冊App,但不是內置廣告,就是對上傳的張數有所限制。本文介紹了一個加密相冊的製作過程,該加密相冊將包括多密碼(輸入不同的密碼即可訪問不同的空間,可掩人耳目)、WiFi傳圖、照片文件加密等功能。目前項目

原创 iOS開源加密相冊Agony的實現(七)

簡介 雖然目前市面上有一些不錯的加密相冊App,但不是內置廣告,就是對上傳的張數有所限制。本文介紹了一個加密相冊的製作過程,該加密相冊將包括多密碼(輸入不同的密碼即可訪問不同的空間,可掩人耳目)、WiFi傳圖、照片文件加密等功能。目前項目

原创 iOS彙編入門教程

前言 對於應用層開發人員而言,僅僅掌握Objective-C和系統框架即可較好的完成開發,但在涉及到應用加固、逆向分析等內容時僅有應用層開發技能就會顯得非常的無力,因此掌握彙編對於突破iOS開發水平的瓶頸十分有效。 一個例子 以反調試爲例

原创 iOS圖形手勢識別框架SGGestureRecognizer

簡介 蘋果官方爲我們提供了簡單手勢的識別器,但對於圖形手勢,例如五角星、三角形等的識別,就需要自己實現了。通過識別這些手勢,可以去執行特定的操作,或是輸入公式、釋放魔法等,可以爲App增光添彩。 下載與使用 該框架已經上傳到github,

原创 基於AOP的iOS用戶操作引導框架設計

背景 有一種現象,App設計者覺得理所當然的操作方式,卻常常被用戶所忽視,爲了防止這種現象發生,就要爲App設計一個幫助,一種低成本的方案是將幫助文檔寫成HTML然後展示給用戶,這樣的方式常常不能帶來好的效果,一種較好的方式是高亮用戶應該

原创 iOS端執行包含外部引用的js並相互通信

背景 某些情況下,需要調用js的一些代碼來執行一些操作,並且將處理結果回傳到OC。 概述 爲了執行一段包含外部引用的js,需要使用UIWebView,通過fileURL去加載一個js或者HTML頁面,爲了方便的在兩個語言之間通信,需要藉助