Tag:Symbol table

  • Playing with __ attributes__ (III)


    visibility __attribute__((visibility(“visibility_type”)))When we don’t want to expose a method, we usually use itstaticKeyword to decorate the function. In this way, the method will not be output to the symbol table at compile time. See this article for detailsBowen Llvm and GCC actually provide similar servicesattribute Use example: __attribute__((visibility(“default”))) void foo1(int x, int y); __attribute__((visibility(“hidden”))) int […]

  • 14 hook principle (I) fishhook


    preface This article begins to share with youHook (hook)The principle of, including the native of IOS systemMethod Swizzle, there is also a well-known hook third-party framework, such asfishHook、Cydia Substrateas well asinlineHookWait, and then I’ll focus on itfishHookI hope you can follow the actual operation again. 1、 Hook overview HookChinese Translationa hookorhook。 stayIOS reverseMiddle refers toChange […]

  • IOS Compilation Principle


    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, […]

  • Leetcode notes – hash


    Theoretical basis of hash table Used to quickly determine whether a native is in the collection (quick search) The hash function maps the passed key to the index of the symbol table Hash conflict solves the problem that multiple keys are mapped to the same index of the symbol table. The common solutions are zipper […]

  • IOS crash protection, you see this is enough – Part 2


    0x1: Previously Part IIt is mentioned that the crash processing process is divided into four links, and the methods of crash protection are also analyzed. In this chapter, the other three links are described. 0x2: crash interception All unprotected crashes will eventually come here, where we must ensure the interceptionoverall、stabilityIntercept all types of exceptions as […]

  • 4. IOS enhancements – links and symbols


    First, let’s understand what links are: The essence of linking is to combine one or more target files and the required libraries (static / dynamic libraries, if necessary) into one file(Mach-OExecutable file)usually.oThe file is called the target file.Let’s take a look at the generation process of the target file: image.png Here we should pay attention […]

  • IOS enhancement: symbol


    preface: I’ve been in contact with bugly before, andBugly Document CenterHere are some contents of IOS symbol table. Symbol is a concept often contacted in daily development. Although there are few direct application scenarios in daily development, symbol compilation time and runtime play an important role. Today, let’s learn the symbol and prepare for the […]

  • 14 – hook principle


    Hook overview HOOKChinese translation is “hook” or “hook”. In IOS reverse, refers toChange the program running processA technology of. Through hook technology, other people’s programs can execute their own code. This technique is often used in reverse engineering. Therefore, in the learning process, we should focus on understanding its principle, so as to effectively protect […]

  • Algorithm (Fourth Edition) c# exercise solution – 3.1


    Write in front A new line has been added.The whole project is hosted on GitHub:https://github.com/ikesnowy/Algorithms-4th-Edition-in-CsharpFor more convenient versions, see:https://alg4.ikesnowy.com/The library file that may be used in this section is symboltable, which can also be found on GitHub.Use Ctrl + F to find questions. Exercises & problem solving 3.1.1 answer Official answer:https://algs4.cs.princeton.edu/31elementary/GPA.java.html ST.java:https://algs4.cs.princeton.edu/code/edu/princeton/cs/algs4/ST.java.html Create a symbol […]

  • Android nativecrash capture and parsing


    In Android development, NE has always been a problem that can not be ignored but is extremely difficult to solve. The reason is that it involves cross-end development and analysis. You need to be familiar with Java, C & C + + and NDK development at the same time, and the solution is not as […]

  • Implementation of dynamically modifying C language functions


    Pay attention to the warehouse and get updates in time:iOS-Source-Code-Analyze Follow: Draveness · Github As a runtime based language, Objective-C has very powerful dynamic characteristics. It can introspect, adjust methods, add attributes to classes and modify message forwarding links during runtime. Almost all classes, methods and attributes of objecitve-c layer can be modified through runtime […]

  • Exploring mach-o file


    Previously, I was responsible for the package volume optimization of the project and learned the format of the mach-o file. What kind of file is mach-o? What can we do after knowing its composition? This article will start from the introduction of mach-o file, and then look at some practical applications after understanding it. Mach-o […]