吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4514|回复: 19
收起左侧

[会员申请] 申请会员ID:b951512489【冒充他人作品申请】

[复制链接]
吾爱游客  发表于 2015-7-28 12:40
1、申请ID:b951512489
2、个人邮箱:951512489@qq.com
3、原创技术文章:资源文件保护
微信对APK进行多维度的保护,包括我们以前提到的客户端到服务器验证签名,插件验证,文件变动检测,代码混淆,把核心功能放在SO中等。
其中比较有特色的是对资源文件的保护,防止被恶意分析和山寨。
目前在国内对资源文件进行保护的APK还比较少,大部分都只对代码和插件进行了保护,所以微信这个特色值得我们去破解一下。

IDA,">我们通过APKTOOL对微信的APK进行反编译时就会发现 APKTOOL 只生成了 assets,lib,res,smali目录(有些版本的APKTOOL还生成了UNKOWN目录)。
进入资源文件目录,我们还发现图片文件比较少。缺少大量的布局文件XML。

如果我们利用APKTOOL对微信反编译后再打包,会出现一大堆错误。
但如果我们直接把APK改名为ZIP,并解压后,会发现还有r目录。这其中必有蹊跷

由于APKTOOL反编译时只对RES目录下的 二进制XML进行反编译。
而对应RES下的二进制XML引用的其他目录下的二进制XML无法识别。
微信正是通过这个缺陷对APKTOOL进行了欺骗。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="layout" name="a3l">r/o/a3l.xml</item>
</resources>

ANDROID中activity查找资源文件的是
activity (根据ID查找)->R.java对应的资源标号-》资源ID查找的对应的资源路径-》找到文件的路径,读取相应的文件配置)。



1.从源码中分析,这里我们以weixin531.apk中的 com.tencent.mm.ui.setting.EditSignatureUI.java 为例

com.tencent.mm.ui.setting.EditSignatureUI.java


import com.tencent.mm.i;
import com.tencent.mm.k;

  protected final void DP()
  {
    oP(n.cgU);
    this.jLo = ((EditText)findViewById(i.content));
    this.hqI = ((TextView)findViewById(i.baa));
    String str = ap.ja((String)bg.qW().oQ().get(12291));
    this.jLo.setText(str);
    this.jLo.setSelection(this.jLo.getText().length());
    this.hqI.setText(v(this.jLo.getEditableText()));
    EditText localEditText = this.jLo;
    InputFilter[] arrayOfInputFilter = new InputFilter[1];
    arrayOfInputFilter[0] = new e(this);
    localEditText.setFilters(arrayOfInputFilter);
    this.jLo.addTextChangedListener(new f(this, (byte)0));
    a(new c(this));
    a(0, getString(n.bud), new d(this), cu.iMA);
    eB(false);
  }

  protected final int getLayoutId()
  {
    return k.bek;
  }

我们可以看到

LayoutId 布局资源ID为 k.bek,
EditText jLo 控件对应的ID 为 i.content

从中我们知道对应的R.JAVA分别为 com.tencent.mm.k和 com.tencent.mm.i

通过com.tencent.mm.k.java 我们可以查到  
public static final int bek = 2130903326;
通过十六进制转化 (2130903326-> 0x7F03011E )我们可以知道 EditSignatureUI.java对应的布局文件的ID为 0x7F03011E


通过com.tencent.mm.k.java 我们可以查到  

public static final int content = 2131165340;
通过十六进制转化 (2131165340-> 0x7F07009C )我们可以知道 EditText控件对应的布局文件的ID为 0x7F07009C。或者直接从com.tencent.mm.k.smali中查找,这样可以不用进行十六进制转化。




2.利用AAPT分析AP资源的表,得到相应的资源编号文件
aapt dump --values resources weixin531.apk > resources.txt



3.通过查表我们可以找到对应的layout.xml 为 r/t/h0.xml.


resource 0x7f03001e com.tencent.mm:layout/h0: t=0x03 d=0x0000028e (s=0x0008 r=0x00)
          (string8) "r/t/h0.xml"


4.利用AAPT查找到的内容对二进制XML进行反编译输出
aapt dump --values xml
tree weixin531.apk r/t/h0.xml > h0.xml.txt
到这一步基本就得到我们想要的资源布局文件了。



5. 我们还可以利用AXMLPrinter2对单个二进制XML 进行反编译输出

java -jar AXMLPrinter2.jar h0.xml  >> ho.xml.txt

