shuaiyue 发表于 2019-5-15 03:07

新出炉的入门级crackMe

新出炉的~~
要求写出算法:keai

只能上传1M,我用ZIP分割了。
下载后请修改下和上面图片一样的扩展名,压缩即可。   

mergerly 发表于 2019-6-12 20:26

n函数比较简单,看源码就知道了,不用改直接调用,后面是字符串转数字后异或0x1256,把它逆写一下,源码如下:
#include <stdio.h>
#include <string.h>

int __cdecl n(char *a1)
{
    int v2;//
    char v3; //
    int v4;//
    int i;   //

    v4 = 0;
    for (i = 0; a1; ++i)
    {
      v3 = a1;
      if (v3 < 65)
            break;
      if (v3 <= 90)
            v2 = v3;
      else
            v2 = v3 - 32;
      v4 += v2;
    }
    return v4 ^ 0x9988;
}

int __cdecl keygen(char *v4)
{
    int v6 = n(v4);
    int v7 = v6 ^ 0x1256;
    char code = {0};
    int v2 = v7;
    int i;
    for (i = 0; v2 > 10; ++i)
    {
      code = v2 % 10 + 48;
      v2 = v2 / 10;
    }
    code = v2 + 48;
    printf("keygen:%s", code);
    return 0;
}

int main()
{
    char user = {0};
    printf("please input name:");
    scanf("%s", user);   
    keygen(user);
    return 0;
}

weikun444 发表于 2019-5-15 07:58

本帖最后由 weikun444 于 2019-5-15 09:00 编辑

小白表示只能到这里了。



__int64 __fastcall Java_com_cm_shuair_crackme1_MainActivity_stringFromJNI(_JNIEnv *a1, __int64 a2, __int64 a3, __int64 a4)
{
__int64 v4; // ST28_8
char *v5; // ST20_8
char *v6; // ST18_8
int v7; // ST14_4
_JNIEnv *v9; //
__int64 v10; //

v9 = a1;
v4 = a4;
v5 = (char *)Jstring2CStr(a1, a3);
v6 = (char *)Jstring2CStr(v9, v4);
v7 = n(v5);
if ( v7 == (unsigned int)c(v6) )
    v10 = _JNIEnv::NewStringUTF(v9, (const char *)&unk_1193);
else
    v10 = _JNIEnv::NewStringUTF(v9, (const char *)&unk_11CA);
return v10;
}




__int64 __fastcall _JNIEnv::NewStringUTF(_JNIEnv *this, const char *a2)
{
return (*(__int64 (**)(void))(*(_QWORD *)this + 1336LL))();
}

608岁的老头 发表于 2019-5-15 08:17

楼主,说好的入门级的呢,为什么搜不到注册失败?{:1_909:}

随风伴你 发表于 2019-5-15 08:22

好好。。。

608岁的老头 发表于 2019-5-15 08:33

看来楼主把关键的代码用jni规避掉了

608岁的老头 发表于 2019-5-15 08:37

608岁的老头 发表于 2019-5-15 08:33
看来楼主把关键的代码用jni规避掉了

楼主,是不是要对so文件动手?

Missciter 发表于 2019-5-15 10:39

感谢分享

zhengkai6711 发表于 2019-5-15 13:38

以后学习都得知道他过程特征。就像易语言,知道过程如何调用,才厉害。破解过程能够还原软件写的过程,或者各种调用,这才是大神吧

Y:2 发表于 2019-5-15 15:37

鼓励发帖!鼓励发帖!鼓励发帖!

sdbzjqr 发表于 2019-5-15 17:30

按钮点击事件,关键在stringFromJNI

stringFromJNI函数内容,关键在n(v4)、c(v5)

n(v4)函数内容

c(v5)函数内容
页: [1] 2 3 4
查看完整版本: 新出炉的入门级crackMe