2017 Summary

2017 passed in a blink, every year is a very important year, this year I worked a complete year at Alibaba (Ant Financial) for the first time (natural year January to December). Last year’s summary mentioned various freshness and discomfort have all become accustomed to and adapted. ...
essay, reflection, experience, and career

Azeria Labs Challenges Stack1-5

Recently learned ARM Exploit tutorial from https://azeria-labs.com/, author gave several challenge problems, below are solution approaches. Problems here: https://azeria-labs.com/part-3-stack-overflow-challenges/ Environment Directly use author’s provided virtual machine https://azeria-labs.com/arm-lab-vm/ armv6 Raspberry Pi ...
tutorial, learning, guide, development, and tools

MachOExplorer Alpha

After more than half a year of intermittent development, recently finally released a beta version. ...
macho, binary, reverse-engineering, iOS, and analysis

AppleTrace with MonkeyDev

AppleTrace with MonkeyDev can Trace any App (Related article: https://everettjf.github.io/2017/09/21/appletrace/ ) Result Demo: ...
appletrace, tracing, performance, iOS, and tools

AppleTrace Performance Analysis Tool

(Related article: https://everettjf.github.io/2017/10/12/appletrace-dancewith-monkeydev/ ) Background Normally using Instruments (mainly Time Profiler) for iOS App performance analysis is sufficient, but Time Profiler merges all calling methods together, losing temporal representation. Until one day saw Android development colleagues using systrace for performance analysis, systrace generates an html file, displaying function (method) call time consumption in chronological order. Thought: if iOS had such a tool would be great. Learned this html file is generated by catapult. One day saw iosre forum a post about hook objc_msgSend. Suddenly thought, can combine catapult to generate Objective C method performance analysis chart (let’s call it that for now). (Although there were always methods to hook objc_msgSend, but this time the ready-made delicacy finally couldn’t resist). Said do it and started, paused a few days developing MachOExplorer. Recently been using very limited spare time to develop MachOExplorer at snail’s pace, but now seeing generating performance analysis chart is more important, recalling past hard overtime work, if could generate this performance analysis chart, wouldn’t have solved problems quickly then. ...
performance, optimization, and iOS

iOS Application Decryption Using lldb

In book : Hacking iOS Applications https://web.securityinnovation.com/hubfs/iOS%20Hacking%20Guide.pdf Addition: Since lldb supports python script, can make it more automatic through scripts. Had this idea, but never invested time to write it. Later, 0xbbc implemented this functionality. Link ...
lldb, debugging, iOS, and breakpoint

iOS10 Jailbreak Development Environment Setup

Devices iPhone5S iOS10.2 Jailbreak Step 1. yalu https://yalu.qwertyoruiop.com/ http://www.cydiaimpactor.com/ Step 2. Fix cydia error http://www.iblogapple.com/2016/12/31/fix-cydia-error-could-not-open-file-varlibdpkgstatus-ios-10-jailbreak/ ...
iOS, development, and mobile

LLVM Clang Plugin Development

This article almost copy part of the official article, but fix many bugs that may impede newbees on the way to develop a clang plugin. Environment : macOS Step 0 : Obtain Clang mkdir ~/clang-llvm && cd ~/clang-llvm git clone <http://llvm.org/git/llvm.git> cd llvm/tools git clone <http://llvm.org/git/clang.git> cd clang/tools git clone <http://llvm.org/git/clang-tools-extra.git> extra ...
tutorial, learning, guide, development, and tools

CocoaPods Dependency Graph

Generate Framework Dependency Graph Based on podspec Code: https://github.com/everettjf/Yolo/tree/master/PodspecDependencyGraph ...
tutorial, learning, guide, development, and tools

Spacemacs Getting Started

Background Official site: http://spacemacs.org/ Installation Step zero: Install latest emacs. brew install emacs --with-cocoa ...
emacs, editor, tools, productivity, and tutorial
Archive ; Tags ; Product ; GitHub ; About ;