将android反编译apk生成的代码里的id数字替换成public.xml文件里对应的name

有过反编译经验的人都会发现这个问题:反编译了一个apk,但是代码里的id全是数字,
这是代码里的内容,id是十进制:
      this.mHeaderTextView.setText(2131428266);
      localTextView.setText(getResources().getString(2131428311));
对应的name在生成的另一个public.xml文件里,
这是public里的内容,id是十六进制:
    <public id="0x7f010042" name="layout_widePaddingRight" type="attr" />
    <public id="0x7f020000" name="ab_dropdown_navigation_item_background" type="drawable" />
    <public id="0x7F0B03AA" name="exporting_contact_failed_title" type="string" />
代码有点多,所以一个个手动代码有点不现实,
问题来了,请问这个怎么弄个脚本或批处理将代码里的数字代码成像R."type"."name"这种格式?
如:this.textView.setText(2131428211)
代换成this.textView.setText(R.string.title)

这有个参考帖,
http://blog.csdn.net/annkie/article/details/7790026
但他是R.java,我的是public.xml,
而且用的是perl,不会perl,
所以不知道怎么改。

解决方案:找个批量十进制转十六进制的工具逐个转换,对照替换就ok,这里附上一个在线转进制的网站:https://tool.lu/hexconvert/

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值