精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

安卓如何逆向_Dalvik 寄存器,字節(jié)碼,指令格式 2

jf_78858299 ? 來源:dust安全隨記 ? 作者:dust ? 2023-01-30 16:25 ? 次閱讀
  1. 數(shù)據(jù)操作指令
    1. move
      Move vA,vB       將vB寄存器的值賦給vA寄存器,源寄存器與目的寄存器都為4move-wide vA,vB  為4為的寄存器對(duì)賦值,源寄存器與目的寄存器都為4Move/from16 vAA,vBBBB     將vBBBB寄存器的值賦予vAA寄存器,源寄存器16位,目的寄存器8move-object vA,vB         出現(xiàn)object即為對(duì)象,這里就是為對(duì)象賦值,源寄存器和目的寄存器都是4move-object/from16 vAA,vBBBB   為對(duì)象賦值,源寄存器為16位,目的寄存器為8move-object/16 vAA,vBBBB       為對(duì)象賦值,源寄存器與目的寄存器都為16move-result vAA  將上一個(gè)invoke類型的指令操作的單子非都西昂結(jié)果賦值給vAA寄存器
      move-result-wide vAA 將上一個(gè)invoke類型指令操作的雙字非對(duì)象結(jié)果賦給vAA寄存
      move-exception vAA 保存運(yùn)行時(shí)發(fā)生的異常到vAA寄存器
      
  2. 返回指令
    1. return 
      return-void  表示函數(shù)從一個(gè)void方法返回,返回值為空
      return vAA   表示函數(shù)返回一個(gè)32位非對(duì)象類型的值,返回寄存器為8位的寄存器vAA
      return-wide vAA 表示函數(shù)返回一個(gè)64位非對(duì)象類型的值,返回寄存器為8位的寄存器vAA
      return-object vAA 返回一個(gè)對(duì)象類型d值,返回寄存器為8位的寄存器vAA
      
  3. 數(shù)據(jù)定義指令
    1. const
      數(shù)據(jù)定義指令用來定義程序中用到的常量,字符串,類等數(shù)據(jù)
      const/4 vA,#+B  將數(shù)值符號(hào)擴(kuò)展位32位后賦給寄存器vAA
      const/16 vAA,#+BBBB  將數(shù)值符號(hào)擴(kuò)展位32位后賦給寄存器vAA
      const vAA,#+BBBBBBBB  將數(shù)值賦給寄存器vA
      const/high16 vAA,#+BBBB0000  將數(shù)值右邊0擴(kuò)展為32位后賦給寄存器vAA
      const-string vAA,string@BBBB 通過字符串索引構(gòu)造一個(gè)字符串并賦值給寄存器vAA
      const-string/jmbo vAA,string@BBBBBBBB 通過字符串索引(較大)構(gòu)造一個(gè)字符串并賦給寄存器vAA
      const-class vAA,type@BBBB 通過類型索引獲取一個(gè)類引用并賦給寄存器vAA
      
  4. 實(shí)例操作指令
    1. check-cast vAA,type@BBBB:check-cast 0
      將vAA寄存器中的對(duì)象引用轉(zhuǎn)換成指定的類型
      如果失敗會(huì)爆出classcastException異常
      如果類型B指定的是基本類型,對(duì)于非基本類型的A來說,運(yùn)行時(shí)會(huì)失敗
      
      
      instanmce-of vA,vB
      判斷vB寄存器中的對(duì)象引用是否可以轉(zhuǎn)換成指定的類型
      如果可以vA寄存器賦值為1,否則vA寄存器賦值為0
      
      
      new-instance vAA,type@BBBB 
      構(gòu)造一個(gè)指定類型對(duì)象的新實(shí)例,并將對(duì)象引用賦值給vAA寄存器,類型符type指定的類型不能是數(shù)組類
      
  5. 數(shù)組操作指令
    數(shù)組操作包括獲取數(shù)組長(zhǎng)度,新建數(shù)組,數(shù)組賦值,數(shù)組元素取值與賦值等操作
    array-length vA,vB
    獲取vB寄存器中數(shù)組的長(zhǎng)度并將值賦給vA寄存器
    數(shù)組長(zhǎng)度指的是數(shù)組的條目個(gè)數(shù)
    
    
    new -array vA,vB type@CCCC
    構(gòu)造指定類型(type@CCCC)與大小(vB)的數(shù)組,并將值賦給vA寄存器
    filled-new-array {vC,vDvE} 
    構(gòu)造指定類型(type@CCCC)與大小(vB)的數(shù)組,并指定了參數(shù),并將值賦給vA寄存器
    
  6. 異常指令
    throw vAA 拋出vAA寄存器中指定類型的異常
    
  7. 跳轉(zhuǎn)指令
    goto:無條件跳轉(zhuǎn)
    switch:分支跳轉(zhuǎn)
    packed-switch :有規(guī)律跳轉(zhuǎn)
    if :條件跳轉(zhuǎn)  if-eq:等于  if-ne:不等于
    
  8. 比較指令
  9. 字段操作指令
    普通字段 => iget 讀---從后往前走 ,iput 寫---從前往后走
    靜態(tài)字段 => sget 讀 , sput寫
    
  10. 方法調(diào)用指令
invoke-virtual :調(diào)用實(shí)例的虛方法
invoke-super : 調(diào)用實(shí)例的父類/基類方法
invoke-direct :調(diào)用實(shí)例的直接方法
invoke-static :調(diào)用實(shí)例的靜態(tài)方法
invoke-interface: 調(diào)用實(shí)例的接口方法
  1. 數(shù)據(jù)轉(zhuǎn)換指令
