240 發(fā)簡(jiǎn)信
IP屬地:上海
  • 120
    函數(shù)棧幀與IP寄存器

    接著上篇文章內(nèi)容 函數(shù)棧幀與BP寄存器[https://juejin.cn/post/7402058032651665462] 我們繼續(xù)構(gòu)造兩個(gè)函數(shù)的棧幀,GDB調(diào)試畏邢,當(dāng)程序...

  • 120
    函數(shù)棧幀與BP寄存器

    讓我們寫(xiě)一段簡(jiǎn)單的代碼來(lái)分析 通過(guò)GDB調(diào)試,我們可以查看寄存器和匯編代碼,方便我們理解這里我們?cè)趍ain,foo函數(shù)加上斷點(diǎn) 通過(guò)layout split命令同時(shí)查看源碼和...

  • 120
    inline hook 原理

    主要思路是找到被hook函數(shù)地址,并將被hook函數(shù)地址執(zhí)行指令替換成jmp <地址偏移量>浴韭,這個(gè)地址由hook函數(shù)地址和target函數(shù)地址相減計(jì)算而來(lái),jmp相對(duì)跳轉(zhuǎn)指令...

  • 120
    Debugger底層原理

    弄清楚GDB的底層原理音羞,首先需要了解一下ptrace這個(gè)系統(tǒng)調(diào)用: ptrace 是一個(gè)用于在 Unix 和 Unix-like 操作系統(tǒng)上進(jìn)行進(jìn)程調(diào)試的系統(tǒng)調(diào)用囱桨。它允許一個(gè)...

  • MMKV修改數(shù)據(jù)源碼

    大家都知道MMKV性能好仓犬,因?yàn)槭侵苯硬僮鲀?nèi)存嗅绰。內(nèi)存其實(shí)就是一個(gè)數(shù)組結(jié)構(gòu),根據(jù)地址去尋址查找數(shù)據(jù)的搀继,就跟數(shù)組通過(guò)index查找數(shù)據(jù)一樣窘面,但是數(shù)組修改是很不方便的,比如刪除中間一...

  • 使用libunwind獲取堆棧

    Ubuntu安裝libunwindapt-get install libunwind8-dev編譯命令:gcc unwind.c -lunwind

  • AspectJ基本語(yǔ)法和意義

    AspectJ是一種面向切面編程(AOP)語(yǔ)言叽躯,它可以用于在Java代碼中定義和使用切面财边。下面是AspectJ的基本語(yǔ)法和意義: 下面是AspectJ的完整語(yǔ)法: 切面聲明 ...

  • 120
    程序的構(gòu)造和解釋

    1. 構(gòu)造函數(shù)抽象 先思考一個(gè)問(wèn)題酣难,如何計(jì)算平方根?最常用的方法就是牛頓逐步逼近法黑滴, 比如我們要計(jì)算2的平方根憨募,假定初始猜測(cè)值是1 猜測(cè)商平均值 一般我們用代碼寫(xiě)出來(lái)就是下面...

  • 120
    Mac OS啟動(dòng) Android Device Monitor卡住

    觀察其他App的UI結(jié)構(gòu),需要用到Android Device Monitor 的 Dump View Hierarchy 功能莺债。 Mac 上 Monitor 在 Andro...

  • Android識(shí)別管道文件

    Java的File類提供的接口僅限于判斷目錄和文件滋觉,有時(shí)候在復(fù)制某些數(shù)據(jù)的時(shí)候,還需要判斷其它的文件類型齐邦,比如管道文件椎侠,需要過(guò)濾掉,不然IO操作的時(shí)候會(huì)阻塞措拇。這里我們用到的是...

  • sychronized原理

    偏向鎖適合在只有一個(gè)線程執(zhí)行同步代碼時(shí)我纪,提升性能線程進(jìn)入同步代碼塊是,會(huì)通過(guò)CAS(compare and swap)操作丐吓,設(shè)置對(duì)象頭的鎖標(biāo)志位浅悉,如果標(biāo)志位的線程id為空,則...

  • 120
    TCP握手原理

    客戶端向服務(wù)端發(fā)起連接請(qǐng)求,帶上SYN(value1)同步標(biāo)記 服務(wù)端收到客戶端的請(qǐng)求券犁,給與回復(fù)ACK(value1+1)术健,以及自己的請(qǐng)求SYN(value2) 客戶端收到S...

  • 120
    SSL握手原理

    目的就是生成對(duì)稱加密密鑰 客戶端向服務(wù)端發(fā)送信息,包含客戶端隨機(jī)數(shù)粘衬,支持的加密算法版本 服務(wù)端向客戶端發(fā)送服務(wù)端隨機(jī)數(shù)荞估,和自己的公鑰證書(shū) 客戶端通過(guò)操作系統(tǒng)預(yù)置的證書(shū)鏈,驗(yàn)證...

  • Kotlin特性

    內(nèi)聯(lián)inline 擴(kuò)展 Class.<extension> 委托 by 自動(dòng)添加getter稚新,setter 判空勘伺?: 函數(shù)類型 -> <Return> 函數(shù)引用 ::<me...

  • Android SharedPreferences 源碼解析

    此篇主要講commit和apply操作的實(shí)現(xiàn)我們對(duì)這玩意兒的印象是commit是同步操作,apply是異步操作褂删,盡量用apply飞醉,少用commit。那么問(wèn)題來(lái)了屯阀, 線上卡頓日...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品