版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1看雪悬赏问答资料导智能设AndroidiOS安软件逆向编程技术加壳脱壳算法资源WEB安全CTF招聘专区职业生涯外文翻茶余饭后会员专企业SRC项版发发新1『Android安全1 scxc4小时前加固逆向分析—dex还上DEXdump与修复下面开始一、首先,我们知dex必然会调用dalvik/vm/DvmDex.cpp中以下两个函数任意一个dvmDexFileOpenFromFddvmDexFileOpenFromFdDexFile DexFile1dvmDexFileOpenFromFd(int DvmDex**23 4DexFile*5MemMap6 parseFlags 7 result -8 9parseFlags|= (lseek(fd, SEEK_SET) ALOGE("lseek goto} (sysMapFileInShmemWritableReadOnly(fd, ALOGE("Unable mapgoto pDexFile dexFileParse((u1*)memMap.addr,memMap.length, (pDexFile NULL)ALOGE("DEXparsegoto = (pDvmDex NULL)dexFilegoto} sysCopyMap(&pDvmDex->memMap,pDvmDex->isMappedReadOnly *ppDvmDex = 1 2 directly-mapped header3 DexOptHeader*4 pointers directly-mappedstructs arrays 5 6 7 8 9 These mapped of "auxillary" included the DexClassLookup* // points start DEX data track overheadforauxillarystructures additionalapp-specificdatastructureswith 通过pDexFile->baseAddr获取到dex加载的基址 1DexHeader2 includesversion3 adler32checksum4 SHA- 5 lengthof 6 offset 7 8 9 通过pDexFile->pHeader->fileSize获取到dex文件大小 fd open("/sdcard/dump.dex",O_CREAT O_WRONLY,write(fd,pDexFile->baseAddr,pDexFile->pHeader-这这时我们已经得到dex了。 壳对dex做了什么?1、修改DexClassDef中的classDataOff字段保存的偏移为负偏22、将classdata数据classdata的数据保存在/data/data/xxxx/.1/1.jardex之前先分配空间给jar包,所以他的偏移为负值,内存结构如下图:1、获取到pDexFile后,我们遍历pDexFile->pClassDefs调用dexGetClassData获取到ClassData。将ClassData经过wri eb128函数编码,写入到文件classdata并记录每个class的大小(Dexhunter做法#definelog(...){FILE =fopen("/sdcard/dumpdex.log", if
VA_ARGSloghookvoid{constDexClassDef*pClassDefs=pDexFile- classDefsSize=pDexFile->pHeader-DexMapList* =(DexMapList*)(g_pDexFile->baseAddr pDexFile- cls_dat_off i i pMaps- {
if(pMaps->list[i].type //0x2000{cls_dat_off=pMaps->list[i].offset; }log("classdata_offset:0x%x\n", classdata (u4 i<classDefsSize;{const data dexGetClassData(g_pDexFile,DexClassData =if(!pData) int open("/sdcard/classdata",O_APPEND O_CREAT intclass_data_len=uint8_t*out EncodeClassData(pData,log("%d,",class_data_len);//classdatacls_dat_off write(fd,out, 以以上ReadClassData、EncodeClassData函数用的Dexhunter的。Dexhunter作者3、将classdata写入到classdata偏移处4、通过程序修复classdef中的偏移5、运行完后我们已经获取到正确的 out.dex拖入JEB已经可以正常解析baidu_unpack_so.zip上次的so的idbdump.zipclassdata、dump.dex、log文件out.zipbaidu_unpack_so.zip(1.72MB,38)dump.zip(3.46MB,33)out.zip(3.45MB,33 回回复 帖已收到0次赞赏,累计¥06收ddddddfx4时2楼scxc4时3楼1回回ddddddfxddddddfx怪客3时4楼2zfdyqzfdyq3时5楼1不知世事3时6楼hanhaochi3时7楼回回scxc3时8楼1hanhaochiYoungs3Youngs3时9楼峰峰3时10楼大神,onCreateinvoke-static{v1,p00},Lcom/baidu/protect/A;->V(ILjava/lang/Object;[Ljbject;)V,这个函数,流程的没法看了clumsybirda2时11楼看见楼上的评论白高兴了唉,oncreatedexscxc1时 1
12楼峰峰大神,onCreatevoke-static{v1,p0,v0},Lcom/baidu/protect/A;->V(ILjavect;[L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南昌大学第一附属医院面向海内外公开招聘部分行政与临床科室负责人备考题库及1套参考答案详解
- 2025恒丰银行杭州分行社会招聘23人笔试历年典型考题及考点剖析附带答案详解
- 2026年五指山市招商引资服务专员聘任备考题库(第1号)发布及参考答案详解1套
- 2025天津渤海银行总行交易银行部国际业务中心招聘笔试历年典型考题及考点剖析附带答案详解
- 2025中国农业发展银行怒江州分行招聘(1人)笔试历年典型考题及考点剖析附带答案详解
- 2026年中粮米业(吉林)有限公司招聘备考题库及答案详解1套
- 2026年东阿县卫生类事业单位公开招聘工作人员11人备考题库含答案详解
- 2026年恒丰银行深圳分行社会招聘5人备考题库完整答案详解
- 2025年赣江新区儒乐湖第一幼儿园公开招聘管理岗位备考题库及一套答案详解
- 2026年山西华兴铝业有限公司招聘备考题库及一套完整答案详解
- 工厂交货协议书
- 保护野生动物安全课件
- 天津市八校联考2025届高三上学期1月期末考试英语试卷(含答案无听力原文及音频)
- 金太阳陕西省2025-2026学年高一上学期12月考试政治(26-167A)(含答案)
- 土木工程科学数据分析方法 课件 第3章 试验数据误差及处理 -
- 2026届辽宁省辽南协作校高一数学第一学期期末监测试题含解析
- 2026中国中式餐饮白皮书-
- 2025年北京航空航天大学马克思主义基本原理概论期末考试模拟题带答案解析(必刷)
- 江苏省2025年普通高中学业水平合格性考试语文试卷(含答案)
- 高一物理(人教版)试题 必修二 阶段质量检测(一) 抛体运动
- 2025年秋期国家开放大学《理工英语4》期末机考精准复习题库
评论
0/150
提交评论