• ## IOS Compilation Principle

Time：2022-4-8

Hook changes the execution flow of the function. 1. Redirection: ASLR (random value) + offset value = memory value 0x5FCC + 0x0000000102edc000 = 0x102ee1fccAn executable file in memory is called a mirror viewdidload 0x102ee1fcc Executable file 0x0000000102edc000 0x5FCC Redirection: find the internal function address by calculationAssembly instruction and binary are in one-to-one correspondence. For example, […]

• ## 224. Basic calculator │ leetcode

Time：2022-4-3

Implement a basic calculator to calculate the value of a simple string expression s. Example 1: Input: S = “1 + 1” Output: 2 Example 2: Input: S = “2-1 + 2” Output: 3 Example 3: Input: S = “(1 + (4 + 5 + 2) – 3) + (6 + 8)” Output: 23 Tips: […]

• ## Several methods of IOS reverse hook

Time：2022-3-24

1. The hook OC method should be implemented by runtime`#import <UIKit/UIKit.h> #import <Foundation/Foundation.h> %hook AppDelegate (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions { } %end`2. The C method of hook system. The C method of hook system mainly uses fishhook artifact To know the principle of fishhook, we need to know the loading principle of external dynamic link […]

• ## Reverse primary – assembly (I)

Time：2022-3-21

1.1. Base system Definition of hexadecimal:Definition of octal system: it is composed of eight symbols, which are 01234567 every eight into one.Definition of decimal system: it is composed of ten symbols, namely 0123456789 every decimal one.N-ary definition: it is composed of N symbols, and every n enters one. 1.2. Binary operation Octal operation 2+3=5 2*3=6 […]

• ## Using Yum management software for Linux

Time：2022-3-18

Yum is based on RPM package management software. It can automatically download and install RPM packages from the specified server. It can automatically handle dependencies and install all dependent software at one time without cumbersome downloading and installing one by one. Yum provides commands to find, install and delete software. #List all software that can […]

• ## Interviewer: if you want to save the IP address, what data type is better?

Time：2022-3-16

When looking at the third version of high-performance MySQL (section 4.1.7), the author suggestsWhen storing IPv4 addresses, 32-bit unsigned int should be used to store IP addresses instead of strings.But no specific reasons were given. In order to find out the reason, I checked some information and recorded it. Compared with string storage, using unsigned […]

• ## C # primitive type. Why does string a = “123” work like string a = “123”?

Time：2022-3-9

The data types directly supported by the compiler are calledPrimitive type。 Because some data types are so commonly used, many editors allow code to manipulate them with simplified syntax. At the beginning of programming, I was particularly puzzled. Int32 a = new int32(); Can be used to define a 32-bit integer variable. Use int b […]

• ## Start optimization — binary rearrangement

Time：2022-3-7

Start optimization — binary rearrangement Start optimization Start time: from the user clicking the app icon to the didfinishlaunching of appdelegate Cold start: the memory does not contain app related data. Generally, we can achieve cold start by restarting the mobile phone Hot start: refers to the start when the data still exists after killing […]

• ## About the differences between int and tinyint types of field definitions in MySQL

Time：2022-3-1

Int and tinyint are the difference between big bowl and small bowl. No matter how much they are loaded in their limited space, they will occupy their own specified fixed storage space. Int is 4 bytes and tinyint is 1 byte A byte occupies 8 bits, that is to say, the maximum decimal number that […]

• ## Design of practical application of symbol and weak reference

Time：2022-2-26

Because in main C and strong In the C file, the integer variable strong is a global variable, and their scope is cross file. If you are in different scopes, even if you have the same variable name, you will not report an error.Xingchi TechnologyThe compiler will have default priority processing: variables with smaller scope […]

• ## Go language data type – basic type

Time：2022-2-21

Data type of go languageIt can be divided into two categories: basic type and derived type Foundation type 1. Boolean: the value of boolean type can only be true or false2. String: a finite length string of characters in a sequence3. Number: a data type that contains both integer and floating-point types Integer type describe […]

• ## Selected multi line code content # comment of pycharm basic operation

Time：2022-2-16

Select multiple lines of code and press Ctrl + /, and the selected lines will be annotated. Press Ctrl + / againto cancel the annotation Select multiple lines of code, under English input method, press and hold the key on the left of “enter” symbol to comment multiple lines