一、摘要

好长时间没写blog了,之前换了一家公司。表示工作更有战斗力了,可惜就是没时间写文章了。在这段时间其实是遇到很多问题的,只是都是记录下来,并没有花时间去研究解决。但是这周遇到这个问题没办法让我继续前进了。必须记录一下。以被后人使用。不多说了,进入主题。

二、前提

1、对于GA的了解(自行google)

2、对CampaignTrackingReceiver类的了解,他是当从GP上下载并且安装完成一个app的时候,发送一个广播,会在Intent中携带一些数据,一般是Refer值,这里可以区分从哪里下载的,具体简单的例子:A应用是我需要发布到GP上的应用,但是我们可能会在各个渠道上推广A,所以我们可能需要加上渠道号进行统计,所以这时候需要在A应用添加CampaignTrackingReceiver广播接收器,然后处理接收到的广播中的Intent的内容,解析出具体的渠道号,进行上报即可。所以说GP发送这个广播还是很奇特的,他发送了这个广播,然后等我们安装A并且运行了之后就可以接收到这个广播,等于这个广播发出去了,他会等待有一个接收器接受他。

3、本文中需要用到的工具下载地址:http://download.csdn.net/detail/jiangwei0910410003/8679153,下载完之后,首先要看一下txt文档中的说明。

三、问题描述

工程中接入了GA统计(Google提供的一种app统计功能的SDK),但是我们自己可能需要统计app从GP上下载的统计(这里一般是注册一个CampaignTrackingReceiver的广播),但是有问题就是GA的SDK中已经包含了CampaignTrackingReceiver类了,当时在弄的时候进入到了一个误区:就是认为如果app中想接收到这个广播的话。广播接收器的包名必须是:com.google.analytics.tracking.android,类名:CampaignTrackingReceiver,类似于下面的注册代码:

  1. <receiver
  2. android:name="com.google.analytics.tracking.android.CampaignTrackingReceiver"
  3. android:exported="true">
  4. <intent-filter>
  5. <action android:name="com.android.vending.INSTALL_REFERRER" />
  6. </intent-filter>
  7. </receiver>

但是之后发现不需要这样的,只要包名一样即可,其实从Android中发送广播的机制就可以知道。类名没有关系的,但是当时这个东西没办法测试的(需要发布一个测试app到GP上,时间上也是不允许的,只能听前辈的)。最后也是自己发布了一个测试app测试了才知道,不需要类名一样的,这个也算是一种收获,那么既然类名不一样的话,这里就没有问题了。就不会和GA中的类重复了。但是我在没有解释这个误区前用了另外的一种方法解决了这个问题。既然GA中有这个广播接收类,我们不能定义的话,可以在它的SDK中的这个广播类中插入一段代码:发送一个广播,把Intent中的数据带出来即可。思路有了,下面来看一下具体操作:

四、技术介绍

下面讲述的内容是基于上面的误区没有被解释的情况下说的,而且侧重点也不是解释误区。而是如何修改Jar中内容

首先说一下这个过程中的三个角色:jar,dex,smali

四个工具:dx.bat,dex2jar.bat,baksmali.jar,smali.jar

关系图如下:

aaarticlea/png;base64,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nDE4lE7GzBXE2IfvSYAESIAESIAEHE5AFOY1nyVUmmUVg2Z8FiqtHbmswDi64SzkogFUzTfPntH7wrpAoCBAl41IoNY/0+JsnRVbZpEALc5ZhM2pSIAESCBHBArD4pwjeEU+LS3ORf4F4PJJgARIgARIgARIgAScTYCuGs7eH0pHAiRAAiRAAiRAAiTgEAJUnB2yERSDBEiABEiABEiABEjA2QSoODt7fygdCZAACZAACZAACZCAQwhQcXbIRlAMEiABEiABEiABEiABZxOg4uzs/aF0JEACJEACJEACJEACDiFAxdkhG0ExSIAESIAESIAESIAEnE2AirOz94fSkQAJkAAJkAAJkAAJOIQAFWeHbATFIAESIAESIAESIAEScDYBKs7O3h9KRwIkQAIkQAIkQAIk4BACVJwdshEUgwRIgARIgARIgARIwNkEqDg7e38oHQmQAAmQAAmQAAmQgEMIUHF2yEZQDBIgARIgARIgARIgAWcToOLs7P2hdCRAAiRAAiRAAiRAAg4hQMXZIRtBMUiABEiABEiABEiABJxNgIqzs/eH0pEACZAACZAACZAACTiEABVnh2wExSABEiABEiABEiABEnA2ASrOzt4fSkcCJEACJEACJEACJOAQAlScHbIRFMM6gZKSEsgPDxIgARIgARIgARLIJoGu2ZyMc5FAOgSoLKdDj31JgARIgARIgATSJUDFOV2C7J9xAlSYM46YE5AACZAACZAACVggQMXZAiQ2yQ2BRApzouu5kZqzkgAJkAAJkAAJFCoBKs6FurMFsC5N09QqYinI+vUCWCqXQAIkQAJFSWDtf7/DAT12Lcq1c9H5SYDBgfm5b0UltSjIVJKLasu5WBIgARIgARJwJAEqzo7cFgplRoAKtBkVniMBEiABEiABEsgWAbpqZIs057GNAK3PtqHkQCRAAiRAAiRAAkkQoMU5CVhsSgIkQAIkQAIkQAIkULwEqDgX795z5SRAAiRAAiRAAiRAAkkQoOKcBCw2JQESIAESIAESIAESKF4CVJyLd++5chIgARIgARIgARIggSQIUHFOAhabkgAJkAAJkAAJkAAJFC8BKs7Fu/dcOQmQAAmQAAmQAAmQQBIEqDgnAYtNSYAESIAESIAESIAEipcAFefi3XuunARIgARIgARIgARIIAkCVJyTgMWmJEACJEACJEACJEAC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bNy4EaeccgqOOOII3HfffYk7FHiLorI463spRvY//vGPkBzPbW1tOOqoo/RLfE2RwFdffaVyXsrjGrk52WOPPVIcid1IgARIgARIIDME/v3vfyvLqbgc3H///ZmZpIBGFWOYFDTZeeed0dLSgu23376AVpfaUorK4qwjEh9dcSu4/vrr1XfmJ5QAACAASURBVGOHl19+Wb/E1xQJ7L333njttdeUwizW/I8//jjFkdiNBEiABEiABOwnIAYesTRLCe05c+bYP0GBjbhlyxZllZdXKYJGpdm/wUWpOOvfbQkIaGxsxBlnnIEFCxbop/maIgFxhXn22WdVsMUxxxyDFStWpDgSu5EACZAACZCAfQQ2bNig/jb95je/wYMPPggxoPGITUCezEvs0tq1a/Hiiy+iW7dusRsX2ZUuU6ZMmVJkaw5b7qGHHgopEXn++edD3AxE4eOROgG9Tr28StDFgAED0K9fv9QHZE8SIAESIAESSIOAZNIaOnQofvWrX+Hxxx9Hly5d0hitOLqKYVGeIsvPnnvuWRyLtrjKolechZOksBN/p0suuQTyKEf+g/Fu1OI3yKSZsBN3jbKyMpx33nno2bMnBg0aZNKSp0iABEiABEggcwS+++47Fdi211570d3AIuapU6fi0Ucfxeuvv47evXtb7FU8zYoyODDW9kp6mpNPPlkpfRI4SH+eWKSsn2e6Ouus2JIESIAESMA+Aj/++KMKbOvatatyN9hpp53sG7xAR5KsGbfccgveeOMNHHzwwQW6yvSWRcU5gt8XX3yByspKSLCbOMPvsssuES34MVkC//rXv9QvL3GJaW5uBn95JUuQ7UmABEiABJIh8NNPP+G0006DKM8vvfQSJAaHR3wCEut16aWXYunSpcqFNX7r4r1a1MGBZtsuRVHk8YREkUqi76+//tqsGc8lQUB8nN9++2188sknGDZsGL755pskerMpCZAACZAACVgnsHnzZpx11ln49ttv0draSqXZAjoJALz44ovx3HPPUWlOwIuKswmg3XbbTf1nO/DAA1FeXo41a9aYtOKpZAgwXV0ytNiWBEiABEggFQJbt27F2LFjsW7dOixevBjy95xHfALiliEFzB555BFlMIzfmlepOMf4DkiGDYm+lcTfkmlj1apVMVrytFUCero6sTozXZ1VamxHAiRAAiRghcC2bdtUNqfV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old3U0ovixk4cKB06tTJXBev21woCCCAAIEz/wYQQCBwAoWFhSb3sOYf1pW+xo0bB66PQevQwoULZfny5WaluUuXLufVvW+//VZGjBhhntmwYYNcdtll5/V82D6se+6HDh1qri5XjyZNmoRtiIwHAQQcCvAV2iEcjyGAgHcCelHHRx99ZP6MHj3a5CD2rjX7a3755Zdl8eLFsmPHDjnfoFlH37ZtW9m5c6dcddVVkU9X99tvv5mUcxo86wU9BM32/++DESDgpgCBs5ua1IUAAq4JJCUlyf79+0VXQwcPHizff/+9a3WHqSK9+nnBggWyfft2czOg07HpFo2op6srz0by+eefy6ZNm6R58+ZOOXkOAQRCKkDgHNKJZVgIhEHgkksuMdca63/1kJZmOIhq+eyzz6oNffXq1TJ37lzZsmWL3HjjjdXeP98XdB+vrl5r9gj9sqK348UruhobxqIHK/WSk23btkmbNm3COETGhAACCQoQOCcIyOMIIOCtgK76aQCnl3borXeffvqptw0GsPYvvvhCbr75ZpNerrx7b7/9tsyaNUs++OAD0fRybpaHHnpI3nzzTXOBil74EVuOHDligmpdnQ1T0VX7d955x3xRa9euXZiGxlgQQMBFAQJnFzGpCgEEvBHQw4Gvv/66yaXbt29fs/fZm5aCWWtubq6cOHHCHFjT1WX9IjF9+nSTdk5X4r0od911l9kzrQHlI488Irr395tvvjEZOHQLja7MhqXodhfdI56fny9cwBOWWWUcCHgjQFYNb1ypFQEEPBJYsWKFzJkzR3TFdfjw4R61Eqxq9QIOvdAktuTl5ZlAOvY1L37WdHWaYULTsh09elT+/e9/m2bGjx8vOTk5XjTZoHXqGDIyMkzQnJKS0qBt0xgCCNgnQOBs35zRYwQiL/Dee++ZK6OXLVsmU6ZMCbWHHorU2/90xTe26BeHcePGxb7k2c+60nzFFVdUql+zTeie83g3E1b6YID/snnzZhk7dqzoir7mbKYggAACdQmwVaMuId5HAIHACdx9990m64FuIdD8xWHbbxsLrnuYqwbN+v4999xjLjuJ/awXP6utbteoWs6cOSN6ONHWoltN9ItHVlYWQbOtk0i/EfBBgMDZB3SaRACBxAV0+8LevXvNpR96mC1ecJl4K/7XoBdwxCu///67TJs2zVx4Eu99t17Tvb+6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" alt="" />

