qtfreet00 发表于 2016-1-2 00:54

一个小CM给大家玩玩

本帖最后由 世事繁华皆成空 于 2016-1-2 23:18 编辑

本来这个CM是暂时不准备放出来的,结果代码被我弄丢了,只找到一个早期版本,就给大家玩玩把,基本都没有做加密,应该对大家不难


此帖不允许发布答案哦,有答案的欢迎在移动区发帖简述一下思路和手法,有大大的加分的哦

KeyGenMe理当是不能爆破的哦,欢迎算出答案




熊大猫来了 发表于 2016-1-2 21:14

本帖最后由 熊大猫来了 于 2016-1-2 21:16 编辑

apktool反编译出来有MainActivity、check、a、b四个类,分析了一下smali,b实现的是按钮的listener,a做了初步变换,check用于LoadLibrary调用libcheck.so这个库
大致流程是这样的,onButton获取注册码以后,逐字节转换为十进制ascii,然后和数字4异或,结果保存成十进制字符串的形式,传入so文件,以上步骤可以先静态分析smali文件,然后用Eclipse动态调试smali文件验证分析的正确性。
传送门:使用Eclipse调试反编译的smali http://www.blogfshare.com/eclipse-debug-smali.html
进入so以后难度也不大,调用了库里的Java_com_wuaipojie_crack01_check_mcheck函数(库里说:谁调我?),里面的逻辑也比较简单,主要就是一个Base64,用于比较的死码是这个“MzY0MTMyMzIzNTEyNjEyNDEyNTEyMg==”
结果先不说了,上面的流程说的也比较笼统,因为我也是刚入Android坑一个多月的菜鸟,通过看帖子和调一些程序发现其实有的帖子像写实验说明书一样一步步手把手教你并不见得就是最好的,对我们新手来说最好还是能通过自己查找各种资料摸索着走一下这一套流程,发现问题,分析问题,通过自己的途径解决问题,其实比知道结果收获大得多。(好吧其实还是因为我懒)
有个小问题,lib文件夹下有两个目录,一个arm的一个x86的,我分析的时候用的x86的,想来两个逻辑应该一样,x86的分析起来顺手。然后分析完了想IDA远程调试一下,发现必须用arm的打开才能选Android的远程调试器,结果打开以后是这样的

求大神来解答

冥界3大法王 发表于 2018-2-11 20:33

