吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5737|回复: 43
收起左侧

[CrackMe] 找自信

[复制链接]
zbnysjwsnd8 发表于 2020-1-24 10:01
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 4吾爱币 +9 热心值 +4 收起 理由
熟薯 + 1 + 1 匆匆赶来,因为床帏有难言之隐,打扰了。
CrazyNut + 6 + 1 用心讨论,共获提升!
Fym945 + 1 + 1 我很赞同!
风绕柳絮轻敲雪 + 1 + 1 除夕快乐

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| zbnysjwsnd8 发表于 2020-1-25 13:53
带一组key的CM

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
weikun444 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

爱飞的猫 发表于 2020-1-27 12:09
本帖最后由 jixun66 于 2020-1-27 12:35 编辑
16,12,5,-78,6,1,4,0

标题的自定义文字不会搞了… 参数拿表算的

跟了一下提供的 key,好像第二位和最后三位得是 -4140? 更新后的 key:

2,-4,5,-4,8,1,4,0
ar6 = 1
ar7 = 4
ar8 = 0

cal_1 = 6, cal_2 = 16, ar1 = 2;
ar3 = 5
ar2 = -4
// ar2 = -(cal_2 - ar5 * ar1 - ar4);

//   ar3 * ar1 + ar4 = cal_1
//   ar5 * ar1 + ar4 = cal_2 - 4
// -----------------------------
//  (ar3 - ar5)*ar1 = cal_1 - cal_2 + 4
ar5 = ar3 - ((cal_1 - cal_2 + 4) / ar1)
ar4 = cal_1 - ar3 * ar1;

console.info([ar1, ar2, ar3, ar4, ar5, ar6, ar7, ar8].join(',')); // 不能有小数,前 5 位不能有 0。

cal_1 = Math.floor(ar3 * ar1 + ar4);            // 1 * 123 + 4 = 127
cal_2 = Math.floor(ar5 * ar1 + ar4 - ar2);      // 4 * 123 + 4 - (-4) = 500
cal_3 = ar1 * cal_1 * cal_2 * ar3 * ar4 * ar5 * ar2;
// cal_3 不为 0 即可,也就是说任意一个数值不为 0 即可。
cal_4 = Math.floor(ar1 * cal_1 + 4.0);      // 127 * 123 + 4 = square(125)
cal_5 = Math.floor(ar1 * cal_2 + 4.0);      // 500 * 123 + 4 = square(248)
cal_6 = Math.floor(cal_1 * cal_2 + 4.0);    // 127 * 500 + 4 = square(252)
[cal_1,cal_2,cal_3,cal_4,cal_5,cal_6]