我们这里需要修改jar中的代码,

首先说明一下,关于修改jar中的代码其实有很多方法的:

1、直接用压缩包工具打开jar中的class文件进行修改(除非你对指令集很熟悉,反正我是不愿意尝试)

2、使用jd-gui工具直接打开jar,进行修改(这个虽然能看懂代码,但是有一个问题就是如果代码被混淆了,那个难度还不如第一种方法了,所以也没有尝试)

好吧,那么第三种方法就是修改smali文件,这个文件的好处在于:指令简单,而且如果混淆了,也是没有关系的。关于smail的指令说明,可以自行google一下。很简单这里就不做解释了。

那么问题来了,如何将jar变成smali呢?这里没有发现他们两之间的直接转化工具,所以就曲线救国的方式做了。

首先将jar==>dex==>smali

然后修改smail中的内容

修改完之后会变成jar

smail==>dex==>jar

相当于dex是中转站了。

五、项目演示

技术实现说明完之后,下面来看一下Demo:

ReceiverLib工程

1、BtnReceiver.java

  1. package com.example.receiverdemo;
  2.  
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.util.Log;
  7.  
  8. public class BtnReceiver extends BroadcastReceiver{
  9.  
  10. private String action = "demo.action.myreceiver";
  11.  
  12. @Override
  13. public void onReceive(Context context, Intent intent) {
  14. Log.i("demo", "action:"+intent.getAction());
  15. }
  16.  
  17. }

接收到广播然后打印log一下

2、MyReceiver.java

  1. package com.example.receiverdemo;
  2.  
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.util.Log;
  7.  
  8. public class MyReceiver extends BroadcastReceiver{
  9.  
  10. private String action = "demo.action.myreceiver";
  11.  
  12. @Override
  13. public void onReceive(Context context, Intent intent) {
  14. Log.i("demo", "action:"+intent.getAction());
  15. }
  16.  
  17. }

3、Utils.java

  1. package com.example.receiverdemo;
  2.  
  3. import android.content.Context;
  4. import android.content.Intent;
  5.  
  6. public class Utils {
  7.  
  8. public static void sendBroadcast(Context context,String action){
  9. Intent intent = new Intent();
  10. intent.setAction(action);
  11. context.sendBroadcast(intent);
  12. }
  13.  
  14. }

说明:BtnReceiver是点击Button之后发送的一个模拟广播,相当于上面需要改的CampaignTrackingReceiver类,MyReceiver是我们需要自己添加的广播接收器。

项目下载:http://download.csdn.net/detail/jiangwei0910410003/8679113

ReceiverDemo工程(需要导入ReceiverLib导出的jar)

  1. package com.example.receiverdemo;
  2.  
  3. import android.os.Bundle;
  4. import android.support.v7.app.ActionBarActivity;
  5. import android.view.View;
  6. import android.view.View.OnClickListener;
  7.  
  8. public class MainActivity extends ActionBarActivity {
  9.  
  10. private String action = "demo.action.btnreceiver";
  11.  
  12. @Override
  13. protected void onCreate(Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.activity_main);
  16. findViewById(R.id.btn).setOnClickListener(new OnClickListener(){
  17. @Override
  18. public void onClick(View v) {
  19. Utils.sendBroadcast(MainActivity.this, action);
  20. }});
  21. }
  22. }

模拟发送一个广播

项目下载:http://download.csdn.net/detail/jiangwei0910410003/8679123

效果:

aaarticlea/png;base64,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" alt="" />

点击Button之后,发送了广播,BtnReceiver也接收到了。

那么下面就开始在BtnReceiver.java中插入代码,发送一个MyReceiver

首先使用dx命令,将我们上面ReceiverLib导出的jar变成dex文件:

dx命令的使用方式:dx --dex --output C:\receiver.dex receiver.jar

然后在将receiver.dex转化成smali:

baksmali.jar的使用方式:java -jar baksmali-2.0.5.jar -o c:\classout/ c:\receiver.dex

