一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

IDA在內存中dump出android的Dex文件

 quasiceo 2017-01-01

轉載自http://drops./tips/6840

在現在的移動安全環(huán)境中,程序加殼已經成為家常便飯了,如果不會脫殼簡直沒法在破解界混的節(jié)奏。ZJDroid作為一種萬能脫殼器是非常好用的,但是當作者公開發(fā)布這個項目后就遭到了各種加殼器的針對,比如說搶占ZJDroid的廣播接收器讓ZJDroid無法接收命令等。我們也會在”安卓動態(tài)調試七種武器之多情環(huán) - Customized DVM”這篇文章中介紹另一種架構的萬能脫殼器。但工具就是工具,當我們發(fā)布的時候可能也會遭到類似ZJDroid那樣的針對。所以說手動脫殼這項技能還是需要學習的。在這一節(jié)中我們會介紹一下最基本的內存dump流程。在隨后的文章中我們會介紹更多的技巧。

這里我們拿alictf2014中的apk300作為例子來介紹一下ida脫簡單殼的基本流程。 首先我們用調試JNI_OnLoad的技巧將程序在運行前掛起:

adb shell am start -D -n com.ali.tg.testapp/.MainActivity

![enter image description here][59]

然后在libdvm.so中的dvmDexFileOpenPartial函數上下一個斷點:

然后我們點擊繼續(xù)運行,程序就會在dvmDexFileOpenPartial()這個函數處暫停,R0寄存器指向的地址就是dex文件在內存中的地址,R1寄存器就是dex文件的大?。?/p>

然后我們就可以使用ida的script command去dump內存中的dex文件了。

1
2
3
4
5
6
7
8
9
static main(void)
{
  auto fp, begin, end, dexbyte;
  fp = fopen("C:\\dump.dex", "wb");
  begin = r0;
  end = r0 + r1;
  for ( dexbyte = begin; dexbyte < end; dexbyte ++ )
      fputc(Byte(dexbyte), fp);
}

Dump完dex文件后,我們就可以用baksmali來反編譯這個dex文件了。

因為過程有點繁瑣,我錄制了一個dump dex文件的視頻在我的github,有興趣的同學可以去下載觀看。

當然這只是最簡單脫殼方法,很多高級殼會動態(tài)修改dex的結構體,比如將codeoffset指向內存中的其他地址,這樣的話你dump出來的dex文件其實是不完整的,因為代碼段保存在了內存中的其他位置。但你不用擔心,我們會在隨后的文章中介紹一種非常簡單的解決方案,敬請期待。

 

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    九九热精品视频免费在线播放| 小黄片大全欧美一区二区| 五月婷婷缴情七月丁香| 国产日韩综合一区在线观看| 五月天丁香婷婷一区二区| 九九热精彩视频在线免费| 日本免费一级黄色录像| 成年人视频日本大香蕉久久| 男女激情视频在线免费观看| 国产丝袜美女诱惑一区二区| 国产情侣激情在线对白| 国产精品成人一区二区三区夜夜夜 | 色老汉在线视频免费亚欧| 欧美日韩免费黄片观看| 精品一区二区三区不卡少妇av | 好吊视频有精品永久免费| 国产美女精品人人做人人爽| 国产欧美性成人精品午夜| 成人午夜在线视频观看| 欧美日韩国产免费看黄片| 亚洲在线观看福利视频| 国产亚洲不卡一区二区| 丰满少妇被猛烈插入在线观看| 六月丁香六月综合缴情| 亚洲熟女熟妇乱色一区| 91偷拍裸体一区二区三区| 亚洲精品欧美精品一区三区| 麻豆视传媒短视频在线看| 亚洲高清中文字幕一区二区三区| 嫩草国产福利视频一区二区| 91免费一区二区三区| 91欧美日韩国产在线观看| 国产99久久精品果冻传媒| 国产高清一区二区不卡| 五月婷婷综合激情啪啪| 激情内射亚洲一区二区三区| 日韩免费成人福利在线| 真实国产乱子伦对白视频不卡| 久热香蕉精品视频在线播放| 九九热视频网在线观看| 国产成人国产精品国产三级|