opcode vA,vB
數(shù)據(jù)轉(zhuǎn)化指令用于將一種類型的數(shù)值轉(zhuǎn)換成另一種類型
vB寄存器放需要轉(zhuǎn)換的數(shù)據(jù),轉(zhuǎn)換后的結(jié)果保存在vA寄存器中
  1. 數(shù)據(jù)運(yùn)算指令
add 加
sub 減
mul 乘
div 除
rem 模
andorxor  異或
shl 有符號(hào)左移
shr 有符號(hào)右移
ushr 無符號(hào)右移
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5317

    瀏覽量

    120003
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6890

    瀏覽量

    88826
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    654

    瀏覽量

    32806
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    [資料分享]+《Android軟件安全與逆向分析》

    不同的寄存器表示方法——v命名法與p命名法 42  3.2.5  Dalvik字節(jié)的類型、方法與字段表示方法 43  3.3  Dalvik
    發(fā)表于 09-26 10:53

    寄存器與匯編指令

    逆向學(xué)習(xí)筆記3——寄存器與匯編指令
    發(fā)表于 05-07 16:40

    間接尋址及地址寄存器指令

    間接尋址及地址寄存器指令
    發(fā)表于 08-12 11:59 ?19次下載

    寄存器尋址方式

    寄存器尋址方式   寄存器尋址是對(duì)由指令選定的工作寄存器(R0--R7)進(jìn)行讀/寫,由指令操作碼
    發(fā)表于 03-14 15:29 ?2768次閱讀

    寄存器Load/Store內(nèi)存訪問指令

    5.4 多寄存器Load/Store內(nèi)存訪問指令寄存器Load/Store內(nèi)存訪問指令也叫批量加載/存儲(chǔ)指令,它可以實(shí)現(xiàn)在一組
    發(fā)表于 10-18 15:56 ?1次下載

    寄存器的Load/Store指令詳解

    (Single Register) 這些指令在ARM寄存器和存儲(chǔ)之間提供更靈活的單數(shù)據(jù)項(xiàng)傳送方式。數(shù)據(jù)項(xiàng)可以是字節(jié)、16位半字或32位字。 ② 多
    發(fā)表于 10-18 15:57 ?1次下載
    單<b class='flag-5'>寄存器</b>的Load/Store<b class='flag-5'>指令</b>詳解

    Thumb指令集之多寄存器數(shù)據(jù)傳送指令解析

    于過程調(diào)用與返回以及存儲(chǔ)塊拷貝。但為了編碼的緊湊性,這兩種用法由分開的指令實(shí)現(xiàn),并且這些指令也只使用單一的尋址方式。在其他方面,這些指令的性質(zhì)與等價(jià)的ARM
    發(fā)表于 10-19 09:56 ?0次下載
    Thumb<b class='flag-5'>指令</b>集之多<b class='flag-5'>寄存器</b>數(shù)據(jù)傳送<b class='flag-5'>指令</b>解析

    淺談單寄存器數(shù)據(jù)傳送指令

    11.5 單寄存器數(shù)據(jù)傳送指令 Thumb指令集支持寄存器的裝載和存儲(chǔ),即LDR和STR指令。8和類型的Load/Store
    發(fā)表于 10-19 10:04 ?1次下載

    指令指針寄存器是什么_作用有哪些

    指令指針寄存器IP(X86型CPU)相當(dāng)于ARM型CPU中的程序計(jì)數(shù)PC,用于控制程序中指令的執(zhí)行順序。正常運(yùn)行時(shí),IP中含有BIU要取的下一條
    發(fā)表于 11-13 09:58 ?1.2w次閱讀
    <b class='flag-5'>指令</b>指針<b class='flag-5'>寄存器</b>是什么_作用有哪些

    指令指針寄存器和指針寄存器差異性在哪兒

    指令寄存器IR ,是臨時(shí)放置從內(nèi)存里面取得的代碼數(shù)據(jù)(也就是指令),然后等待譯碼來譯碼。指令指針寄存器
    發(fā)表于 11-13 10:24 ?8105次閱讀
    <b class='flag-5'>指令</b>指針<b class='flag-5'>寄存器</b>和指針<b class='flag-5'>寄存器</b>差異性在哪兒

    逆向基礎(chǔ)之寄存器和內(nèi)存詳解

    本文主要介紹的是逆向基礎(chǔ)的寄存器和內(nèi)存方面的信息,首先介紹的是逆向主要是做什么的,其次對(duì)編程和機(jī)器架構(gòu)做了個(gè)簡(jiǎn)介,最后詳細(xì)的闡述了逆向基礎(chǔ)的寄存器
    發(fā)表于 04-26 09:52 ?2964次閱讀

    寄存器功能

    寄存器功能免費(fèi)下載。
    發(fā)表于 06-21 15:43 ?1次下載

    如何逆向_Dalvik 寄存器字節(jié)指令格式 1

    0x01 dalvik寄存器 ``` 32位,所有類型, ?
    的頭像 發(fā)表于 01-30 16:24 ?500次閱讀

    JTAG 指令寄存器指令譯碼介紹

    指令寄存器的目的是通過 TDI 信號(hào)移入指令。另外,指令寄存器還可以在新指令完全移入之前,存儲(chǔ)當(dāng)
    發(fā)表于 02-03 10:42 ?3193次閱讀

    Linux程序狀態(tài)寄存器訪問指令

    (CPSR或SPSR) MRS R 0 ,CPSR ;傳送CPSR的內(nèi)容到R 0 MRS R 0 ,SPSR ;傳送SPSR的內(nèi)容到R 0 2、【MSR指令】 MSR 程序狀態(tài)寄存器(CPSR或
    的頭像 發(fā)表于 10-07 14:22 ?934次閱讀