得到的结果如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="1"
  android:layout_width="-1"
  android:layout_height="-2"
  >
  <LinearLayout
    android:orientation="0"
    android:background="@7F02053B"
    android:layout_width="-1"
    android:layout_height="-2"
    android:layout_marginLeft="@7F0A0021"
    android:layout_marginTop="@7F0A0022"
    android:layout_marginRight="@7F0A0021"
    >
    <EditText
      android:textColor="@7F090026"
      android:textColorHint="@7F090037"
      android:gravity="0x00000030"
      android:id="@7F07009C"
      android:background="@00000000"
      android:layout_width="0.0dip"
      android:layout_height="-2"
      android:singleLine="false"
      android:layout_weight="1.0"
      style="@7F0D008D"
      >
    </EditText>
    <TextView
      android:textSize="@7F0A0016"
      android:textColor="@7F090029"
      android:layout_gravity="0x00000055"
      android:id="@7F070380"
      android:padding="@7F0A001D"
      android:layout_width="-2"
      android:layout_height="-2"
      >
    </TextView>
  </LinearLayout>
  <LinearLayout
    android:gravity="0x00000001"
    android:layout_width="-1"
    android:layout_height="-2"
    android:layout_marginTop="@7F0A0023"
    >
    <TextView
      android:textSize="@7F0A0015"
      android:textColor="@7F090064"
      android:layout_gravity="0x00000055"
      android:id="@7F0703BA"
      android:padding="@7F0A001D"
      android:visibility="2"
      android:layout_width="-2"
      android:layout_height="-2"
      android:text="@7F0C0797"
      >
    </TextView>
  </LinearLayout>
</LinearLayout>



通过布局文件,我们可以看到 EDITTEXT 控件 编号为(android:id="@7F07009C")对应的风格了。





如果布局文件太多,我们还可以批量进行

for /f  "tokens=*" %%a in ('dir /s/b/a-d "*.xml"') do (echo.%%a
@java -jar AXMLPrinter2.jar "%%a"  >>"%%na".txt)
pause

由于AXMLPrinter2久未更新,AXMLPrinter2对ANDROID高版本的XML文件无法反编译,为此我们需要下载修改过BUG的AXMLPrinter2

修正后的AXMLPrinter2 我已经放入个人的百度网盘
链接http://pan.baidu.com/s/1c0BBONe
尾声
自己水平有限,求个邀请码来学习本论坛各种技术!



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

Hmily 发表于 2015-7-28 16:49
http://bbs.pediy.com/showthread.php?p=1380591 你是原创作者还是冒充的?人家帖子都写了转载注明。
吾爱游客  发表于 2015-7-28 19:23
Hmily 发表于 2015-7-28 16:49
http://bbs.pediy.com/showthread.php?p=1380591 你是原创作者还是冒充的?人家帖子都写了转载注明。

我是转载 大哥我就看过几章E语言 在申请区发过个自制挤房器 就让我通过吧
在这个BBS中我觉得我会不断学习的 我是高一学生党

点评

吾爱破解不是菜市场,孩子你人不大,就别拿别人作品冒充来申请,先在学校好好学学思想品德,如何做一个诚实的人。  详情 回复 发表于 2015-7-28 19:57
as45a89 发表于 2015-7-28 19:30
Fighting。青春 发表于 2015-7-28 19:32
游客 60.180.55.x 发表于 2015-7-28 19:23
我是转载 大哥我就看过几章E语言 在申请区发过个自制挤房器 就让我通过吧
在这个BBS中我觉得我会不断学 ...

楼主啊,如果没有原创帖就去淘宝找到52破解的店铺购买下52pojie吾爱破解论坛官方邀请码就好了,还赠送88论坛币价值11元哦,购买的账号不会因为不活跃被收回哦!
或者等待下一次开放注册。
我想要说 发表于 2015-7-28 19:38
楼主等过节吧  到时候会开放注册
ytw6176 发表于 2015-7-28 19:40
自己写一篇    复制粘贴谁都会。。  
Hmily 发表于 2015-7-28 19:57
游客 60.180.55.x 发表于 2015-7-28 19:23
我是转载 大哥我就看过几章E语言 在申请区发过个自制挤房器 就让我通过吧
在这个BBS中我觉得我会不断学 ...

吾爱破解不是菜市场,孩子你人不大,就别拿别人作品冒充来申请,先在学校好好学学思想品德,如何做一个诚实的人。

免费评分

参与人数 1热心值 +1 收起 理由
XhyEax + 1 我很赞同!我也是高一啊

查看全部评分

anywhere 发表于 2015-7-28 19:57
想学习可以买一个邀请码啊!你这转载还不注明,还来邀功!作者要纠结你的话,你这是犯罪的行为哦!
anywhere 发表于 2015-7-28 20:04
Hmily 发表于 2015-7-28 19:57
吾爱破解不是菜市场,孩子你人不大,就别拿别人作品冒充来申请,先在学校好好学学思想品德,如何做一个诚 ...

{:1_931:}膜拜H大 感觉人品比技术更重要  
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-15 06:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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