0x6ed0a348        com/wuaipojie/crack01/a        a        (Ljava/lang/String;I)Ljava/lang/String;        (null)        -1
0x6ed0a380        com/wuaipojie/crack01/a        a        ([I)Ljava/lang/String;        (null)        -1
0x6ecfd9c0        com/wuaipojie/crack01/b        onClick        (Landroid/view/View;)V        (null)        -1
0x6ecdb1b0        com/wuaipojie/crack01/MainActivity        a        (Lcom/wuaipojie/crack01/MainActivity;)Landroid/widget/EditText;        (null)        -1
0x6ecdb1e8        com/wuaipojie/crack01/MainActivity        b        (Lcom/wuaipojie/crack01/MainActivity;)Landroid/widget/TextView;        (null)        -1
0x6ed0a3f0        com/wuaipojie/crack01/check        <clinit>        ()V        (null)        -1
0x6ed0a428        com/wuaipojie/crack01/check        mcheck        (Ljava/lang/String;)Z        (null)        -2

.class Lcom/wuaipojie/crack01/b;
.super Ljava/lang/Object;

# interfaces
.implements Landroid/view/View$OnClickListener;


# instance fields
.field final synthetic a:I

.field final synthetic b:Lcom/wuaipojie/crack01/MainActivity;


# direct methods
.method constructor <init>(Lcom/wuaipojie/crack01/MainActivity;I)V
    .locals 0

    iput-object p1, p0, Lcom/wuaipojie/crack01/b;->b:Lcom/wuaipojie/crack01/MainActivity;

    iput p2, p0, Lcom/wuaipojie/crack01/b;->a:I

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method


# virtual methods
.method public onClick(Landroid/view/View;)V
    .locals 3

    iget-object v0, p0, Lcom/wuaipojie/crack01/b;->b:Lcom/wuaipojie/crack01/MainActivity;

    invoke-static {v0}, Lcom/wuaipojie/crack01/MainActivity;->a(Lcom/wuaipojie/crack01/MainActivity;)Landroid/widget/EditText;

    move-result-object v0

    invoke-virtual {v0}, Landroid/widget/EditText;->getText()Landroid/text/Editable;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z

    move-result v1

    if-eqz v1, :cond_0

    iget-object v0, p0, Lcom/wuaipojie/crack01/b;->b:Lcom/wuaipojie/crack01/MainActivity;

    const-string v1, "\u4e0d\u80fd\u4e3a\u7a7a\u7684\u54e6"

    const/4 v2, 0x0

    invoke-static {v0, v1, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v0

    invoke-virtual {v0}, Landroid/widget/Toast;->show()V

    :goto_0
    return-void

    :cond_0
    iget v1, p0, Lcom/wuaipojie/crack01/b;->a:I

    invoke-static {v0, v1}, Lcom/wuaipojie/crack01/a;->a(Ljava/lang/String;I)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/wuaipojie/crack01/check;->mcheck(Ljava/lang/String;)Z

    move-result v0

   

    iget-object v0, p0, Lcom/wuaipojie/crack01/b;->b:Lcom/wuaipojie/crack01/MainActivity;

    invoke-static {v0}, Lcom/wuaipojie/crack01/MainActivity;->b(Lcom/wuaipojie/crack01/MainActivity;)Landroid/widget/TextView;

    move-result-object v0

    const-string v1, "\u606d\u559c\uff0c\u4f60\u7adf\u7136\u731c\u4e2d\u7684\u5c0f\u660e\u7684\u5fc3\u601d"

    invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    iget-object v0, p0, Lcom/wuaipojie/crack01/b;->b:Lcom/wuaipojie/crack01/MainActivity;

    invoke-static {v0}, Lcom/wuaipojie/crack01/MainActivity;->b(Lcom/wuaipojie/crack01/MainActivity;)Landroid/widget/TextView;

    move-result-object v0

    const v1, -0xff0100

    invoke-virtual {v0, v1}, Landroid/widget/TextView;->setTextColor(I)V

    goto :goto_0

    :cond_1
    iget-object v0, p0, Lcom/wuaipojie/crack01/b;->b:Lcom/wuaipojie/crack01/MainActivity;

    invoke-static {v0}, Lcom/wuaipojie/crack01/MainActivity;->b(Lcom/wuaipojie/crack01/MainActivity;)Landroid/widget/TextView;

    move-result-object v0

    const-string v1, "\u6ca1\u6709\u8fd9\u4e48\u7b80\u5355\u5427"

    invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    iget-object v0, p0, Lcom/wuaipojie/crack01/b;->b:Lcom/wuaipojie/crack01/MainActivity;

    invoke-static {v0}, Lcom/wuaipojie/crack01/MainActivity;->b(Lcom/wuaipojie/crack01/MainActivity;)Landroid/widget/TextView;

    move-result-object v0

    const/high16 v1, -0x10000

    invoke-virtual {v0, v1}, Landroid/widget/TextView;->setTextColor(I)V

    goto :goto_0
.end method

可坏 发表于 2016-1-2 01:05

CM shi啥么

chinaldc 发表于 2016-1-2 01:08

楼主大大换头像了、、、

imemy 发表于 2016-1-2 01:15

CM是啥么

小九i 发表于 2016-1-2 02:23

http://www.52pojie.cn/thread-55905-1-1.html

CM是什么?crackme是什么?这是什么东西?LZ发的什么?


他们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。

KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳


善用搜索。随手就回复问CM是啥看着都心累

狂暴补师亚丝娜 发表于 2016-1-2 08:30

晕,安卓的啊。我还意思是exe呢!术业有专攻,我不会安卓的,哈哈

hix7 发表于 2016-1-2 09:16

感谢大大,一会下载了试试。

左岸麦田 发表于 2016-1-2 10:25

支持下新版块了。

chinaboy008 发表于 2016-1-2 12:14

感谢大大,

smile1110 发表于 2016-1-2 18:00

还不许爆破!!!
页: [1] 2 3
查看完整版本: 一个小CM给大家玩玩