Android逆向笔记之ctflearn上的几道Android RE题目练手

Android逆向笔记之ctflearn上的几道Android RE题目练手,第1张

概述一、BasicAndroidRE1https://ctflearn.com/challenge/962没啥特别说明,只说了这是一个apk文件,让你自己找乐子,OK,先下载文件:https://ctflearn.com/challenge/download/962下载完之后二话不说先拖到jeb看下:项目结构看起来很简单。嗯?似乎依赖了apache-codec库?不知道有啥猫腻,反编译 一、 Basic AndroID RE 1

https://ctflearn.com/challenge/962

没啥特别说明,只说了这是一个apk文件,让你自己找乐子,OK,先下载文件:

https://ctflearn.com/challenge/download/962

下载完之后二话不说先拖到jeb看下:

项目结构看起来很简单。嗯?似乎依赖了apache-codec库?不知道有啥猫腻,反编译MainActivity看下:

package com.example.secondapp;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.EditText;import androID.Widget.TextVIEw;import androIDx.appcompat.app.AppCompatActivity;import org.apache.commons.codec.digest.DigestUtils;public class MainActivity extends AppCompatActivity {    @OverrIDe  // androIDx.appcompat.app.AppCompatActivity    protected voID onCreate(Bundle arg1) {        super.onCreate(arg1);        this.setContentVIEw(0x7F09001C);  // layout:activity_main    }    public voID submitPassword(VIEw arg4) {        EditText v4 = (EditText)this.findVIEwByID(0x7F070037);  // ID:editText2        if(DigestUtils.md5Hex(v4.getText().toString()).equalsIgnoreCase("b74dec4f39d35b6a2e6c48e637c8aedb")) {            ((TextVIEw)this.findVIEwByID(0x7F07008A)).setText("Success! CTFlearn{" + v4.getText().toString() + "_is_not_secure!}");  // ID:textVIEw        }    }}

可以看到和大多数app一样,程序启动的时候设置了一个布局文件,找到这个布局文件:

<?xml version="1.0" enCoding="UTF-8"?><androIDx.constraintlayout.Widget.ConstraintLayout androID:layout_height="-1" androID:layout_wIDth="-1" xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:app="http://schemas.androID.com/apk/res-auto">  <button androID:ID="@ID/button" androID:layout_height="-2" androID:layout_marginBottom="160.0dp" androID:layout_marginRight="160.0dp" androID:layout_wIDth="-2" androID:onClick="submitPassword" androID:text="@string/button" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toEndOf="0"/>  <EditText androID:ems="10" androID:hint="@string/username" androID:ID="@ID/editText" androID:inputType="0x81" androID:layout_height="-2" androID:layout_marginBottom="20.0dp" androID:layout_marginleft="96.0dp" androID:layout_wIDth="-2" app:layout_constraintBottom_totopOf="@ID/editText2" app:layout_constraintStart_toStartOf="0"/>  <EditText androID:ems="10" androID:hint="@string/password" androID:ID="@ID/editText2" androID:inputType="0x21" androID:layout_height="-2" androID:layout_marginBottom="32.0dp" androID:layout_marginleft="96.0dp" androID:layout_wIDth="-2" app:layout_constraintBottom_totopOf="@ID/button" app:layout_constraintStart_toStartOf="0"/>  <TextVIEw androID:ID="@ID/textVIEw" androID:layout_height="-2" androID:layout_marginBottom="276.0dp" androID:layout_marginleft="175.0dp" androID:layout_marginRight="179.0dp" androID:layout_margintop="86.0dp" androID:layout_wIDth="-2" androID:text="@string/welcome_please_enter_the_password_for_the_flag" androID:textSize="30.0sp" app:layout_constraintBottom_totopOf="@ID/editText" app:layout_constraintEnd_toEndOf="0" app:layout_constraintStart_toStartOf="0" app:layout_constrainttop_totopOf="0"/></androIDx.constraintlayout.Widget.ConstraintLayout>

发现是一个登录界面,可以输入用户名和密码,然后单击按钮提交,按钮绑定了一个onClick函数到submitPassword,这个绑定的submitPassword函数在之前的MainActivity中,这里再贴一下:

    public voID submitPassword(VIEw arg4) {        EditText v4 = (EditText)this.findVIEwByID(0x7F070037);  // ID:editText2        if(DigestUtils.md5Hex(v4.getText().toString()).equalsIgnoreCase("b74dec4f39d35b6a2e6c48e637c8aedb")) {            ((TextVIEw)this.findVIEwByID(0x7F07008A)).setText("Success! CTFlearn{" + v4.getText().toString() + "_is_not_secure!}");  // ID:textVIEw        }    }

ID为editText2的组件就是密码输入框,这里会把输入的内容做一个md5

,然后看是否和指定的md5相同,也就是说我们要找到md5为b74dec4f39d35b6a2e6c48e637c8aedb的明文,然后将其拼接到CTFlearn{" + v4.getText().toString() + "_is_not_secure!}中即可,

在这个网站:

https://www.somd5.com/

查表查到了明文是:Spring2019

然后拼接出flag提交即可:

CTFlearn{ Spring2019_is_not_secure!}

二、 Weird AndroID Calculator

https://ctflearn.com/challenge/290

说他发现了一个奇怪的应用,看起来像是一个计算器,但是有一些很奇怪的地方,看我们能不能发现哪里奇怪?

去他提供的这个地址去把apk文件下载下来:

https://mega.nz/#!qXIAgSKZ!u2QBlLV-3G8kmsr6yR0wqpQOFyv89e0WvBt45alBIRY

这奇奇怪怪的网盘奇奇怪怪的使用方式....

下完之后二话不说,直接拖到jeb中看一下:

嗯,项目看起来很简单,看起来需要注意的除了MainActivity就只有一个叫做Parser的类了,先反编译MainActivity看下:

package de.vIDar.weirdcalculator;import androID.os.Bundle;import androID.support.v7.app.AppCompatActivity;import androID.vIEw.VIEw;import androID.Widget.EditText;import androID.Widget.TextVIEw;import androID.Widget.Toast;public class MainActivity extends AppCompatActivity {    private VIEw vIEw;    public voID createBackground(VIEw arg7) {        String s = ((EditText)this.vIEw).getText().toString();        try {            TextVIEw result = (TextVIEw)this.findVIEwByID(0x7F0B0061);  // ID:lblResult            result.setText("");            result.setText(String.valueOf(Parser.eval(s)));        }        catch(Exception e) {            Toast.makeText(this, e.getMessage(), 1).show();        }    }    @OverrIDe  // androID.support.v7.app.AppCompatActivity    protected voID onCreate(Bundle arg2) {        super.onCreate(arg2);        this.setContentVIEw(0x7F04001B);  // layout:activity_main        this.vIEw = this.findVIEwByID(0x7F0B005F);  // ID:txtExpression    }}

先看onCreate部分,app启动的时候设置了一个布局文件,把这个文件找出来看一下:

<?xml version="1.0" enCoding="UTF-8"?><relativeLayout androID:layout_height="-1" androID:layout_wIDth="-1" androID:paddingBottom="10.0px" androID:paddingleft="10.0px" androID:paddingRight="10.0px" androID:paddingtop="10.0px" xmlns:androID="http://schemas.androID.com/apk/res/androID">  <TextVIEw androID:ID="@ID/textVIEw1" androID:layout_height="-2" androID:layout_wIDth="-2" androID:text="Enter your math Expression:"/>  <EditText androID:ems="10" androID:ID="@ID/txtExpression" androID:layout_alignleft="@ID/textVIEw1" androID:layout_below="@ID/textVIEw1" androID:layout_height="-2" androID:layout_margintop="22.0dp" androID:layout_wIDth="-2"/>  <button androID:ID="@ID/btncalc" androID:layout_alignleft="@ID/txtExpression" androID:layout_below="@ID/txtExpression" androID:layout_height="-2" androID:layout_margintop="53.0dp" androID:layout_wIDth="-2" androID:onClick="createBackground" androID:text="Calculate"/>  <TextVIEw androID:ID="@ID/lblResult" androID:layout_alignRight="@ID/btncalc" androID:layout_below="@ID/btncalc" androID:layout_height="-2" androID:layout_margintop="132.0dp" androID:layout_wIDth="-2"/></relativeLayout>

从布局文件看不出来啥,看起来中规中矩,提供了一个输入框用来输入表达式,然后点击计算按钮就将结果展示出来,没啥特别的,然后再来看button的onClick的createBackground方法,在上面的MainActivity中,它获取输入的表达式,提供给一个叫做Parser的类,然后将计算的结果展示出来,接下来就是重点Parser了,这个类的代码很长,我本来打算仔细分析一遍的,感谢老天爷,我有在仔细分析之前先有个概览的习惯,所以在一目十行的时候我一不小心就撇到了一个奇怪的地方:

看起来像是这个计算器还是需要购买的,不买只能用部分功能之类的,但是下边执行不到的那部分,那数组中的一串数字看起来很奇怪,将其拷贝出来并复现一下这个逻辑,看看输出的都是什么东西:

#!/usr/bin/env python3# enCoding: utf-8"""@author: CC11001100"""if __name__ == "__main__":    flarry = [0x57F, 0x575, 1400, 1406, 0x542, 1400, 0x569, 0x572, 0x566, 0x50D, 0x557, 0x558, 0x555, 0x540, 0x54A,              0x508, 0x54A, 0x566, 0x508, 0x54A, 0x566, 0x54B, 0x50D, 0x54D, 0x551, 0x50A, 0x54B, 0x566, 0x50A, 0x558,              0x54A, 0x540, 0x566, 0x508, 0x54A, 0x557, 0x54D, 0x566, 0x508, 0x54D, 0x544]    for _ in flarry:        print(_ ^ 0x539)

输出看起来像是ASCII码:

那我们就将其当做是ASCII码好了,每个码转成一个字符,然后把所有拼接起来看看到底是个啥:

#!/usr/bin/env python3# enCoding: utf-8"""@author: CC11001100"""if __name__ == "__main__":    flarry = [0x57F, 0x575, 1400, 1406, 0x542, 1400, 0x569, 0x572, 0x566, 0x50D, 0x557, 0x558, 0x555, 0x540, 0x54A,              0x508, 0x54A, 0x566, 0x508, 0x54A, 0x566, 0x54B, 0x50D, 0x54D, 0x551, 0x50A, 0x54B, 0x566, 0x50A, 0x558,              0x54A, 0x540, 0x566, 0x508, 0x54A, 0x557, 0x54D, 0x566, 0x508, 0x54D, 0x544]    s = ""    for _ in flarry:        s += chr(_ ^ 0x539)    print(s)

看起来找到了FLAG:

将这串字符:

FLAG{APK_4nalys1s_1s_r4th3r_3asy_1snt_1t}

复制提交即可完成此任务。

另外想吐槽的是flarry这变量名字取得还真是隐蔽啊~~!

三、 AndroID, run!

https://ctflearn.com/challenge/317

不愧是hard,之前两个题目的Solves都是两百多,到这里直接下降了一个数量级,而且连题目描述都长了一些,这让我的散装英语压力很大...

还是从奇怪的网盘下载下来apk:

https://mega.nz/#!XCwVRZgL!hzP0UnEFVw_eLM1_s3nj9Bps4J_Fc0MLDknWT95SMNA

二话不说直接拖进jeb:

单看项目的结构感觉就很难啊,老规矩还是先看MainActivity:

package de.vIDar.run;import androID.os.Bundle;import androID.support.v7.app.AppCompatActivity;import androID.Widget.button;public class MainActivity extends AppCompatActivity {    button wjan6g1aXIJQJJbfuT;    boolean zI5xFkVDsajIQcz4DH2;    public MainActivity() {        this.zI5xFkVDsajIQcz4DH2 = false;    }    @OverrIDe  // androID.support.v7.app.AppCompatActivity    protected voID onCreate(Bundle arg3) {        super.onCreate(arg3);        this.setContentVIEw(0x7F04001B);  // layout:activity_main        this.wjan6g1aXIJQJJbfuT = (button)this.findVIEwByID(0x7F0B005E);  // ID:start        this.wjan6g1aXIJQJJbfuT.setonClickListener(new wjan6g1aXIJQJJbfuT(this));    }}

启动后设置了布局文件:

<?xml version="1.0" enCoding="UTF-8"?><androID.support.constraint.ConstraintLayout androID:layout_height="-1" androID:layout_wIDth="-1" xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:app="http://schemas.androID.com/apk/res-auto">  <TextVIEw androID:layout_height="-2" androID:layout_wIDth="-2" androID:text="Hello World!" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintleft_toleftOf="0" app:layout_constraintRight_toRightOf="0" app:layout_constrainttop_totopOf="0"/>  <button androID:ID="@ID/start" androID:layout_height="-2" androID:layout_wIDth="-2" androID:text="Start"/></androID.support.constraint.ConstraintLayout>

这个叫start的按钮是在MainActivity中绑定了一个单击事件,绑定了wjan6g1aXIJQJJbfuT,这又是个什么鬼呢:

package de.vIDar.run;import androID.support.constraint.BsdFKBmxbpWmGnzYUKFl;import androID.vIEw.VIEw.OnClickListener;import androID.vIEw.VIEw;final class wjan6g1aXIJQJJbfuT implements VIEw.OnClickListener {    private MainActivity wjan6g1aXIJQJJbfuT;    wjan6g1aXIJQJJbfuT(MainActivity arg1) {        this.wjan6g1aXIJQJJbfuT = arg1;        super();    }    @OverrIDe  // androID.vIEw.VIEw$OnClickListener    public final voID onClick(VIEw arg3) {        if(!this.wjan6g1aXIJQJJbfuT.zI5xFkVDsajIQcz4DH2) {            this.wjan6g1aXIJQJJbfuT.zI5xFkVDsajIQcz4DH2 = true;            this.wjan6g1aXIJQJJbfuT.wjan6g1aXIJQJJbfuT.setText("Running...");            BsdFKBmxbpWmGnzYUKFl.wjan6g1aXIJQJJbfuT(this.wjan6g1aXIJQJJbfuT);        }    }}

顺着BsdFKBmxbpWmGnzYUKFl.wjan6g1aXIJQJJbfuT(this.wjan6g1aXIJQJJbfuT);继续追查下去:

    public static voID wjan6g1aXIJQJJbfuT(Activity arg3) {        file v0 = new file(arg3.getApplicationInfo().dataDir + "/roman");        v0.mkdirs();        file v1 = new file(v0, "result.txt");        try {            RandomAccessfile v0_2 = new RandomAccessfile(v1, "rw");            ArrayList v1_1 = new ArrayList();            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2 = v1_1;            v1_1.add(new r9qRzaQ057dMuQIAwzn2(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new bdDiaKzIuQ2hrQeLe84P(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Wdyzq101jrOGlKsBKcPq(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tnxVNVhIDGr31SCTSUOO(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Z7U3gZjdrThtKIMa4N9S(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new xgjXlAaT5Bkm4oWeFd3(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ulqbLOXblKCXB2eduneJ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new U8RqtFHsCIgzB130xlem(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new DtVNjG3Z1RV3eqvVGC1I(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new FmHhRJBWPnG7PtkXe6Q(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new UIMzJEUasPTRsBDWuPTg(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new a8gU93aMnHyhWpN5JM50(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new KB7I76D5WyHHWSU3nE5u(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new n7WVnMpltd5UpZaRtFyl(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new de.vIDar.run.a.BsdFKBmxbpWmGnzYUKFl(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tzLwE9kccskotIRnCXCD(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new jCBoHZZ4ipPbMeAJoTvG(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new MZfav4JgUqZNO9NJys2(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new KJCK6x8oBFrOmoT8AEvf(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VzAbvxLv50yobnyJh3hE(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new UAbLpp8k4epd9ZC28CPl(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Mj1LkbpkFjf6kHnYSSSe(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Kol5CCqOKU5uRuP3PNWN(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tG1kkliQMRvcRcOSkNUq(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new zD6vz21PwEmo3gQ3NCJs(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new MfxCIX6Ey2D6IDf6QXJb(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new nLwEz3FdUFncFkpPau52(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TCra40syDPc8v6WJusH3(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new xvaScESgm3qQE2u010w0(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VVtGIubny2bnIazta9W3(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new rEvyQ7KMoQAxm0OVB5dK(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new YSEOvIfzjcB5j5RFhVUF(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new JeQIJX0DWGPVOcnWgRAu(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gbHJEeXc1fDWsEmweclp(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new x9GfdC2XZolqamxe19fL(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new axDF5wyCrv0SGFJy5eTF(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tDbsHvEtvjkFg7BGj6K(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new WQ0zCirBfwSoQGfmJBwq(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new v2M5tDDWJhh6Ih9TdTGS(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new J53OQDTaeh1JgLKn1GLp(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new leY3apPAZqcDGFrFQ83y(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new imOzm0b7qaz5cyC7azeS(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new stySDGOEXKr4H0VrTirU(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Q2WYO9yGCDiRDguInU(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Klti7ntENdGsjR2dQw7T(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new pGBpsebBD1jDBdRHhia(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TSH3FdQz4GYDh5DyUsc6(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new OegeWopgjLzbqthDALKM(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new SrMancb72JpOI1g5QdkW(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ZffTQnnWMH7dFZpq4sg(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hPWhKhHwUaOKbpFzQlJy(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new IHOglSuBA7Kn10UDYiVQ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new zJv1P5vUhDzc4VN7ZnZC(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new af70XmlcZmsHs1A4RaFL(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new RScqDbF1WSSBqmkn7(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NEJl3IQ9MtK92s6E2kzQ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Uwr5CHl9TCZyx3zagl2v(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new CGQUbNdu2k9bxt97yRCV(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new u59Nw6mahpI5xCTMqq0A(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ZdqUeRbZFBorajFLfoPQ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Rygn7jezYcTqLNcXY7RD(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new KTfaPF8Lv7aVpCbWjdL(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new kEUDovZ4K5gknqutzzET(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new c8taMw5pTOUPfUP6l1hP(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new YmcWx9gJTQrEGsHtoKyl(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new DWje0Sc7Z1FWMi2MnaNb(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new EiIQAGUU9TPPNN2La7Yz(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new xOmU9697gOyulJqLOqSx(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new vL8VeuvPomJUS79592Ng(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new lkxWRuhVrcpxMTIj0xg(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Ar9UJd5AU0LZO3j8THQX(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tYoOEEQjFvdD713ZDErW(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new rLEZWosKPpskJRDWyBID(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TbEVo8RtUInltWya7Yxd(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new amCOVPwvaYQQhZbAsqRY(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TwPHP07049CzAC8EgbJ2(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new IXi8PmDgwTwQwfuNwQBv(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new cmGLdHgXDtuaE9klxt1Q(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new CVxFAavhJzoGgbHONB7(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new sxtK2b0qYt5Dmms6PXt0(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ifJKvHFryjvBOp0eazu2(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new rFvsapltTKwrIlEkleP(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new lzL3amzKV2skPAIa7Rl(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new V1vVV15cwxP8yDnYDQmz(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tMrjJA944fsoyCJV9dhc(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fgsexkE1bJ5gs9j6sRqO(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new JUyTxsnUQI8q7fh3hHxI(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new wbO2BGIEMlNMhsqlzhts(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new K4rIXzvSLMRRBi8WyEVQ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Cbwxuxlm6IjK2gxkm2om(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new l7uHCni0oJsbqT0h3tBC(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new qPapuIDHyAny6RI7U2oS(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new PrOjaJ9giGbuOadEGtS(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QPLEUI4FPBIgHJNA4G65(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Z9gJqlbF265TtRVPkkT7(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new KPMD6mtLFmwDJsliLwW(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NJEUKJsK6Sx6fQjmdx9N(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new dRSnE7bmaZMm0sNXyXYn(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new bNJ6hFEJHvBeZbRL19PN(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new g8Xmlqp2h3vVGk4YgMC8(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Rt1iJWIDoR3LzogvV41H(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ZWhAGPmTz5gmhiUj46tL(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new nposoxe6rIA5C44ZDkA6(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new wjan6g1aXIJQJJbfuT(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Kk4OfZfUN4QcCknOSC69(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new FyPgwvhaZ7UDGf1NDZng(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new er4tBB1eqtxfdh1U8Erb(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LERAS8ADZL1k07wMMoVX(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new JghYLfAooFDeLSVV3sZY(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new a9lZHbReqDb4r1xDb94d(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fqSPtMpHf6GbZe9IkVoe(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new jmZxnBefzFZW9GIV9IEG(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gan2AoF1UPfGYTmFS7S(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new kwnNqp3kosshUMbWEWVN(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QSwvVKW5iZsKsZR4md12(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new N1vru7r8FMAawEwqHsdp(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ZJOuoW3zEwOUibX1fMnt(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new H4Zm9m6ZDW80FBsma36c(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new SnS7sAZNZKng1Auz74A8(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new rDih0P5k5riwRnN3oFom(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new nAFwFIS2HXkcpCLF64m5(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new de.vIDar.run.a.oBrsElUDyc29IB6vfNnJ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new zI5xFkVDsajIQcz4DH2(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fKxVeHrJP3w0RDWwa976(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new wzpWlgiYpCTqBo0DN2U(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new OXIpDqrBnTYmdsyBrGKm(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new C55IDkdKM6e5AxOTm7gT(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fPvS6ItPxWSLALhyp1j(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NYswMe5kYmZCJKK8h3YZ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hS1x8mZPrCBpiL6xsTKT(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ysMjT9zV7l0fSsb7bw(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new HmPDW4VkdGUg3Tsf46M1(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Gx5fzkAAbNXnczKSZ3Xk(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hJJ3EhIlVmnesn97hFpA(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new prCANKZF2XJclrsoPxz5(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NBC9E5aFSSQ9U7Cqpa4o(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new aG47QwnmUtzUEjbrWuzh(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new e7nimol9fXf0jmmAJMjG(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new OXv6TreqtgxoYj7KdikN(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fcLSCbRSYTERD2JomrpU(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TadQsWcQXGj4n4rpvGTU(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Y2EhKr0eVGbBTsDn3ab(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new qV5V1WO09kVTwXkOoEdD(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QTfCaOKP1MKe3c7EBZVK(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new PnSvoIcEjolAxslP3DuX(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new oF7wVHY1dNGorFkMrkr7(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Mp0vQV2pCAoq6GwuBEMt(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new DLMlxmd8r08P1GuT2D(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new lrsRXSWUfDnPc0ufxkXO(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VjXufTyBOtyZjbrBgTvY(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new mIy4ngMMVWQYrOb5cN9o(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new FPICm7ZDhPEeGkQQ9vaL(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new iuyYSQmRpETpwBKFpaVZ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NZSjriCiBCmHW5rfoI(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new jIjck81wV8L6n4MQfwaI(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new JZVjPNI7JDqFySXWMrkw(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new xUymWNK8iOD73VaAPIcn(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new DDDXZNGjLpELRvjPszwO(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new bxlwfVlgK2hLFyz0sFO0(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new wJ1BpK4gIgAFTw2KOrV0(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ILYMhxEukRyBhjBttv2c(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new GxlbCr340IokmbGE5IzS(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new iyD5jul0EUmmvcQhxTQD(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Cmkh8cxvalZ6cd8fP7VG(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ChhiTjp2wGru3qNnIDn6(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Fq2Bnhg7EeMjocfQPsC(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new XF7WF077osuB8DvaIx6m(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new IimJL6EgO07nogzmREwa(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Phyu81x1eD5SgVJATwz(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new HO5c7mderwUCdCEFLJbJ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new XzlqI4shQaSUtcnBr4B(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new eUmpulciN4wJA4DtmJk(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LCKOdHWdX0U9w0G44wXc(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tytPw9Xgix6Ez2sYgTLE(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new r52lRphi4lDygyfVE7AX(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NMlG0ZstYPVYiftGnx3s(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new CFhrkwITmPsWIFzzmf7(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new glZWf8XU8xnk9JEGXAqb(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new FA9wpogw7T2cch1yvAhu(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gtvHmpu1iSiviVdEhU1E(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new GuO869aGNpwdgzhBTex(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TzfdACUn2DT52tc4EOuV(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new AwHRhcGSsWDVBqmZnF6L(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new BFv4pPCEdSvqY66TJYS4(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Gh15CFQeRqYlRFOo9pK1(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ubT4q125yeOcOGN5JfxT(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new WuK90hXbPHStQjOzosLA(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Rw06P5mlExxBHnJJ9Fe(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new qgF2FTOm6HXN2oRPJ2S(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gxz4p8CrpVJs5WRNzwfx(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new kpUtVjydu9Fgtj2Z5NAS(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new M886HgLqqNf8vQD05h05(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new mf5JfDWi2J0dFP1hPZk7(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new zfQliGoAwkV7mGXc2Fu5(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new V2cxjtjOnnnLwvRBfGMX(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new khxs0oHfSW9ClTkCAd0m(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new oljRxBoxFH6tHmKVuKMh(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gsK3DLL9i8fOm1rYqIMw(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new BYLkUWnnEXzPinu0GMnF(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new krw3TgxQezuYAKvbednr(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hADBmQRhUkdlxBVHz6Ww(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new k0k1kCIlgpNZXuWIm7rY(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new CnKaJK9rmO9y0o3G6zA(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new jatY8aH2rvT6c3WWcfF(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fXm5PBlbDCdk02pokFeP(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TZ9HYVNqMtNDNDY2J12P(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new knHntI4hx8YiXWH8DVU(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new slxwzT05n2QBlsrlXeiW(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new kY8Yaxiy9e7C6IkmYA(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hsHGGt4DIMvOXgtVifor(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new sstLUsWDYYkCCffcJIEA(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new B44rMKxsC7nb2Sd0MaUs(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VJBdGsSD0uUMRNER41L(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new yPcJ0lE4c1qXpMGrgi5T(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NYzmscmkR3HJEpCgT76L(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new uqeVdRdUoFgYAuMjex63(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QzJyobcmHeT54fW3mAS6(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new SMRHZahv5C1qeTEPuoTc(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new uv9tMzjIng1nQsd09m30(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ChrYMp3ONBwhZ3GqmjO9(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new RguGoAeZZ3koOuEHAoQ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LUxYzMgOu2JPE3a67g7r(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LuvQRJn4BAsnsCs5RUIr(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new GiIXmg5Mh0Iw9oKQBeYU(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new pRhrP5XFmkMZbPkvZjdi(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new vUzcOXGSyV5W2JNdzi4(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new v9LdsWGXdpSZHDPxADQl(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new BRS6bup1TUXZPp8ik3Vu(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new RJ1KNBN0QDzCepMiCEMj(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QfpbEMXqre1FmKOphhPm(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fEh4EENjqk9TxRw20Hkc(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QAlcas6Rf3wgtrXvYGAe(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new X7TjLPa07wpSic8MzfZG(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new KmcwR8TX0BKLTmbwQXeH(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new USXAZJOol8At2J650aFW(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new EJfQEhYK5Xrhpik9sGmj(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new RVv4edPHFm4lios2NUcs(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VM9fbnxTfvEtsw4zoGF(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new US0Qdczh24BRIu9z3Yol(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new THtwPRo8uGE9g5DsqZh3(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new bNCr0nUz69zkY39CeXtt(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new q26kipgyh5sgHkPnzw09(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new HQKvP03ShnwyiPibD5aK(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LTX0ZTe5P590gW2Tpx9p(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TWj3Hdi86ZPGrdFrNS78(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new D4CVUxs8mRTKwYk9vNfI(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new PLrLPs9yfQLowMWIB4Q2(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new GqzOEKikyfj2CBgDzRiM(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VZ8G1CcigcSj1jmvkHGi(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new iycPZh2pxHdp4ErKKnsQ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new xkvdJCSu8KdRZfVNUAab(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new vqFWJYt5tcT94oP5AcWx(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new OsJCZIYxdPMvxKg7g6oQ(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new C1vqJXHEQIDbHvHyyX9c(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new mV9zpPO5IIaeih5X6hFo(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new L8zLmAwrFdNsDj48TaYo(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new q3ymU5Jsb3lap5tVobxB(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new jhDpvjoas67EmAIwpuEc(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new zkFZ7xRTSAE3VzO0fwqv(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new JNNJjNLbl2vAVtxZOuW3(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new iyHmHgaypVEkQ7mYIGtC(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new OJzHQVUyHkAWOWmbJcCo(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new b2hX8OFq3arame9NLoQN(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new IXm3xNeqCvzmhqI2Oeq8(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gKXNzCaKhLF7nklB5un6(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new etopEddoO332OctwxXyR(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hhQRQrjxszf238PQO9Dy(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new cZEpQFClPlkNdoN2bEA(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new wUWuBKMALD0L6RCLDrQ9(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new kNdqgGyHbaJ6qRSQS3Ds(v0_2));            BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LqLy9NugWoZ3fvFR8hSp(v0_2));        }        catch(IOException v0_1) {            v0_1.printstacktrace();        }        for(Object v0_3: BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2) {            ((Thread)v0_3).start();        }    }

可以看到这里是创建了一个ArrayList,然后往里面添加了很多个Thread,然后再一一启动这些Thread,看下这些Thread的实现,随便找几个点进去:

package de.vIDar.run.a;import java.io.IOException;import java.io.RandomAccessfile;public final class kNdqgGyHbaJ6qRSQS3Ds extends Thread {    private long BsdFKBmxbpWmGnzYUKFl;    private RandomAccessfile wjan6g1aXIJQJJbfuT;    private char zI5xFkVDsajIQcz4DH2;    public kNdqgGyHbaJ6qRSQS3Ds(RandomAccessfile arg3) {        this.zI5xFkVDsajIQcz4DH2 = 'p';        this.BsdFKBmxbpWmGnzYUKFl = 271000L;        this.wjan6g1aXIJQJJbfuT = arg3;    }    @OverrIDe    public final voID run() {        try {            Thread.sleep(this.BsdFKBmxbpWmGnzYUKFl);        }        catch(InterruptedException v0) {            v0.printstacktrace();        }        try {            this.wjan6g1aXIJQJJbfuT.seek(0L);            this.wjan6g1aXIJQJJbfuT.writeChar(this.zI5xFkVDsajIQcz4DH2);            this.wjan6g1aXIJQJJbfuT.writeChar(10);        }        catch(IOException v0_1) {            v0_1.printstacktrace();        }    }}

发现这些Thread类的代码格式都是类似于这个格式,每个Thread的实现都是sleep一段时间,然后往文件最前面写一个字符,那么现在思路就比较清晰了,根据wjan6g1aXIJQJJbfuT中使用到的类,将每个类解析出sleep的时间和要写入的char,然后手动排序输出就可以了。

首先将反编译出的类的源码导出以方便处理,在jeb中将光标定位到bytecode,然后选择文件-->导出-->解码,

在d出的导出设置对话框中设置过滤器,只导出de包下面的,否则的话会连androID框架的依赖都包括在内,那就太多了,文件太多了就会花费很长时间:

然后工作环境切换到pycharm,新建一个文件file_name_index,把往数组中放Thread的部分赋值粘贴到file_name_index中,其中有两行比较特殊,是这个格式的:

数据不统一的数据只有两条,不值当的用程序去兼容,因此这里就手动处理下,处理完是这个样子的:

v1_1.add(new r9qRzaQ057dMuQIAwzn2(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new bdDiaKzIuQ2hrQeLe84P(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Wdyzq101jrOGlKsBKcPq(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tnxVNVhIDGr31SCTSUOO(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Z7U3gZjdrThtKIMa4N9S(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new xgjXlAaT5Bkm4oWeFd3(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ulqbLOXblKCXB2eduneJ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new U8RqtFHsCIgzB130xlem(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new DtVNjG3Z1RV3eqvVGC1I(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new FmHhRJBWPnG7PtkXe6Q(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new UIMzJEUasPTRsBDWuPTg(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new a8gU93aMnHyhWpN5JM50(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new KB7I76D5WyHHWSU3nE5u(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new n7WVnMpltd5UpZaRtFyl(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new BsdFKBmxbpWmGnzYUKFl(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tzLwE9kccskotIRnCXCD(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new jCBoHZZ4ipPbMeAJoTvG(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new MZfav4JgUqZNO9NJys2(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new KJCK6x8oBFrOmoT8AEvf(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VzAbvxLv50yobnyJh3hE(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new UAbLpp8k4epd9ZC28CPl(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Mj1LkbpkFjf6kHnYSSSe(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Kol5CCqOKU5uRuP3PNWN(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tG1kkliQMRvcRcOSkNUq(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new zD6vz21PwEmo3gQ3NCJs(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new MfxCIX6Ey2D6IDf6QXJb(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new nLwEz3FdUFncFkpPau52(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TCra40syDPc8v6WJusH3(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new xvaScESgm3qQE2u010w0(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VVtGIubny2bnIazta9W3(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new rEvyQ7KMoQAxm0OVB5dK(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new YSEOvIfzjcB5j5RFhVUF(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new JeQIJX0DWGPVOcnWgRAu(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gbHJEeXc1fDWsEmweclp(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new x9GfdC2XZolqamxe19fL(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new axDF5wyCrv0SGFJy5eTF(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tDbsHvEtvjkFg7BGj6K(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new WQ0zCirBfwSoQGfmJBwq(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new v2M5tDDWJhh6Ih9TdTGS(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new J53OQDTaeh1JgLKn1GLp(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new leY3apPAZqcDGFrFQ83y(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new imOzm0b7qaz5cyC7azeS(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new stySDGOEXKr4H0VrTirU(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Q2WYO9yGCDiRDguInU(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Klti7ntENdGsjR2dQw7T(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new pGBpsebBD1jDBdRHhia(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TSH3FdQz4GYDh5DyUsc6(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new OegeWopgjLzbqthDALKM(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new SrMancb72JpOI1g5QdkW(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ZffTQnnWMH7dFZpq4sg(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hPWhKhHwUaOKbpFzQlJy(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new IHOglSuBA7Kn10UDYiVQ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new zJv1P5vUhDzc4VN7ZnZC(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new af70XmlcZmsHs1A4RaFL(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new RScqDbF1WSSBqmkn7(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NEJl3IQ9MtK92s6E2kzQ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Uwr5CHl9TCZyx3zagl2v(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new CGQUbNdu2k9bxt97yRCV(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new u59Nw6mahpI5xCTMqq0A(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ZdqUeRbZFBorajFLfoPQ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Rygn7jezYcTqLNcXY7RD(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new KTfaPF8Lv7aVpCbWjdL(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new kEUDovZ4K5gknqutzzET(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new c8taMw5pTOUPfUP6l1hP(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new YmcWx9gJTQrEGsHtoKyl(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new DWje0Sc7Z1FWMi2MnaNb(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new EiIQAGUU9TPPNN2La7Yz(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new xOmU9697gOyulJqLOqSx(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new vL8VeuvPomJUS79592Ng(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new lkxWRuhVrcpxMTIj0xg(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Ar9UJd5AU0LZO3j8THQX(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tYoOEEQjFvdD713ZDErW(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new rLEZWosKPpskJRDWyBID(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TbEVo8RtUInltWya7Yxd(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new amCOVPwvaYQQhZbAsqRY(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TwPHP07049CzAC8EgbJ2(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new IXi8PmDgwTwQwfuNwQBv(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new cmGLdHgXDtuaE9klxt1Q(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new CVxFAavhJzoGgbHONB7(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new sxtK2b0qYt5Dmms6PXt0(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ifJKvHFryjvBOp0eazu2(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new rFvsapltTKwrIlEkleP(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new lzL3amzKV2skPAIa7Rl(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new V1vVV15cwxP8yDnYDQmz(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tMrjJA944fsoyCJV9dhc(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fgsexkE1bJ5gs9j6sRqO(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new JUyTxsnUQI8q7fh3hHxI(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new wbO2BGIEMlNMhsqlzhts(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new K4rIXzvSLMRRBi8WyEVQ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Cbwxuxlm6IjK2gxkm2om(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new l7uHCni0oJsbqT0h3tBC(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new qPapuIDHyAny6RI7U2oS(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new PrOjaJ9giGbuOadEGtS(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QPLEUI4FPBIgHJNA4G65(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Z9gJqlbF265TtRVPkkT7(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new KPMD6mtLFmwDJsliLwW(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NJEUKJsK6Sx6fQjmdx9N(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new dRSnE7bmaZMm0sNXyXYn(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new bNJ6hFEJHvBeZbRL19PN(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new g8Xmlqp2h3vVGk4YgMC8(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Rt1iJWIDoR3LzogvV41H(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ZWhAGPmTz5gmhiUj46tL(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new nposoxe6rIA5C44ZDkA6(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new wjan6g1aXIJQJJbfuT(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Kk4OfZfUN4QcCknOSC69(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new FyPgwvhaZ7UDGf1NDZng(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new er4tBB1eqtxfdh1U8Erb(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LERAS8ADZL1k07wMMoVX(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new JghYLfAooFDeLSVV3sZY(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new a9lZHbReqDb4r1xDb94d(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fqSPtMpHf6GbZe9IkVoe(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new jmZxnBefzFZW9GIV9IEG(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gan2AoF1UPfGYTmFS7S(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new kwnNqp3kosshUMbWEWVN(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QSwvVKW5iZsKsZR4md12(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new N1vru7r8FMAawEwqHsdp(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ZJOuoW3zEwOUibX1fMnt(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new H4Zm9m6ZDW80FBsma36c(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new SnS7sAZNZKng1Auz74A8(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new rDih0P5k5riwRnN3oFom(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new nAFwFIS2HXkcpCLF64m5(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new oBrsElUDyc29IB6vfNnJ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new zI5xFkVDsajIQcz4DH2(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fKxVeHrJP3w0RDWwa976(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new wzpWlgiYpCTqBo0DN2U(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new OXIpDqrBnTYmdsyBrGKm(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new C55IDkdKM6e5AxOTm7gT(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fPvS6ItPxWSLALhyp1j(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NYswMe5kYmZCJKK8h3YZ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hS1x8mZPrCBpiL6xsTKT(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ysMjT9zV7l0fSsb7bw(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new HmPDW4VkdGUg3Tsf46M1(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Gx5fzkAAbNXnczKSZ3Xk(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hJJ3EhIlVmnesn97hFpA(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new prCANKZF2XJclrsoPxz5(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NBC9E5aFSSQ9U7Cqpa4o(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new aG47QwnmUtzUEjbrWuzh(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new e7nimol9fXf0jmmAJMjG(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new OXv6TreqtgxoYj7KdikN(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fcLSCbRSYTERD2JomrpU(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TadQsWcQXGj4n4rpvGTU(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Y2EhKr0eVGbBTsDn3ab(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new qV5V1WO09kVTwXkOoEdD(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QTfCaOKP1MKe3c7EBZVK(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new PnSvoIcEjolAxslP3DuX(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new oF7wVHY1dNGorFkMrkr7(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Mp0vQV2pCAoq6GwuBEMt(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new DLMlxmd8r08P1GuT2D(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new lrsRXSWUfDnPc0ufxkXO(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VjXufTyBOtyZjbrBgTvY(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new mIy4ngMMVWQYrOb5cN9o(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new FPICm7ZDhPEeGkQQ9vaL(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new iuyYSQmRpETpwBKFpaVZ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NZSjriCiBCmHW5rfoI(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new jIjck81wV8L6n4MQfwaI(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new JZVjPNI7JDqFySXWMrkw(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new xUymWNK8iOD73VaAPIcn(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new DDDXZNGjLpELRvjPszwO(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new bxlwfVlgK2hLFyz0sFO0(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new wJ1BpK4gIgAFTw2KOrV0(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ILYMhxEukRyBhjBttv2c(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new GxlbCr340IokmbGE5IzS(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new iyD5jul0EUmmvcQhxTQD(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Cmkh8cxvalZ6cd8fP7VG(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ChhiTjp2wGru3qNnIDn6(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Fq2Bnhg7EeMjocfQPsC(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new XF7WF077osuB8DvaIx6m(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new IimJL6EgO07nogzmREwa(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Phyu81x1eD5SgVJATwz(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new HO5c7mderwUCdCEFLJbJ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new XzlqI4shQaSUtcnBr4B(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new eUmpulciN4wJA4DtmJk(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LCKOdHWdX0U9w0G44wXc(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new tytPw9Xgix6Ez2sYgTLE(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new r52lRphi4lDygyfVE7AX(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NMlG0ZstYPVYiftGnx3s(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new CFhrkwITmPsWIFzzmf7(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new glZWf8XU8xnk9JEGXAqb(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new FA9wpogw7T2cch1yvAhu(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gtvHmpu1iSiviVdEhU1E(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new GuO869aGNpwdgzhBTex(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TzfdACUn2DT52tc4EOuV(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new AwHRhcGSsWDVBqmZnF6L(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new BFv4pPCEdSvqY66TJYS4(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Gh15CFQeRqYlRFOo9pK1(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ubT4q125yeOcOGN5JfxT(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new WuK90hXbPHStQjOzosLA(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new Rw06P5mlExxBHnJJ9Fe(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new qgF2FTOm6HXN2oRPJ2S(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gxz4p8CrpVJs5WRNzwfx(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new kpUtVjydu9Fgtj2Z5NAS(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new M886HgLqqNf8vQD05h05(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new mf5JfDWi2J0dFP1hPZk7(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new zfQliGoAwkV7mGXc2Fu5(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new V2cxjtjOnnnLwvRBfGMX(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new khxs0oHfSW9ClTkCAd0m(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new oljRxBoxFH6tHmKVuKMh(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gsK3DLL9i8fOm1rYqIMw(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new BYLkUWnnEXzPinu0GMnF(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new krw3TgxQezuYAKvbednr(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hADBmQRhUkdlxBVHz6Ww(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new k0k1kCIlgpNZXuWIm7rY(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new CnKaJK9rmO9y0o3G6zA(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new jatY8aH2rvT6c3WWcfF(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fXm5PBlbDCdk02pokFeP(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TZ9HYVNqMtNDNDY2J12P(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new knHntI4hx8YiXWH8DVU(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new slxwzT05n2QBlsrlXeiW(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new kY8Yaxiy9e7C6IkmYA(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hsHGGt4DIMvOXgtVifor(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new sstLUsWDYYkCCffcJIEA(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new B44rMKxsC7nb2Sd0MaUs(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VJBdGsSD0uUMRNER41L(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new yPcJ0lE4c1qXpMGrgi5T(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new NYzmscmkR3HJEpCgT76L(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new uqeVdRdUoFgYAuMjex63(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QzJyobcmHeT54fW3mAS6(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new SMRHZahv5C1qeTEPuoTc(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new uv9tMzjIng1nQsd09m30(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new ChrYMp3ONBwhZ3GqmjO9(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new RguGoAeZZ3koOuEHAoQ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LUxYzMgOu2JPE3a67g7r(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LuvQRJn4BAsnsCs5RUIr(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new GiIXmg5Mh0Iw9oKQBeYU(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new pRhrP5XFmkMZbPkvZjdi(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new vUzcOXGSyV5W2JNdzi4(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new v9LdsWGXdpSZHDPxADQl(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new BRS6bup1TUXZPp8ik3Vu(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new RJ1KNBN0QDzCepMiCEMj(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QfpbEMXqre1FmKOphhPm(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new fEh4EENjqk9TxRw20Hkc(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new QAlcas6Rf3wgtrXvYGAe(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new X7TjLPa07wpSic8MzfZG(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new KmcwR8TX0BKLTmbwQXeH(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new USXAZJOol8At2J650aFW(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new EJfQEhYK5Xrhpik9sGmj(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new RVv4edPHFm4lios2NUcs(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VM9fbnxTfvEtsw4zoGF(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new US0Qdczh24BRIu9z3Yol(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new THtwPRo8uGE9g5DsqZh3(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new bNCr0nUz69zkY39CeXtt(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new q26kipgyh5sgHkPnzw09(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new HQKvP03ShnwyiPibD5aK(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LTX0ZTe5P590gW2Tpx9p(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new TWj3Hdi86ZPGrdFrNS78(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new D4CVUxs8mRTKwYk9vNfI(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new PLrLPs9yfQLowMWIB4Q2(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new GqzOEKikyfj2CBgDzRiM(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new VZ8G1CcigcSj1jmvkHGi(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new iycPZh2pxHdp4ErKKnsQ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new xkvdJCSu8KdRZfVNUAab(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new vqFWJYt5tcT94oP5AcWx(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new OsJCZIYxdPMvxKg7g6oQ(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new C1vqJXHEQIDbHvHyyX9c(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new mV9zpPO5IIaeih5X6hFo(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new L8zLmAwrFdNsDj48TaYo(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new q3ymU5Jsb3lap5tVobxB(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new jhDpvjoas67EmAIwpuEc(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new zkFZ7xRTSAE3VzO0fwqv(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new JNNJjNLbl2vAVtxZOuW3(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new iyHmHgaypVEkQ7mYIGtC(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new OJzHQVUyHkAWOWmbJcCo(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new b2hX8OFq3arame9NLoQN(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new IXm3xNeqCvzmhqI2Oeq8(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new gKXNzCaKhLF7nklB5un6(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new etopEddoO332OctwxXyR(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new hhQRQrjxszf238PQO9Dy(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new cZEpQFClPlkNdoN2bEA(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new wUWuBKMALD0L6RCLDrQ9(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new kNdqgGyHbaJ6qRSQS3Ds(v0_2));BsdFKBmxbpWmGnzYUKFl.zI5xFkVDsajIQcz4DH2.add(new LqLy9NugWoZ3fvFR8hSp(v0_2));

然后再将a包复制到python源码文件目录下,可以开始写代码了,我们先从file_name_index中解析出都使用到了哪些类,然后再从这些类中解析出char和sleep时间,这里需要注意的是sleep时间有些是十六进制的,char有些并不是只有一位字符,有的是有转义符的那就是两位字符,注意一下对这些情况做个兼容就可以了,然后按照sleep时间从大到小排列,因为每次都写到最前面,所以sleep时间越长越靠前,但是结果有点不太对劲:

明显像是某句话被倒过来了,原始就想着还是把sleep时间小的放前面,然后就得到了一行字符串:

Sdaj ukq snepa w lnkcnwi bkn Wjznkez, ukq qoa pda Knwyha Fwrw pkkho bkn aranupdejc, wjz wp pda ranu ajz, ukq lqod w xqppkj wjz owu, \'Ykjranp pdeo pk Wjznkez bkniwp.\' BHWC{Yd4hh4jc3-5QyY33Z3z-y0jp1jQa!} Ajfku pda peju qjatlhwejwxha oaykjz. Ukq ywj hawnj sDWparan ukq swjp!

看标点符号和空格感觉像是一句话没错,但是字母却不对,于是想到了可能是凯撒加密,于是穷举一下,得到很多句话,找一下看看有没有哪句话是有意义的:

红框框起来的就是明文,完整的是:

When you write a program for AndroID, you use the Oracle Java tools for everything, and at the very end, you push a button and say, \'Convert this to AndroID format.\' FLAG{Ch4ll4ng3-5UcC33D3d-c0nt1nUe!} Enjoy the tiny unexplainable second. You can learn whatever you want!

OK,得到了答案是:

FLAG{Ch4ll4ng3-5UcC33D3d-c0nt1nUe!}

最后吐槽,这困难级别好像有点水啊...

附上本题目解题完整代码:

#!/usr/bin/env python3# enCoding: utf-8"""@author: CC11001100"""import redef extract_file_char_and_priority(file_path):    with open(file_path, "r") as f:        file_content = f.read()        # 当前文件中的字符        char = re.findall(r"= '(.+?)';", file_content)[0]        # 当前文件中字符的优先级,注意有些是十六进制的        priority_matcher = re.findall(r" = (0x)?([\d+A-Z]+)L;", file_content)        base = 10        if priority_matcher[0][0] == "0x":            base = 16        priority = int(priority_matcher[0][1], base)        return char, prioritydef read_file_name_index():    with open("file_name_index", "r") as f:        file_content = f.read()        return re.findall(r"new (.+?)\(v0_2\)", file_content)def round_string(s, distance):    new_s = ""    for c in s:        new_s += round_char(c, distance)    return new_sdef round_char(c, distance):    base = -1    if 'A' <= c <= 'Z':        base = ord('A')    elif 'a' <= c <= 'z':        base = ord('a')    if base == -1:        return c    c = (((ord(c) - base) + distance) % 26) + base    return chr(c)def process():    file_name_List = read_file_name_index()    char_List = []    for file_name in file_name_List:        char, priority = extract_file_char_and_priority("./a/%s.java" % file_name)        char_List.append((priority, char))    char_List.sort()    print(char_List)    s = ""    for _ in char_List:        s += _[1]    print(s)    # 凯撒轮转    for _ in range(0, 26):        print(round_string(s, _))if __name__ == "__main__":    process()
总结

以上是内存溢出为你收集整理的Android逆向笔记之ctflearn上的几道Android RE题目练手全部内容,希望文章能够帮你解决Android逆向笔记之ctflearn上的几道Android RE题目练手所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1056688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存