// 验证: cal_4/5/6 得是平方数
  if ( arrayLen == 8 )
  {
    cal_1 = FloatToInt((double)ar3 * (double)ar1 + (double)ar4);
    cal_2 = FloatToInt((double)ar5 * (double)ar1 + (double)ar4 - (double)ar2);
    cal_3 = (double)ar1 * (double)cal_1 * (double)cal_2 * (double)ar3 * (double)ar4 * (double)ar5 * (double)ar2;
    cal3_abs = cal_3;
    if ( cal_3 < 0.0 )
      cal3_abs = -cal_3;
    if ( cal3_abs > 0.0000001 )                 // cal3 != 0
    {
      cal_4 = FloatToInt((double)ar1 * (double)cal_1 + 4.0);
      if ( isSquareOfNumber(cal_4) )
      {
        cal_5 = FloatToInt((double)ar1 * (double)cal_2 + 4.0);
        if ( isSquareOfNumber(cal_5) )
        {
          cal_6 = FloatToInt((double)cal_1 * (double)cal_2 + 4.0);
          if ( isSquareOfNumber(cal_6) )
          {
            checkSize();
            if ( v15 <= 5 )
              access_exception((LPCSTR)1);
            ar1_4a[5];
            ar6 = exec_ebx(1);
            checkSize();
            if ( v16 <= 6 )
              access_exception((LPCSTR)1);
            ar1_4a[6];
            LODWORD(ar7__) = exec_ebx(1);
            ar7 = ar7__;
            checkSize();
            if ( v18 <= 7 )
              access_exception((LPCSTR)1);
            ar1_4a[7];
            LODWORD(ar8__) = exec_ebx(1);
            ar8 = ar8__;
            exec_ebx(0);                        // 取现行时间
            sec = exec_ebx(1);                  // 取秒
            cal_7 = ((double)sec - 1.0) * ((double)sec - 1.0)
                  + (double)ar6 * (double)sec * 4.0
                  - ((double)sec + (double)ar6) * ((double)sec + (double)ar6);
            if ( cal_7 < 0.0 )
              cal_7 = -cal_7;
            if ( cal_7 <= 0.0000001 )           //  == 0
            {
              exec_ebx(0);
              exec_ebx(1);                      // 时间取秒???
              LODWORD(sec2) = exec_ebx(1);
              cal_8 = (double)ar6 * 4.0 / (sec2 * sec2);
              timeCalc2 = (ar8 - sec2 * cal_8) / (ar7 - cal_8)
                        - (-1.0 / sec2 * ((double)ar6 * 4.0 / (-1.0 / sec2 * (-1.0 / sec2))) - sec2 * cal_8)
                        / ((double)ar6 * 4.0 / (-1.0 / sec2 * (-1.0 / sec2)) - cal_8);
              if ( timeCalc2 < 0.0 )
                timeCalc2 = -timeCalc2;
              if ( timeCalc2 <= 0.0000001 )
              {
                checkSize();
                if ( v25 <= 1 )
                  access_exception((LPCSTR)1);
                checkSize();
                if ( v26 <= 5 )
                  access_exception((LPCSTR)1);
                checkSize();
                if ( v27 <= 6 )
                  access_exception((LPCSTR)1);
                checkSize();
                if ( v28 <= 7 )
                  access_exception((LPCSTR)1);
                v29 = ar1_4a[7];
                v30 = ar1_4a[6];
                v31 = ar1_4a[5];
                v62 = (void *)sub_40106F(ar1_4a[1]);
                v40 = (void *)exec_ebx(6);
                if ( v62 )
                  free(v62);
                v61 = v40;
                lpMem_4a = (void *)exec_ebx(1);
                lpMema = (void *)sub_40202F(3, (unsigned int)&unk_4828B6);
                if ( lpMem_4a )
                  free(lpMem_4a);
                v45 = (void *)exec_ebx(1);
                if ( lpMema )
                  free(lpMema);
                v43 = (unsigned __int8 *)sub_40106F((unsigned int)"Cardinal - ");
                if ( v45 )
                  free(v45);
                sub_402029((HWND)0x52010001, 100728832, 8, -1, v43, 0);
                if ( v43 )
                  free(v43);
              }
            }
          }
        }
      }
    }
  }


(越看越觉得这代码像是在胡搅蛮缠)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 2吾爱币 +5 热心值 +2 收起 理由
CrazyNut + 3 + 1 用心讨论,共获提升!
zbnysjwsnd8 + 2 + 1 热心回复!

查看全部评分

Truama 发表于 2020-1-24 10:43
sysy0018 发表于 2020-1-24 11:04
新年快乐!
huzpsb 发表于 2020-1-24 12:10
本帖最后由 huzpsb 于 2020-1-24 19:39 编辑

九楼见.


8个关键跳,楼主你feng了?我连改字符串的心都有了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 1热心值 +1 收起 理由
小菜鸟一枚 + 1 我感觉自信被楼主打击没了,太难了!

查看全部评分

huzpsb 发表于 2020-1-24 12:18
@小菜鸟一枚 不,是我没自信了~
还有,更正一下,是7个,刚才我瞎了
小菜鸟一枚 发表于 2020-1-24 12:19
huzpsb 发表于 2020-1-24 12:18
@小菜鸟一枚 不,是我没自信了~
还有,更正一下,是7个,刚才我瞎了

你还找到了字符串,我搜字符串都不出来,都不知道从何下手了!
huzpsb 发表于 2020-1-24 12:35
小菜鸟一枚 发表于 2020-1-24 12:19
你还找到了字符串,我搜字符串都不出来,都不知道从何下手了!


也许会让你有一点思路QwQ

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x
 楼主| zbnysjwsnd8 发表于 2020-1-24 12:36
dingding~
huzpsb 发表于 2020-1-24 12:48



不玩了,爆破(爆破点如图所示,然后00401E37断下来,改内存)一下,改写一下字符串走人
哼唧~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x
小菜鸟一枚 发表于 2020-1-24 12:58
huzpsb 发表于 2020-1-24 12:35
也许会让你有一点思路QwQ

看来是我的知识面太窄了,看不懂这是什么文件,官方入门视频教程第七课也是易语言,不懂编程完全看不懂
顺着你的截图我搜到这里,然后改跳转程序就挂了!
[Asm] 纯文本查看 复制代码
004013A0  |.  83BD 78FFFFFF>cmp [local.34],0x8
004013A7  |.  0F84 05000000 je CrackMe.004013B2
004013AD      E9 E10A0000   jmp CrackMe.00401E93


您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 14:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表