我们可以查看smali文件,我们重点看BtnReceiver.smali文件,因为我们要在这里插入代码:

  1. .class public Lcom/example/receiverdemo/BtnReceiver;
  2. .super Landroid/content/BroadcastReceiver;
  3. .source "BtnReceiver.java"
  4.  
  5. # direct methods
  6. .method public constructor <init>()V
  7. .registers 1
  8.  
  9. .prologue
  10. .line 8
  11. invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
  12.  
  13. return-void
  14. .end method
  15.  
  16. # virtual methods
  17. .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
  18. .registers 7
  19. .param p1, "context" # Landroid/content/Context;
  20. .param p2, "intent" # Landroid/content/Intent;
  21.  
  22. .prologue
  23. .line 12
  24. invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
  25.  
  26. move-result-object v0
  27.  
  28. .line 13
  29. .local v0, "action":Ljava/lang/String;
  30. const-string v1, "demo"
  31.  
  32. new-instance v2, Ljava/lang/StringBuilder;
  33.  
  34. const-string v3, "action:"
  35.  
  36. invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
  37.  
  38. invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  39.  
  40. move-result-object v2
  41.  
  42. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  43.  
  44. move-result-object v2
  45.  
  46. invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  47.  
  48. const-string v4, "demo.action.myreceiver"
  49.  
  50. invoke-static {p1, v4}, Lcom/example/receiverdemo/Utils;->sendBroadcast(Landroid/content/Context;Ljava/lang/String;)V
  51.  
  52. const-string v5, "sendbroadcast"
  53.  
  54. invoke-static {v1, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  55.  
  56. .line 14
  57. return-void
  58. .end method

关于smali指令网上自行搜索,很简单的,我们需要插入一行代码就是:

Utils.sendBroadcast方法:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8MAAABfCAYAAADMORWTAAAgAElEQVR4Ae2dX2hd173nv/4Ty4kSxzcDgekUJLk3JBIB62F6h3k68pUveilHmeFSEJdyT+MX306xZQKlplgPMqW5hYtlT+kYBqfnZTjQYSAShSHceKLz3JcjCFY7TqMjuLcDeUjdpGrsxLKH39p77b32Omutvc8/6ejoe0Daa68/v/X7fdba++zfXn/OkVdfO/MU/JAACZAACZAACZAACZAACZAACZDAISJw9BDZSlNJgARIgARIgARIgARIgARIgARIQBGgM8yOQAIkQAIkQAIkQAIkQAIkQAIkcOgI0Bk+dE1Og0mABEiABEiABEiABEiABEiABOgMsw+QAAmQAAmQAAmQAAmQAAmQAAkcOgJ0hg9dk9NgEiABEiABEiABEiABEiABEiABOsPsAyRAAiRAAiRAAiRAAiRAAiRAAoeOAJ3hQ9fkNJgESIAESIAESIAESIAESIAESIDOMPsACZAACZAACZAACZAACZAACZDAoSNAZ/jQNTkNJgESIAESIAESIAESIAESIAESoDPMPkACJEACJEACJEACJEACJEACJHDoCNAZPnRNToNJgARIgARIgARIgARIgARIgAToDLMPkAAJkAAJkAAJkAAJkAAJkAAJHDoCdIYPXZPTYBIgARIgARIgARIgARIgARIgATrD7AMkQAIkQAIkQAIkQAIkQAIkQAKHjgCd4UPX5DSYBEiABEiABEiABEiABEiABEiAzjD7AAmQAAmQAAmQAAmQAAmQAAmQwKEjQGe4SJNPLmK10cCtcpHMByvP1OK72GjcRBll3Go0sLo46TZAMZB8Q/YZ4rbtqqX2kEvhPtiVQSxMAiRAAiRAAiRAAiRAAlkCA+oMT+LKaq+dz37IzMLcq7PIeegNn3sfb8dq38eWDu6VIXtSz/C0+57g2odKhr8P7gNUVkkCJEACJEACJEACJJBL4HhuDmYANlcwP70yGCTKN1E7t4369njv9NnewkcAvgFg++PN3sk9CJIGqW0HiddecznMfXCQ2p26kAAJkAAJkAAJkMAhInDk1dfOPC1ib/lmA9dLOmcd16YvY01OZTplrQLtmtWXpnFJJci021lsVcdQqUSpzeoC5ldiZ8sqp9Nk1LMW59e1AU1UF97AjTw/rUOZYtv5rSrGKtqO1D7T7tQ20SzHvvJNbCwnwJQp2sbUrmxI2X5uHQvzK7gXJ0n9F7Y0N6nzTWwtXAXermHijmadldOzM4snkHLxtbvY8BOsY7tSQWm7imqzgkoJSNhZMpP4HKXNdpCsdrlseqTnRzl9ySxjy/PZl9vuHjtCXG6feRe1TLvLaHYNMx9E7S56+vqnX89IEdPGIu0npcwyJpfc/hlo26ANHmaMJgESIAESIAESIAESIIF+Eig0TVo9HGMJZ6en4z/TEZ7B+kIcv1DF2PK7uJIsOy2hMvFOVGapjvHKxWTNafliBdtLWt504iTfW3kDZ6cXUN2OHJ6ozgKOsDzEdyGzdA64Gtt3rV7C+Xhx7Npl0THSp7UhfPaVcWt5DFXNZakObFdxVb8IaBWkYu6tvIP62AzmEn5lnC/VcScuV765jLHq1fyXAh757UWXcatmtNFCFc1EgKRN4E7SH5YAo93HKxN4f3oJ9bEKZrYWsFBtYuzMZPziJNRfkgpaAlE7mP0sXb/s6595fcnbtsqpC+npa/cWtTMRPi4t7T45h5mxtN1FiLt/htvBx0U59IH283Fp0RNm/wzr4rchg4gnJEACJEACJEACh5jAvz/+DPTf3514FvL3zWNRnBzlTz6vHj12iCnR9F4SKDBNWh54ZWRWDfdm6p6am8F4/Z3UOdtcwZ16BedfAaBGceu4djkud38LTUwk5T/aauL6cgMbs0s4q/MkqYGANeJqjrZ2LFNGGu+ko7HiDLRa69LJb58rd37cGt6vL+PC3CRubG5iavFNlOrv4JIULN/EdXkhoRzjxFvOF9lpjvKsGtl1NDsweQZjKOF6o4HrifwmtnS4flfxO48m1t/bBOaihPz+ogU4jla7yyhn9PH3T4eUQlH5enbY7h4ugNXuczNA9WqmDzr7Z7AdAlyC5UKILD3N/llAptOGUHVMIwESIAESIAESOJAExKHVn68dOYp/dyx1Ob5ppD19+hRHcQT/8nQX/293F398+hT/d/cxPnv6BP/j8RdaRMvxt092W+IYQQKdEEh7ZieluyijRu1kGa44OY1lGQYu5hSvXcZZj6fascwu7HAXjZyG67UGKiqDvEy4nEx9dpeJYtduV3Hh7TlMrQBz54DqDyNjr1woAWOliJUWIC8TLlQz06p1Ul+Pr0xgfNtd71Ts+Pa2/nSkXU2VVyO36YuV3ta1P9LSdn8FFyvbuDOdtyYAQKAdglZ0Wg5Aqme2f3asS1BRJpIACZAACZAACewnARmBfeFoNJH0BRzBa4YjK2mn4jRxeL9uOLxa5988/gqfP32K3+xGx399+gT/7Ysv8a9Pd/H7J090Nh5JYN8IFJgmLbsMj6NysfVHde69t45m6c10WvTkIi6Umti634Y94tzKFNzSbDKFWoaVf9dENLW2DVFJ1n7ITIQXCAiH8SoWkmnExaZ5K8mb72EdM5grz2EG65CBVfncmE+nlOtp27Ke86yxvjh6sdCbXaYhI/nJlO1JXHlbr6cWj+iumgLt6BKRsp7/hfqLejli2aBGHVOhMh1er1EH/P0zKtF+XyqkZ6pOa8hlQ2uubIzMqmjOYG5xFqV4BDmbwXEWbIcAl2A5Rz1mlKd/dtonTNEMkwAJkAAJkAAJ9IfA144eTaYfnzt+Av9wcjT5W3nuFN55/rT6+5/P/wU+PP1y8ve/Tv0bVJ//C/X3X58/jf9ycjT5O3/iJI48hfpb+/Ihfv7Fn3DpTw/w3c//gP/44BO8/uAT/O2f/oDv7jzAPz7cwc8f/RmrXz7Er3e/oiPcn2am1A4IFBgZ3sSN+QVgtWaMSsYbKcmOs0sT2MiMgBZx/KINgipjqcbi2JkDvmoEqlbDhhpaLbKB1h7IlJFYNYids3GVcmwaqDWiceHISmPzqdRsR2gTN+5sY2O5ojaJ0htpOTK2Rqmp6CWUZsvAmkmzNWtuzOYKrlZnUIvbtr60hPrybFxsDZcWzmC1FvFQkfFIcVBugf4ydcboFFpYPP1ej7Q3q1XUS3pkONA/tbYy2t7Sl6z+kmnbTvt1VKHTBm1L4Lh2V9q9hPrS5UAuM8nfDvcQ4hIqF+Iidfv6Z0imqTPDJEACJEACJEACnRIQp/ZrxnrZbx4/kYj6t0eOZEZn/8pISzK1EfjsyRP8Np6yLEf5/PrxV9FxNzq2IY5ZSWAgCRTeTXogtR9UpdT6VqQ7bsc79Ka7QvdLcdltehlIdvTuVz2U2xcC0m8ubO39tPe+GEOhJEACJEACJEACPgIvyCZQmSnHx5Mpx6estG6dWp8O//IkWqfrWq/LNbk+aowfNgIFRoaHzeT9sEc2MwK27xZYB9qheupnbyrjUBuKdTko3KEKLNYVAVkXHY0KtzUboKs6WZgESIAESIAESKBbAuZmUa8e9Tu1kvZivMa22zqLlHet1/397i7X63rgyfRwmdrd7adXcvL0KFpPkXxF8uTp02l6N3XbZe3zIjrRGS5Cqd08a7dRvVDL7Lbcbyc12TysXV2Zf98JqJ9AKoEvMva9JagACZAACZDAYSZgOrWhHZB9m0XtNbtff/WlqvLXj6Pjb3Yfp5tV7bUyh7A+n+MlDrUvzcQkeYp+OnHSTfl5+hTVuai+neYzdbZldMJAywjZz2nSmhKPJEACJEACJEACJEACGQLiIP7DyHO4sPPHTPwgn3S7A/Ig2Mb1unvbCiFnKaSJr5wv3pTlylM0TuSYeSVsfzpxHk2Ztjzz3FWfme4Ku/QpWp9LnsTZ5c1zU0dX3VomR4Y1CR5JgARIgARIgARIgAQUAdmo6Qcnn4fsGLxfH3OzqNDP+kjapLH+dr/0badertdth1Zv85pOkinZF2/m8TlVrrJ2nK+sKb/TsC3brrtTub5ydn2+fKF40bEXcuw6tO1FZdMZtgnynARIgARIgARIgAQOKQFxQC+OPIf/PPJczwiYTq0I7ecOyD1TuktBXK/bJcA+FredpG6cMi1LH22182Rrx80s54rzpeu8vvrNcoMUNrmY4SI6apt1Xn2uGeijTtdHXz10hjUhHkmABEiABEiABEjgkBKQ3Y0vnnwef3/S7wQPwg7Ig9I8XK87KC3RHz18jlOotk7K2I6bS4bEmR9dRueVo51H8rvidFlTng6b8kL5dP5ujt3IN8tqnbvRhc5wN/RYlgRIgARIgARIgAQOMAFxcP9u5Dl8Z+S54E7HrgfrA2x2UHWu1w3iGarETpwp+1rQzpkcTXlmuJ/QdP1mHXtVt1lnJ2FTTwnnfVy2mmV0G5hxeWE6w3mEmE4CJEACJEACJEACQ0hApkPnOcFDaDa4XncYW7V9m4o4Xy6ppkNmy9DOmJnHJUPH2eUl3hWn87uOkl/XZ4ZdeXsZ146eWj+zfru8nacdW8y8thyzTleYzrCLCuNIgARIgARIgARIYEgJlJ8ZwfdOjuLrx4bzMZDrdYe04/bQLO08aYdMH80q7LiiTpbk0/JNeXbYJa9IOVOOzq91tWXqeCljp7nk6HxarpnHDofk2Xntcy3f1M/OU/Rcy5L8IXk+fYfzLliUHvORAAmQAAmQAAmQwCEhMCxOMNfrHpIO2yczTedJV2E7Sq48Om/eUZfVx7z87aaLXP0x9TbDdrpZRqft17FXXLRNtt32udip87pspjPsosI4EiABEiABEiABEhgSAvq3gv/DMyMDbxHX6w58Ex14BV3OUq+MMh09qcc8t+vwOWiueFNnHXbls+socu7SMU/3InJ9ebT+vvS8eG231jEvf146neE8QkwnARIgARIgARIggQNM4PMnT/D7p08gjuapo0f31RKu191X/Ky8jwTadSpdTqFLRlGVTSdRl9Fx+nwYji5upl3t2kxn2KTHMAmQAAmQAAmQAAkMGYHfPtnFtT9/jmv4HPMnTqq/vzp+oi9Wcr1uX7BS6IAT6MaJ7ZVpLidRx/kcxJDeUjaU3iu9ey1H22zK9dkveegMm6QYJgESIAESIAESIIEhJrD65UPI39eOHsV3TjyLcydO4utHjxW2mOt1C6NixiEnoB1FffSZ63LOfHn3Mj5Pb58uIcfSV0bHDyILOsO6dXgkARIgARIgARIggUNC4PdPnuAfH+6ov78+fkKNFs+eOBm0fhAfZIMKM5EEChDwOXeueH0NmI6kxLnyuqoukjckS5fXeph12OXsczuvS4aZR8Ku+oqUs+W0cy5659URyhOy26UHnWEXFcaRAAmQAAmQAAmQwCEh8H8efwn5+9rDP+Hc8RF85+RzbY0WHxJMNHNICeQ5Xi6z7TL2uauMjmsnry5jHqW8yxkMyTUdRFdZU74d1vVJfKgOu1yn57q+UF2hPK5ypv22Xkdefe3MUzuS5yRAAiRAAiRAAiRAAoeXgOxALeuL/9OJZxMIrofMJJEBEiABEjiABOgMH8BGo8okQAIkQAIkQAIksBcEXgDw1ydOqvXFf/unP+xFlayDBEiABPaMAJ3hPUPNikiABEiABEiABEiABEiABEiABAaFwP7+2NygUKAeJEACJEACJEACJEACJEACJEACh4pAcWd4chGrjQZulfvNZxJXVveinn7bAaBPzMo3G9hoNLBxs++N0XNIU4vvHljdnTBUG9/EILZE0k+6uW4Hwb4+XUfO9jQj99r2XtbnYdaTPmEyGuRwL3l2a+cA6SJ9oP/f4wawXtru6ddGbfH3ruee3EtdMpUOyMmw29cJ5iJ9phO5oTJWO+zrfdfSJaR2V2l7yVnqWl3EVFcK+wuHNlqyS4XyhtJsOTzfXwLFneH91bPPtXfqgHdargtzJhdxoVTHtelpnL28VlBQpKc40Hv5EKQdX7POeytv4Oz0EuqlN3FlsqD6OdmkntXFHgnLqctOnpqbAaq3UbQl7PL9PF+7PI2z0wuobndeyyDb17lVg1kyw7p8ExuZL3v7XmOfF7OpF32iWE2DlquMW/IC0fgz70uDpm1n+uT3CblXXscSLhk3rP28f3ZmZ+elMtdY52JySua3Q44AR3IxmS77TEdso/FuD753i+niMCIQ1ZnMQe27djvs533X1kUP0iT3wsygSmftEGjY/iRtruBOs4JaRne4B9Javkt7r5I4vfafrsWOtx1kV3ooTsvVx1BeO02X4bGVQPGfVtpcwfz0SqsExvgJ9IPZKxMY397CR/5arRR5CHwTWwsLqL5dw4SV2rfT8k3Uzm2jvj3uqGIN79eXcf4VAJuO5AMTVcbFCrC+cKCNCNAeEPv6cR0FrN6fpB6zHhBm8rD6E1zF/MogXCPyEvFy9OJKHpCWb6K8Fp/vT6Pvba2Ti/hJZRvXpg1PeG816L62rvp1j6+x7q3psQTbPnFsaqg0l3D2ILd5t5S66jOdVG63QycyelXG0kVGVGszWF+Yxo1e35L3mPPa5SWcb8igylpiy3sfNFGbLQNr6T2uPFtC84PbuFcQqTiQoZ/sMcXovBJnhu1zO82UIeGiO7SLHPvjKptXny2D50ChkWHzzWL2bbo4WjdxRU99bTSSETp5CMqObAAiJxnBi6dU6LdTWblp0yg55ohmwXKphDhkldN6RPJrqIwBpWU9cpC+PTVtN0dW2ynnsi0r1zOlq8UIX4S/HYA1XJp+I7lZ+CS0E5/btijj1vIYqj+8ja12BPcpr5e11Sd0O4l9q4uL0UjS6iKuxNPSdXqiZnkWpfo7WbYemZCHb7MfCyPjesnqmI7gh3UJtXuipTvg09PM7bBP9Ly1GC2ZiK5do+/myMzaWKycWcbkn9sHA7oUtqFWQeZVjkdmuI3S5RLBe52DtdkUZljZ3ih2zzKZmTKcYcs+fY9M8rb04STFG5CZIHcmai3fBapAqD4rLbUjp8+b5ez2s7U0XioW7hOZazj6TtPtmr2+rXZ36GL27Y1Gej1k49N7QYhZXp+QsmV5c9fmLBa/Lp23Qy9Yp/0hbtQi7e65xrI2pu1gj6Cldfptz20HU89MX+pCpu7Xtn2Tc5gZq+OabwZZP3TxyWy5d4i90fNgLjPVee3vT2207xiNcPquzWybp9eY0iUzIyf73Oorl9HCbodMYuuJX6a/TygpMVPTxtZ7tuMZpVUFFZPXDqKn77vftCG9TkRslza09BtT+TXcrgKVi+kitXvvraNZmjWWrZVxvtTE+nvFPH/TidQOsVmjGTbzSryZP5RmymB4cAgUcobDUzxKqEy8g7MybXepjvHKRdUR7628g/rYDOaS2avSKeu4IyMEcsOM306pcgtVjC2nDqjGIxdY7dw6Fqan42ldZdyqTeCO1KX+lgBHOV3ePMqDwPaSLjedjFRE03ajqaT1JD11HiPb43JKz+jLslg59xRVsUumqkU2iOw2RyeaHzvechntsCB3iJ/0YDqUSTANB9tWbn83lzFWvZp1EtPiSWjsTNI5krheB7ysc/rgeGUC78t07rEKZrYWsFBtIqvvJK5cGEP1dvoGUt34ff1z7bK6PkoyGpUwWkj6oa+fCY+wLp20e5HryGVf1Dqlc8DV+Bq8Vi/hvPouCsv0toN8WfqYAfDde8J9MCxTrPDbYNwnFqpoJh0yLNPbRjn9LBLvZ51UbwS6ufcYYlqCvntkS8Y2I6QNFz6YQc1w+ESEv74wa8Do88Z3TnT9+dpPaizhup4mrV7WrWTuo84+kdN+/utWbPDr4r8edJ9v/c4JMcvrE8KmnYdC3cR++yKeru/+/HbwXH+FWLu+U8OsI1vc15i3HXJ08fXBcDt01q/DMnVLtdon02O9s8j22r7A918x+7SdRY+buDGvn/da+4yvX4e/V8LXZqifhbT26RKVCdzr5B62ENu4VAe2q7iamYHT2iewuYKr8nhYa7S8oCzSDs57ZOB7unsbQuSAFud38z2sb+tnEvmSmUVpex1FfGHtwMpRf0wHV8fpo2tE1hUXyq/T5Cj1hv7MvAz3nkDxadLeuo03j/e30Ewm4kZTYS/MTeLG5iamFt9Uo2iXAKibtDmiJvP/65XMtFkZpS3Vl3B23nA2Js9gLH6guZ7o00xHH+Ut0nIpTammzsZHW01cl5Hf2aU21toqryUjE6gn8jsLRA8l1QXDrkKC5A3bcsTE+abXaAd1Q6hgom/TkP1tKyOgytFXN2W/sytfAB+pGQVAdSF9+VAIReFMftbBPijy63fVdMrziN8qzlmVli+ignVkZkjn9c+1y1g48y5qjQYgfdv84rL6bqafBXXpoN3z9BRTXfbFCOp3UidC2lH15KBMfzsgWM5injkN9MECMp02qC/OKpyXZp5MTxsF+5l+WR1gnTG5zye590h5oHXdtqy+2zTuu1pl9aD1sYzuvItvxNe7t7481jD6vPmdE2o/pYgxTVo5A+8Cxr3H1SemFmcwHvqusmxPrtugLoHrQfT0yQTgZaZBB4/b+J3uc8F8RmJAF7E1GXVsqx2AjlgbamWCQdZxTuc15m+H/OvWY3tGMeuk035tiXGeOu1z5lSR+2Jf6PvPr2qU4rv35JXzpXv7deB7RWR5y8UVtdkOqlRQZgf9TNvs0UXdi1cAGQmuNSrKiV6YT7/TdXHX0XXduvJl47qwIa/dNz/GNmbwDXnUVPe2TZhTpYtOkdaOsOitHWDt2NrnWdsiJ9aOk3PTqdbpWqY+N4+hNDMfw/0h0ANn2K/Y2u0qLrw9h6kVYO4cUP2h60nKXb6+JKO+y7hVXks3+1DrZavwXriBC0ffAKLpqsuRM+J0Kk194um+en2FeoDas1W3piLy7g2XptfUDWzjJtpz6C1JvTj1te2VCyVgrISNxnJajbyEuJBtN3kjf2FrAWen2306S8XuZ0husvU7lzMjS8jrn7HCze1mdvqtnla+V/2sgJ5O+0LAC8h0Fu+0nFwRvvtLFzKdOkpkQOaU/aLEK8Sd0DZrt5iuYzu7R6phAbeTbGikHrzUetU3ks3mvPUFWBsiuwuqF4Yz3cnoy3Ub/s7xMuvSEnfxsC7uMoMZOxDXWB/7tcu+ex9vA5UJ/CWQ/Z7qVxMVtK/1+69fCvnkhvu193ulwPXuagefFlF8WBd/2chpv15roKIyNVFdyD6P5OkS3UuiQZaL5ZX0OdtfaY9T8m3opEI1WlyLpkqr2TC3w8+YpiPsqy/kELuc2CIyfXUVjXc522bZULpLZ7PsYQwXmibdMRh54MAM5spzmEE6VSGa2mDsJqx2SG5i675Z0xouqWnJ6XoOrN1V01aNJQJmgWJhcZhl+mNmXcEmfteENQ1W1nzJSHT6kWl9mTWE8JRLizhC97G1PZ5Z5+DI5I1SX3DjZ8JbyssbwbE63i/67kHeTGbWL3mrTxM8bZtOTZLpO8b0c8ebx+2PHTepTnRJtbJCftbF+qAlTp9Kfx2vIjNDWtLy+qfaVGwdV+evojq+bKyfz+tnuuKcY9F2z9PTZ1+o+qBMfzvkMgvV6emDHcuU0a1kacckrrxtXO9B+/xK5vYzH+uMLnIvitb/pdd0J/cev56ZFOc9Mh4VMda5Z8oETuTFV7TcxbMcxK6vQ9bIMLPaz9ZP8cwfKQ22X+j7IahL4HoIyTRtsJmptLw+MRaNoJhyQuGiutgygrbbmdPzIOs0W2sorz7fNQZ/O3Ssi9LO0w6d9uuQTEnz2bd2G9XtEq5bO+5KkX2xz/f9l2efpMfPBS1rYlXZNv/l9Wvf90peOV87hNTLk+krG9clSwij5XbW7Lqiuqj6zWdvT9/16dFNfJ4NIjuv3ZX+1n1c2k+mSt8MT5EWZ9HntLqcRe0Qh5zMbnBIWa2TfXTJFX18f5Lflybx/LQSKDAyHO9IqL1CGeVTA6t6HW+r0DRmEzfubGNjuQJZj5vs5ia7zi1NYCPzVsu6mEWIzrfcwOoZmfIsDvIZrMp6Bz3wuJ0dcUzrNkOWDTILdime3hlnU28DazVsqNds8pZN9Immb+u3b81qFfVSdmTYXc6qL8NM1rIsAKs1Y/TUmL5nqt1WOFoPF00fj/SPfOF4erWWldEljpSHCZRQsnbh00XcR0/bujMXj+1IF1lXq9suqkra99JagLXuW44+mDfSJy9F8MFC2p8T6wL9U27qao1P9Pb23g+rmKnVsArp1/n9LKmiJeBr91AfDOgp3z9e+1oqNyJCMgPtIDMevNd0yAap2tcHQzINle2gWk81g1rcJ2R2Sn15Ns7ll2mLyZwH+pnk87K2dAHMazqqof17T4inlea4RypnEyWMt7H+QkaE1QyQy/aLr1B9ftbJd0gGcnxiMcu2n+TxXSsuYalM/3dV4LoN6hK4HoLfOSFmkb7uPiFp2emftsXu+2fAPluAeR603cxohYPXimV75ntM1kH6rtvANSb3D993cVAXS2/HqbsdOuzXsXy3zDz7ljDRWDaeNdJnG3+/dhhkRbl1CdgX/P6L7g1umXHF8XOB697j7ruWwuZp8BqTjJ7vlZxy3ns5wn1XlgiGnjFN1ZOw6NJsRNOck8j0OdKri2qHdCmhFJVnJXNn6WA7JHWZgZB9Zj4rnGODyh1od0nX0/2z4z7xVOlKCfWl7Gi5qYHpFBZxcLVzqWXklQmlm3Vrefpop4Xk6DI8dk/gyKuvnXnavRhK2DMCcjO7sGVNFReHdxbvt7sRV6J05DBDOZBJZF8DMlp0/q7rhcre69KWofFU+Tsds26rtpzM3ba7Q/xA2efQb5iiDhzr6KFn5oN0L4Zhao6ht+XA9bcetMiw2zzs9iVdoJt7T1R24o7reSOpoLvAXreDcmqR/lScGkSNlp7NvzeHVbUppWcmTneW9q50yIZkP5VQu8vzj/xsqGMgrXdaKknikNpOaq+qMGWbYS3fjDPDOt11LJrPVfawxhoEzfoAAA9OSURBVBUYGT6saAbUbnlTNta7dUDRWr5xqE1vsq/X+ggg2rhk63a2iv3RJatD7pmMGEzn5jq4GYbdvkFqmQPEOnNtJg8qgwSTuuQSUCO276J2s4y13P0ycqUdjAwH6BrrCOiw2yejf7LRUyV+Runk3hMvH7rWz+ebfW8HeaYCtu9uApubB/QZxbChQLvLr5bIJruX7ElHHV1I/kLdOpbdlvdrxpReEuDIcC9p7pEs/eWgdiRWDzV9GCHsky2tuvepokMh9uC0+6FoDhpJAgeAgH9WzgFQniqSQBECaqQ23fMhWjZVpOBByRONmFb08kUgGtDo5GXBvpnchQ0yqjx7t+cbydqOq31uo5L0dj/2CLNZh0+eLmPmDdVbNF9IxmFLozN82Fqc9pIACZAACZAACZAACZAACWQIaEdSHzOJgRNffl+8FmWmm+Gi6TqfeXTJMdMZbiXQ392kW+tjDAmQAAmQAAmQAAmQAAmQAAkMFAEZhe3EmdTlujFGjwCbMlxxZjrDvSFAZ7g3HCmFBEiABEiABEiABEiABEjgABPohWMrDnWvPkVlFc3XK72GSQ6d4WFqTdpCAiRAAiRAAiRAAiRAAiSwpwTMUVztUJtxnSpTVFbRfJ3qMczluGZ4mFuXtpEACZAACZAACZAACZAACZAACTgJcGTYiYWRJEACJEACJEACJEACJEACJEACw0yAzvAwty5tIwESIAESIAESIAESIAESIAEScBKgM+zEwkgSIAESIAESIAESIAESIAESIIFhJkBneJhbl7aRAAmQAAmQAAmQAAmQAAmQAAk4CdAZdmJhJAmQAAmQAAmQAAmQAAmQAAnkETiJn51+Gb969nhexsFKf+ZFfHj6Jbx1bLDUymizBzoesFbL4OEJCZAACZAACZAACZAACZAACbRBQJzXUxh/9Cm+9cVjq5ydZp9L9ihu5qvP8PrOQ6v8QT2NbXKov77zCb7/lSNhSKLoDA9JQ9IMEiABEiABEiABEiABEiABEuiUQNN6QTD17Ev45ehLeOvzT/FPu51KHexynCY92O1D7UiABEiABEiABEiABEiABAaGwEN8/8EnQzQq7Ad778tHaOI4zp0Y3vHT4bXM365MIQESIAESIAESIAESIAESIIEAAWPq8MhL+HBEsj7Cjx48wt94p1nH4mSt66gqEEXs7uDbn+/gnq+2nPxqhHZEu22iwx+xqmTpadyf4YPjp/DdeP2vPcKrstp1qEh7mrhbweZjyafr+hQ/wCn8UumT6pLVEcjqYLBMqkjLJlEFdLTrgZquDjX1fSYRJAGH/Ex6dKKpOpIYRQIkQAIkQAIkQAIkQAIkQAKHkYCMAEdOVnZ98Un8TQjHsVH8anQE5lrb+dEX8QrgdoZz8kfOH/CLzz9RU5XnR1/Gj18YxX3DuR4fOYWJnU/wuqztVQ7lKbz1pTG1OXYyTZ2ifOHds+ZPjmIcj/DfjTXD4yMv4aePPsXrD1JH2tYRYtMLL+FXSNdl/7O19ljZcfpFQDv2BXRsqUcc9BeOYQq7yJXvaTNOk/aAYTQJkAAJkAAJkAAJkAAJkAAJtEXg6HGM4zG2nqSlVnf0SG4al4SC+U/ieyPH0Xz0WbJmd/XhDprHRvG9ZxIJahQ22eTqq0dYz0xtPo63To5ARlCTPGnRTEgc3Q9Pv5z8/fiZx/jF51ndsyO+UrxVR+zu4AePHmN8ZBTzqoaHWDUcaola/fIRgGP4S+WPF9HRUQ8e4vvqpUCe/IyZmROODGdw8IQESIAESIAESIAESIAESIAEOiTw5DGaGMF3nxvF/zZGb73SQvmPHcM4gGiacixhdxdNrzBHwrERnDsGrD/M3/nadnSjUeiX1aiz15F26Sij4I93gZHY2Y0332qZ4ox4dLmIjp56TIu98s1MVpjOsAWEpyRAAiRAAiRAAiRAAiRAAiTQEQE1KjqCX46M4penRyMRoZ9hCuVXo8bA+OjL+NBSpnn8OGCNtlpZuj5d3flMrY+eOXHSX1c8sv2BMRKuKo6d/AmZh7yr1wzLSHM03bvINO2MATEL94uAzuVzmnSGsudkchGrjQZulT3pBzh6avFdbDRuoowybjUaWF2c3DtrFFepWz5Svw7vnQpJTRldktg9C+xrO+yZlayIBEiABEiABEiABAaDwPjR/o0J3vtC1tR+gtcffIpfyKjoM8/hrcDyXG9+5VBCrT+O5InM6K/1N5L3iavS8TiU02uqYE7/fmYEMxBH2FjHbOYtEo5ZOLN2IX9AneFJXFnttfPZD5nO5uhTZKT/RqOB5O9m9975vY+3Y33vY0sH+2QBxfr7INuBvYMESIAESIAESIAE9oLAQ/yzjKgelY2XrI9yqqxpyVaW9k4f45/+vKN+nqjFWXQKsvLHU6LHZRS40083MvTU5CfpZlktanjkTx0X738XHxX5fWKPjExdRfJkChQ7GVBnuJjye5ZrcwXz09O4tLZnNXorqi9N4+x0/He5Rwptb+GjuMbtjze9dTOhzwTYDn0GTPEkQAIkQAIkQAIkAOhNqH76rOlknsTP5OeQdnfw82T6ceQ4jx8faXWcPSBl3erPjM2tpk6MqB2ZlQMOQNJlk6pfxXWH8z/Ez9VGVKcyI8tTz76YOfeoEkfHNiSbWUl0bGuw4HG89Vy8m/QXAWcYDh2PjeKnauOvnegnoOLR4/T3iu36i+joqEftJj2KqVz5fkPNHuDPJZNYbzZwvaSz1HFt+jKUKybTS2sVtbhbUsVZi5xGmfY6i63qGCoVWfoNNKsLmF+JnS2rnE6T6aK1OD+WG9hYViVRXXgDN/L8tA5lim3nt6oYq2g7UvtMu1PbRKcc+8o3sbGcAGu1X8Vk/ynbz61jYX4l2Xpd6r+wJdyyeXt2tnYZZ2Of+t78dFash6fKZKWlbHK4WOWAerZOg5vuE5Ih1EawZKa62P3W7J+AXc7WxWx7SdN9PhsflqltyO3XoXbIEuIZCZAACZAACZAACZBANwR2d/CtB7v42Wn9+8GxMMfaXr1uNlr/K79dK7sg+z/3vnyE8RfMNb6tOzKbpfPyyxTqb+Ml/PKFl/FdXVD0LDLiGudf3fkEkJ9kOv0yfqziHuFHO48wM5qdu612kzZ+HlleDHz7QeD3kWP5Lh0zm3EJ753j+HBU836MXzx6hJmRtP4iOrrqUbtk7z7Mla/R2ccjr7525qkdaZ+rh38s4aw9EqmckBmsa0c1cy5O0TJK9biccnKQcSjO39WOs12jTCetYeKOL93OH50rh6kDmcq+8WrihLbKcekTsk/S3sSW5iK2X9hK5Lu1l1irXOxwv69ePEQ6VMZ06WaxFwQ6ewfHVg5aiOg5i0gviTP1lrCv3aM06Bcmqr9M4I6yzyqX6UuxU+tqo/vyMsbXB7W+8dFRn1uXuD5Xn7dERg61tiF22jvog7ZYnpMACZAACZAACZAACZAACfSXQIFp0mWcLzVRvd06JXdqbgbj9XfSEdvNFdypj2NCflVafeq4ph3o+1uZbcA/2mqiJCO/7a57FcfSWDdrbvjUsUwZ0b6TjsauXS7qhPvt0wTaO67h/fo4ZuaiTaymFt9EqX43GoHHJm7Mp1OkF6pApdbfDae8PCfPYAwlXE/aYRnZMXAPl/IsSttVOLpSjMkot/ke1rfNvuRuo9w+aPYXYwYDgrr4+7xS1CcTgJdZex2BuUmABEiABEiABEiABEiABPpMoIAz3B8N7q28Ea19vTsbObdFnWKZTqrXzE5Pp9Ou5fesOpXZcxMjp7ZSize7Wh5D9Yepsx2qbu12FTg3hylMYu4cnC8hpPy999bRxBi+0cfNn708X5nA+HYVC0Y7nJ0uMI09ZHhf0sq4JewX4pcIC9XMC5nOqgzL9DLrrDKWIgESIAESIAESIAESIAES6BOBAs6w7DI8jsrF1p2LlUNWehNXtEM2uYgLpSa27rehrTi34qSUZuOf2JGym/hdExg7owW3IU+y9kNmOyoIB5nSmziLbTiKMiKKGcyV5zCDdbznWSddvljB+LaVHo9Y9vwnoGyea3dRH6vA0SXClGR2wNgMooHvSVx5W6/RdhQrX0RlrI73WyckZDIH+6AawU6zK2b6NKiLv88jJFPLlqPNTKV12a9N+QyTAAmQAAmQAAmQAAmQAAl0RaDABloyPXcBWK1ho6F2s5JJxdHaX9lleWkCG7UGKkqNoutY7fWv0SZEpt8jI6QXajVsKMFF5O6BzHhDL3ODJid9mS7ebKDWiKhEedINmJxlkshN3LizjY3litqM7F4Sb9knI7PGRlsqm5qKXkJptgysmTQTIW0ErPrizdEiqWu4tHAGqzLyrbuESx+7ts0VXK3OoBb3l/rSEurLs0auaOr1dRUTtXmuFcE+KNP2K7ge19esVlEvTUT1BXUJ93mvTISYRdW2368NPAySAAmQAAmQAAmQAAmQAAn0jEChDbR6VtthESQjtMvpZmFitmxGFe0K7Rnq7Qkba4OqnsikEBIgARIgARIgARIgARIgARIYPgIFpkkPn9F7b5FsyAT08zd85ad7ZOR+rLowEL+HvPeMWSMJkAAJkAAJkAAJkAAJ7A0B+a3gXn2KyvLl88X3Sr9hlsOR4b60but0Wf17s32pjkJJgARIgARIgARIgARIgAT2lIA4oa8/+KRQnaG8oTRTuC+fL16XtdPlPO9j21WkjJZpl9Xxg3gssGZ4ENUedJ2in0G6MehqUj8SIAESIAESIAESIAESIIGYwEn87PQpjD/6FN/64nFPqYiDaDul7VTQTVlX3abDasv2Ob5mGdHdLqfj2rFrv/PSGd7vFmD9JEACJEACJEACJEACJEACA0nA5xhqZUPptvOoy7R71HXooy5vyg+l6fw8thKgM9zKhDEkQAIkQAIkQAIkQAIkQAIk4JwGLY6n6YiGMJl5dRnbcZXydpzOq2Xb5zq/KV/n1Wn6XI52eYkz8+mwK58pZ9jCdIaHrUVpDwmQAAmQAAmQAAmQAAmQgJ/AMy/iw9GRNH13B9/+fBffO30KMxI78hI+VMmP8KMHf8RqmrPtkDiXtsNqO5x2etuVdFhA61G0fu0wm9W54sz0QQ/TGR70FqJ+JEACJEACJEACJEACJEACvSFwbBS/Gh3B+s4n+P5Xkcj50RfxCnbw/Qfo25rh3iiflVLEiTWdVe38ZqUUP7PLu+o36ysuef9ycjfp/WPPmkmABEiABEiABEiABEiABEiABPaJwP8HcPSuvVaHLRQAAAAASUVORK5CYII=" alt="" />

这个过程中没有难度的,就不做解释了

下面我们就需要还原成jar了:

使用smali.jar工具将samli变成dex

用法:java -jar smali-2.0.5.jar c:\classout/ -o c:\receiver.dex

然后使用dex2jar命令将dex变成jar

用法:dex2jar receiver.dex

这时候我们就产生了修改之后的jar,我们将这个jar替换ReceiverDemo中的jar,然后运行结果:

aaarticlea/png;base64,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" alt="" />

成功显示了。我们的MyReceiver接收到了BtnReceiver中发送出来的广播了。

问题:

在这个过程中可能使用一些命令的时候会出现问题:

aaarticlea/png;base64,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" alt="" />

这个是class版本号不对,需要修改一下Eclipse中的Java编译器版本在编译导出jar就可以了。

其他的问题我这里没有遇到了。如果在开发的过程中遇到问题,记得回复留言,我尽量解答一下~~

六、总结

1、关于上面说到的问题,就是GA包中的类重复的问题,再次在说明一下,那个是个误区,我们自定一个Receiver也是可以的,不需要类名必须是:CampaignTrackingReceiver,所以有同学如果用到这个类的话,一定要记得,不要在入这个误区了。

2、关于修改jar中的内容,其实用途还是很多的,但是不是正规的解决方法,这个有点偏向于破解的方向了,这个是不符合开发原则的,这里说明一下就是为了多一条解决问题的办法,而且对逆向领域的一种知识补充,这个内容对逆向领域用处还是很大的。

3、关于这种方式使用与所有Java编写的程序,这里可能偏向于Android移动端了,但是如果JavaWeb中遇到这样的问题,也是可以使用这种方式解决的,不仅仅局限于Android方向。

Java中如何修改Jar中的内容的更多相关文章

  1. Java如何快速修改Jar包里的文件内容

    需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...

  2. linux下修改jar中的文件

    解压修改后再打包 解压: jar xvf xxx.jar 打包: jar cvfm0 xxx.jar META-INF/MANIFEST.MF ./ 注: -m参数可以将 一个具体的mainfest文 ...

  3. sql server中如何修改视图中的数据?

    sql server中如何修改视图中的数据? 我做个测试,视图的数据有标记字段时,如果是这种方式(0 as FlagState),是无法修改的 --创建视图语句 --- create view V_E ...

  4. vue中直接修改props中的值并未给出警告,为啥?

    问:vue中直接修改props中的值并未给出警告,为啥? 答:如果props传入的值是引用类型,在子组件中改变其元素,不改变引用,那么不报错: 如果是基本类型,那么在修改时浏览器控制台会有报错信息. ...

  5. 修改jar中的class文件

    在工作中有可能会遇到需要修改jar的情况.正常情况下,如果有源代码的话,就比较容易,直接修改源代码,再导出新的jar文件即可.但是如果没有源代码就比较麻烦了,下面记录了没有源代码的情况修改jar的方法 ...

  6. Java实现动态修改Jar包内文件内容

    import java.io.*; import java.util.Enumeration; import java.util.LinkedList; import java.util.List; ...

  7. 判断Java程序是否在jar中运行

    URL url = TextRenderer.class.getResource(""); String protocol = url.getProtocol(); boolean ...

  8. Java使用jxl修改现有Excel文件内容,并验证其是否对公式的结果产生影响

    jxl的maven坐标: <!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl --> <dep ...

  9. Xcode6中如何修改文件中自动创建的Created by和Copyright

    转自: http://blog.csdn.net/bjourney/article/details/46832159 在Xcode6创建问的时候,会自动生成注释 //  Created byxxx o ...

随机推荐

  1. Python爬虫之抓图

    从"百度图片(http://image.baidu.com/)"的首页下载图片 # -*- coding: utf-8 -*- import urllib import re im ...

  2. Shiro安全框架的说明及配置入门

    Shiro是什么? Shiro是一个非常强大的,易于使用的,开源的,权限框架.它包括了权限校验,权限授予,会话管理,安全加密等组件 什么时候使用它呢? 如果你是设计RBAC基础系统,需要编写大量用于权 ...

  3. 【bzoj1458】士兵占领(最大流||有源汇最大流)

    转载 http://hzwer.com/2963.html Description 有一个M * N的棋盘,有的格子是障碍.现在你要选择一些格子来放置一些士兵,一个格子里最多可以放置一个士兵,障碍格里 ...

  4. Unity编程标准导引-3.4 Unity中的对象池

    本文为博主原创文章,欢迎转载.请保留博主链接http://blog.csdn.net/andrewfan Unity编程标准导引-3.4 Unity中的对象池 本节通过一个简单的射击子弹的示例来介绍T ...

  5. mysql审计插件

    Audit Plugin安装使用 原文: https://www.cnblogs.com/waynechou/p/mysql_audit.html#_label0   #有卸载方法 下载地址: htt ...

  6. nlp学习笔记

    https://mp.weixin.qq.com/s/-w4gENfBt2gKOPvghenw9w

  7. JS 提取公式中的参数

    'A+B-C/D*E'.split(/[*/()+-]/)  => [A,B,C,D,E]

  8. Mysql 2019-07-01

  9. Ubuntu18.10 编译libevent出现错误: creating symbolic link XXXXXX : Operation not supported

    今天在VirtualBox虚拟机下的Ubuntu18.10编译libevent源代码时,按照github中使用cmake方式: $ mkdir build && cd build $ ...

  10. 44-python基础-python3-字符串-常用字符串方法(二)-isalpha()-isalnum()-isdigit()-isspace()-istitle()

    3-isX 字符串方法   序号 方法 条件 返回结果1 返回结果2 1 isalpha() 如果字符串只包含字母,并且非空; True False 2 isalnum() 如果字符串只包含字母和数字 ...