吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12333|回复: 10
上一主题 下一主题
收起左侧

[Android 原创] DEX文件的修改

  [复制链接]
跳转到指定楼层
楼主
pcy190 发表于 2019-5-22 20:15 回帖奖励
最近学习Android的一些基础的文件格式。本文以dex文件格式的修改为例,破解一个简单的程序。
重点在于利用脚本对DEX的修改修正校验。
  1. unzip -d ./out  app-release.apk解压apk文件
  2. 用ida打开classes.dex文件,alt+T查找字符串ID0x7f06002c,结合查找makeText等特征,找到相应代码,并通过Patch Program将原来if-nez的机器码39 00 0f 00修改为if-eqz对应的38 00 0f 00。此处,if-nezOpcode39 ,if-eqzOpcode38
  3. 修改后的DEX,其DexHeader头部的checksum和signature字段是错误的,需要修正。
    有两种方法:
    • 可以使用DexFixer.1sc的010 Editor脚本来实现对EDX的修改。010 Editor打开DEX文件,在文件上执行DexFixer.1sc脚本即可。(脚本贴在文末)
    • 使用dex2jar提供的工具d2j-dex-recompute-checksum
      此处下载
      d2j-dex-recompute-checksum -f ./classes.dex

      命令执行后,会在当前目录生成修正后的文件classes-rechecksum.dex。更名为classes.dex后重新打包APK并签名即可。

DexFixer.1sc脚本

int endian = ReadInt(0x28); //endian_flag
if (endian == 0x12345678) {
    LittleEndian();
} else {
    BigEndian();
}

uchar sha1[20];
ReadBytes(sha1, 0xc, 20);

Printf("src sha1: ");
uint i=0;
for (i=0; i<20; i++)
{
    Printf("%02x", sha1[i]);
}
Printf("\n");

uchar checksum[20];
ChecksumAlgBytes(CHECKSUM_SHA1, checksum, 0x20);

Printf("calced sha1: ");
for (i=0; i<20; i++)
{
    Printf("%02x", checksum[i]);
}
Printf("\n");

int adler32 = ReadInt(0x8);
if (Memcmp(checksum, sha1, 20) != 0) {
    WriteBytes(checksum, 0xc, 20);
} else {
    Printf("same sha1\n");
}

//uchar adler32_[4];
//ChecksumAlgBytes(CHECKSUM_ADLER32, adler32_, 0xc);
int adler32_ = Checksum(CHECKSUM_ADLER32, 0xc);
Printf("src adler32: %x\n", adler32);
Printf("calced adler32: %x\n", adler32_);

if (adler32_ != adler32) {
    WriteInt(0x8, adler32_);
} else {
    Printf("same adler32\n");
}

Printf("Done.\n");

免费评分

参与人数 3吾爱币 +11 热心值 +3 收起 理由
qtfreet00 + 9 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
灯笼小鱿 + 1 + 1 我很赞同!
xuanle6 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
jics007 发表于 2019-5-22 21:40
纯支持!希望可以多发技术帖子!!中华大神其实很多都是比较低调的!
3#
心里乐开花 发表于 2019-5-23 11:25
4#
voice 发表于 2019-5-23 17:08
5#
ZY新势力 发表于 2019-5-23 17:24
支持一下
6#
weiwei321 发表于 2019-5-23 19:04

谢谢楼主提供分
7#
hkdg009 发表于 2019-5-24 09:20
支持一下啊!!!!
8#
灯笼小鱿 发表于 2019-5-24 13:50
支持支持
9#
qwe112312 发表于 2019-9-18 22:05
下载链接了
头像被屏蔽
10#
maxshihe 发表于 2020-1-2 13:46
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表