飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

楼主: kaikai760211

[讨论] 发个cm给大家试试,有点难度噢

[复制链接]

该用户从未签到

发表于 2009-5-23 00:38:40 | 显示全部楼层
这个 CM 的算法真的搞不定
下面是对固码连接name后加密的一段,IDA 反出后大家看看,其实可以用点时间
整理一下套入一个函数里,就可以不用了解也有结果了,可惜我连这个劲都提不起了

点评一下(不成熟意见),一个如此复杂的设计,但对抗解密却完全无力


unsigned int __cdecl sub_402841(unsigned int a1, unsigned int a2)
{
  unsigned int result; // eax@1
  int v3; // edx@1
  int v4; // ecx@1
  int v5; // esi@1
  int v6; // edi@1
  int v7; // ebx@1
  unsigned int v8; // ecx@1
  int v9; // edx@1
  int v10; // esi@1
  unsigned int v11; // edx@1
  int v12; // edi@1
  int v13; // ebx@1
  int v14; // esi@1
  unsigned int v15; // esi@1
  int v16; // edi@1
  unsigned int v17; // edi@1
  unsigned int v18; // edx@1
  int v19; // edi@1
  unsigned int v20; // esi@1
  int v21; // edi@1
  unsigned int v22; // edi@1
  unsigned int v23; // edi@1
  unsigned int v24; // edx@1
  int v25; // edi@1
  unsigned int v26; // esi@1
  int v27; // edi@1
  unsigned int v28; // edi@1
  unsigned int v29; // edi@1
  unsigned int v30; // edx@1
  int v31; // edi@1
  unsigned int v32; // esi@1
  int v33; // edi@1
  unsigned int v34; // edi@1
  unsigned int v35; // edi@1
  unsigned int v36; // edx@1
  int v37; // esi@1
  int v38; // edi@1
  unsigned int v39; // esi@1
  int v40; // edi@1
  int v41; // ebx@1
  unsigned int v42; // edi@1
  unsigned int v43; // ebx@1
  unsigned int v44; // edi@1
  unsigned int v45; // esi@1
  int v46; // edx@1
  unsigned int v47; // edx@1
  int v48; // edi@1
  unsigned int v49; // esi@1
  unsigned int v50; // edi@1
  unsigned int v51; // esi@1
  int v52; // ebx@1
  unsigned int v53; // edx@1
  int v54; // esi@1
  int v55; // edi@1
  unsigned int v56; // esi@1
  int v57; // edi@1
  unsigned int v58; // edi@1
  unsigned int v59; // ebx@1
  unsigned int v60; // edi@1
  unsigned int v61; // edx@1
  int v62; // esi@1
  int v63; // edi@1
  unsigned int v64; // esi@1
  int v65; // edi@1
  int v66; // ebx@1
  unsigned int v67; // edi@1
  unsigned int v68; // ebx@1
  unsigned int v69; // edi@1
  int v70; // edi@1
  int v71; // ebx@1
  unsigned int v72; // edx@1
  int v73; // esi@1
  unsigned int v74; // esi@1
  int v75; // edi@1
  unsigned int v76; // edi@1
  unsigned int v77; // ebx@1
  unsigned int v78; // edi@1
  unsigned int v79; // edx@1
  int v80; // esi@1
  int v81; // ebx@1
  unsigned int v82; // esi@1
  int v83; // edi@1
  unsigned int v84; // edi@1
  unsigned int v85; // ebx@1
  unsigned int v86; // edi@1
  unsigned int v87; // edx@1
  int v88; // edi@1
  int v89; // edx@1
  int v90; // esi@1
  unsigned int v91; // esi@1
  int v92; // edi@1
  unsigned int v93; // edi@1
  unsigned int v94; // ebx@1
  unsigned int v95; // edi@1
  int v96; // edi@1
  int v97; // ebx@1
  unsigned int v98; // edx@1
  int v99; // edi@1
  int v100; // edx@1
  int v101; // esi@1
  unsigned int v102; // esi@1
  int v103; // edi@1
  unsigned int v104; // edi@1
  unsigned int v105; // ebx@1
  unsigned int v106; // edi@1
  unsigned int v107; // edx@1
  int v108; // edi@1
  int v109; // esi@1
  int v110; // edx@1
  int v111; // ebx@1
  unsigned int v112; // edx@1
  int v113; // edi@1
  unsigned int v114; // edi@1
  unsigned int v115; // ebx@1
  unsigned int v116; // edi@1
  int v117; // edx@1
  int v118; // ebx@1
  unsigned int v119; // esi@1
  int v120; // edx@1
  unsigned int v121; // edx@1
  int v122; // edi@1
  unsigned int v123; // edi@1
  unsigned int v124; // ebx@1
  unsigned int v125; // edi@1
  unsigned int v126; // esi@1
  int v127; // edx@1
  unsigned int v128; // edx@1
  int v129; // edi@1
  unsigned int v130; // edi@1
  unsigned int v131; // ebx@1
  unsigned int v132; // edi@1
  unsigned int v133; // esi@1
  int v134; // edx@1
  unsigned int v135; // edx@1
  int v136; // edi@1
  unsigned int v137; // edi@1
  unsigned int v138; // ebx@1
  unsigned int v139; // edi@1
  unsigned int v140; // edx@1
  int v141; // [sp+10h] [bp-Ch]@1
  int v142; // [sp+14h] [bp-8h]@1
  int v143; // [sp+18h] [bp-4h]@1
  int v144; // [sp+Ch] [bp-10h]@1

  result = a1;
  v3 = *(_DWORD *)(a1 + 12);
  v4 = *(_DWORD *)(a1 + 16);
  v5 = *(_DWORD *)(a1 + 20);
  v6 = *(_DWORD *)(a1 + 8);
  v141 = *(_DWORD *)(a1 + 16);
  v7 = v3 & v4 | v5 & ~v3;
  v8 = a2;
  v142 = v3;
  v9 = *(_DWORD *)a2;
  v143 = v6;
  v144 = v5;
  v10 = *(_DWORD *)(a1 + 12);
  v11 = (((v6 + v7 + v9 + 350093208) << 7) | ((unsigned int)(v6 + v7 + v9 + 350093208) >> 25)) + v10;
  v12 = *(_DWORD *)(a1 + 16) & ~v11;
  v13 = v10 & v11;
  v14 = *(_DWORD *)(a1 + 20);
  *(_DWORD *)(a1 + 8) = v11;
  v15 = (((*(_DWORD *)(v8 + 4) + (v13 | v12) + v14 - 926434212) << 12) | ((*(_DWORD *)(v8 + 4)
                                                                         + (v13 | (unsigned int)v12)
                                                                         + v14
                                                                         - 926434212) >> 20))
      + v11;
  v16 = *(_DWORD *)(a1 + 12) & ~v15;
  *(_DWORD *)(a1 + 20) = v15;
  v17 = (((*(_DWORD *)(a1 + 16) + (v15 & v11 | v16) + *(_DWORD *)(v8 + 8) - 1540525858) << 17) | ((*(_DWORD *)(a1 + 16)
                                                                                                 + (v15 & v11 | v16)
                                                                                                 + *(_DWORD *)(v8 + 8)
                                                                                                 - 1540525858) >> 15))
      + v15;
  *(_DWORD *)(a1 + 16) = v17;
  v18 = (((*(_DWORD *)(a1 + 12) + (v15 & v17 | v11 & ~v17) + *(_DWORD *)(v8 + 12) + 297586431) >> 10) | ((*(_DWORD *)(a1 + 12) + (v15 & v17 | v11 & ~v17) + *(_DWORD *)(v8 + 12) + 297586431) << 22))
      + v17;
  v19 = *(_DWORD *)(a1 + 16) & v18;
  *(_DWORD *)(a1 + 12) = v18;
  v20 = (((*(_DWORD *)(v8 + 16) + (v19 | *(_DWORD *)(a1 + 20) & ~v18) + *(_DWORD *)(a1 + 8) - 170128223) << 7) | ((*(_DWORD *)(v8 + 16) + (v19 | *(_DWORD *)(a1 + 20) & ~v18) + *(_DWORD *)(a1 + 8) - 170128223) >> 25))
      + v18;
  v21 = *(_DWORD *)(a1 + 16) & ~v20;
  *(_DWORD *)(a1 + 8) = v20;
  v22 = (((*(_DWORD *)(a1 + 20) + (v18 & v20 | v21) + *(_DWORD *)(v8 + 20) + 1132938790) << 12) | ((*(_DWORD *)(a1 + 20)
                                                                                                  + (v18 & v20 | v21)
                                                                                                  + *(_DWORD *)(v8 + 20)
                                                                                                  + 1132938790) >> 20))
      + v20;
  a1 = v22;
  *(_DWORD *)(result + 20) = v22;
  v23 = (((*(_DWORD *)(result + 16) + (v20 & v22 | v18 & ~v22) + *(_DWORD *)(v8 + 24) - 130203119) << 17) | ((*(_DWORD *)(result + 16) + (v20 & v22 | v18 & ~v22) + *(_DWORD *)(v8 + 24) - 130203119) >> 15))
      + a1;
  a2 = v23;
  *(_DWORD *)(result + 16) = v23;
  v24 = (((v18 + (a1 & v23 | v20 & ~v23) + *(_DWORD *)(v8 + 28) + 500604172) >> 10) | ((v18
                                                                                      + (a1 & v23 | v20 & ~v23)
                                                                                      + *(_DWORD *)(v8 + 28)
                                                                                      + 500604172) << 22))
      + a2;
  v25 = *(_DWORD *)(result + 16) & v24;
  *(_DWORD *)(result + 12) = v24;
  v26 = (((*(_DWORD *)(v8 + 32) + (v25 | *(_DWORD *)(result + 20) & ~v24) + *(_DWORD *)(result + 8) - 1175390019) << 7) | ((*(_DWORD *)(v8 + 32) + (v25 | *(_DWORD *)(result + 20) & ~v24) + *(_DWORD *)(result + 8) - 1175390019) >> 25))
      + v24;
  v27 = *(_DWORD *)(result + 16) & ~v26;
  *(_DWORD *)(result + 8) = v26;
  v28 = (((*(_DWORD *)(result + 20) + (v24 & v26 | v27) + *(_DWORD *)(v8 + 36) + 1809119167) << 12) | ((*(_DWORD *)(result + 20) + (v24 & v26 | v27) + *(_DWORD *)(v8 + 36) + 1809119167) >> 20))
      + v26;
  *(_DWORD *)(result + 20) = v28;
  a1 = v28;
  v29 = (((*(_DWORD *)(v8 + 40) + (v26 & v28 | v24 & ~v28) + *(_DWORD *)(result + 16) - 1888531532) << 17) | ((*(_DWORD *)(v8 + 40) + (v26 & v28 | v24 & ~v28) + *(_DWORD *)(result + 16) - 1888531532) >> 15))
      + v28;
  a2 = v29;
  *(_DWORD *)(result + 16) = v29;
  v30 = (((v24 + (a1 & v29 | v26 & ~v29) + *(_DWORD *)(v8 + 44) + 824893345) >> 10) | ((v24
                                                                                      + (a1 & v29 | v26 & ~v29)
                                                                                      + *(_DWORD *)(v8 + 44)
                                                                                      + 824893345) << 22))
      + a2;
  v31 = *(_DWORD *)(result + 16) & v30;
  *(_DWORD *)(result + 12) = v30;
  v32 = (((*(_DWORD *)(v8 + 48) + (v31 | *(_DWORD *)(result + 20) & ~v30) + *(_DWORD *)(result + 8) + 328229330) << 7) | ((*(_DWORD *)(v8 + 48) + (v31 | *(_DWORD *)(result + 20) & ~v30) + *(_DWORD *)(result + 8) + 328229330) >> 25))
      + v30;
  v33 = *(_DWORD *)(result + 16) & ~v32;
  *(_DWORD *)(result + 8) = v32;
  v34 = (((*(_DWORD *)(result + 20) + (v30 & v32 | v33) + *(_DWORD *)(v8 + 52) + 983052789) << 12) | ((*(_DWORD *)(result + 20) + (v30 & v32 | v33) + *(_DWORD *)(v8 + 52) + 983052789) >> 20))
      + v32;
  a1 = v34;
  *(_DWORD *)(result + 20) = v34;
  v35 = (((*(_DWORD *)(v8 + 56) + (v32 & v34 | v30 & ~v34) + *(_DWORD *)(result + 16) + 385633406) << 17) | ((*(_DWORD *)(v8 + 56) + (v32 & v34 | v30 & ~v34) + *(_DWORD *)(result + 16) + 385633406) >> 15))
      + a1;
  a2 = v35;
  *(_DWORD *)(result + 16) = v35;
  v36 = (((v30 + (a1 & v35 | v32 & ~v35) + *(_DWORD *)(v8 + 60) + 800377041) >> 10) | ((v30
                                                                                      + (a1 & v35 | v32 & ~v35)
                                                                                      + *(_DWORD *)(v8 + 60)
                                                                                      + 800377041) << 22))
      + a2;
  v37 = v36 & *(_DWORD *)(result + 20);
  v38 = *(_DWORD *)(result + 16) & ~*(_DWORD *)(result + 20);
  *(_DWORD *)(result + 12) = v36;
  v39 = (32 * (*(_DWORD *)(v8 + 4) + (v37 | v38) + *(_DWORD *)(result + 8) - 166321344) | ((*(_DWORD *)(v8 + 4)
                                                                                          + (v37 | (unsigned int)v38)
                                                                                          + *(_DWORD *)(result + 8)
                                                                                          - 166321344) >> 27))
      + v36;
  v40 = v39 & *(_DWORD *)(result + 16);
  v41 = v36 & ~*(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v39;
  v42 = (((*(_DWORD *)(result + 20) + (v40 | v41) + *(_DWORD *)(v8 + 24) - 1068620533) << 9) | ((*(_DWORD *)(result + 20)
                                                                                               + (v40 | (unsigned int)v41)
                                                                                               + *(_DWORD *)(v8 + 24)
                                                                                               - 1068620533) >> 23))
      + v39;
  a1 = v42;
  *(_DWORD *)(result + 20) = v42;
  v43 = a1;
  v44 = a1
      + (((*(_DWORD *)(result + 16) + (v36 & v42 | v39 & ~v36) + *(_DWORD *)(v8 + 44) - 442164102) << 14) | ((*(_DWORD *)(result + 16) + (v36 & v42 | v39 & ~v36) + *(_DWORD *)(v8 + 44) - 442164102) >> 18));
  a1 = v44;
  *(_DWORD *)(result + 16) = v44;
  v45 = a1
      + (((v36 + (v39 & a1 | v43 & ~v39) + *(_DWORD *)v8 - 373938596) >> 12) | ((v36
                                                                               + (v39 & a1 | v43 & ~v39)
                                                                               + *(_DWORD *)v8
                                                                               - 373938596) << 20));
  a1 = v45;
  v46 = *(_DWORD *)(result + 20);
  *(_DWORD *)(result + 12) = v45;
  v47 = (32
       * (*(_DWORD *)(result + 8) + (v45 & v46 | *(_DWORD *)(result + 16) & ~v46) + *(_DWORD *)(v8 + 20) - 703570652) | ((*(_DWORD *)(result + 8) + (v45 & v46 | *(_DWORD *)(result + 16) & ~v46) + *(_DWORD *)(v8 + 20) - 703570652) >> 27))
      + v45;
  v48 = *(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v47;
  v49 = (((*(_DWORD *)(v8 + 40) + (v48 & v47 | v45 & ~v48) + *(_DWORD *)(result + 20) + 68351059) << 9) | ((*(_DWORD *)(v8 + 40) + (v48 & v47 | v45 & ~v48) + *(_DWORD *)(result + 20) + 68351059) >> 23))
      + v47;
  v50 = a1;
  a2 = v49;
  *(_DWORD *)(result + 20) = v49;
  v51 = (((*(_DWORD *)(result + 16) + (a1 & v49 | v47 & ~v50) + *(_DWORD *)(v8 + 60) - 696128568) << 14) | ((*(_DWORD *)(result + 16) + (a1 & v49 | v47 & ~v50) + *(_DWORD *)(v8 + 60) - 696128568) >> 18))
      + a2;
  v52 = v51 & v47 | a2 & ~v47;
  *(_DWORD *)(result + 16) = v51;
  v53 = (((a1 + v52 + *(_DWORD *)(v8 + 16) - 405538655) >> 12) | ((a1 + v52 + *(_DWORD *)(v8 + 16) - 405538655) << 20))
      + v51;
  v54 = v53 & *(_DWORD *)(result + 20);
  v55 = *(_DWORD *)(result + 16) & ~*(_DWORD *)(result + 20);
  *(_DWORD *)(result + 12) = v53;
  v56 = (32 * (*(_DWORD *)(v8 + 36) + (v54 | v55) + *(_DWORD *)(result + 8) + 568553585) | ((*(_DWORD *)(v8 + 36)
                                                                                           + (v54 | (unsigned int)v55)
                                                                                           + *(_DWORD *)(result + 8)
                                                                                           + 568553585) >> 27))
      + v53;
  v57 = *(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v56;
  v58 = (((*(_DWORD *)(v8 + 56) + (v56 & v57 | v53 & ~v57) + *(_DWORD *)(result + 20) - 1009916202) << 9) | ((*(_DWORD *)(v8 + 56) + (v56 & v57 | v53 & ~v57) + *(_DWORD *)(result + 20) - 1009916202) >> 23))
      + v56;
  a1 = v58;
  *(_DWORD *)(result + 20) = v58;
  v59 = a1;
  v60 = a1
      + (((*(_DWORD *)(result + 16) + (v53 & v58 | v56 & ~v53) + *(_DWORD *)(v8 + 12) - 126529459) << 14) | ((*(_DWORD *)(result + 16) + (v53 & v58 | v56 & ~v53) + *(_DWORD *)(v8 + 12) - 126529459) >> 18));
  a1 = v60;
  *(_DWORD *)(result + 16) = v60;
  v61 = (((*(_DWORD *)(v8 + 32) + (v56 & a1 | v59 & ~v56) + v53 + 1247079889) >> 12) | ((*(_DWORD *)(v8 + 32)
                                                                                       + (v56 & a1 | v59 & ~v56)
                                                                                       + v53
                                                                                       + 1247079889) << 20))
      + a1;
  v62 = v61 & *(_DWORD *)(result + 20);
  v63 = *(_DWORD *)(result + 16) & ~*(_DWORD *)(result + 20);
  *(_DWORD *)(result + 12) = v61;
  v64 = (32 * (*(_DWORD *)(v8 + 52) + (v62 | v63) + *(_DWORD *)(result + 8) - 1459248136) | ((*(_DWORD *)(v8 + 52)
                                                                                            + (v62 | (unsigned int)v63)
                                                                                            + *(_DWORD *)(result + 8)
                                                                                            - 1459248136) >> 27))
      + v61;
  v65 = v64 & *(_DWORD *)(result + 16);
  v66 = v61 & ~*(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v64;
  v67 = (((*(_DWORD *)(result + 20) + (v65 | v66) + *(_DWORD *)(v8 + 8) - 1543986184) << 9) | ((*(_DWORD *)(result + 20)
                                                                                              + (v65 | (unsigned int)v66)
                                                                                              + *(_DWORD *)(v8 + 8)
                                                                                              - 1543986184) >> 23))
      + v64;
  a1 = v67;
  *(_DWORD *)(result + 20) = v67;
  v68 = a1;
  v69 = a1
      + (((*(_DWORD *)(result + 16) + (v61 & v67 | v64 & ~v61) + *(_DWORD *)(v8 + 28) + 1613601930) << 14) | ((*(_DWORD *)(result + 16) + (v61 & v67 | v64 & ~v61) + *(_DWORD *)(v8 + 28) + 1613601930) >> 18));
  a1 = v69;
  *(_DWORD *)(result + 16) = v69;
  v70 = v64 & a1 | v68 & ~v64;
  v71 = *(_DWORD *)(result + 20);
  v72 = (((*(_DWORD *)(v8 + 48) + v70 + v61 - 1926795356) >> 12) | ((*(_DWORD *)(v8 + 48) + v70 + v61 - 1926795356) << 20))
      + a1;
  v73 = *(_DWORD *)(result + 20) ^ *(_DWORD *)(result + 16);
  *(_DWORD *)(result + 12) = v72;
  v74 = (16 * (*(_DWORD *)(result + 8) + (v72 ^ v73) + *(_DWORD *)(v8 + 20) - 198741514) | ((*(_DWORD *)(result + 8)
                                                                                           + (v72 ^ v73)
                                                                                           + *(_DWORD *)(v8 + 20)
                                                                                           - 198741514) >> 28))
      + v72;
  v75 = v74 ^ *(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v74;
  v76 = (((*(_DWORD *)(v8 + 32) + (v72 ^ v75) + v71 - 2113952872) << 11) | ((*(_DWORD *)(v8 + 32)
                                                                           + (v72 ^ v75)
                                                                           + v71
                                                                           - 2113952872) >> 21))
      + v74;
  a1 = v76;
  *(_DWORD *)(result + 20) = v76;
  v77 = a1;
  v78 = a1
      + (((*(_DWORD *)(result + 16) + (v72 ^ v74 ^ v76) + *(_DWORD *)(v8 + 44) + 1829906444) << 16) | ((*(_DWORD *)(result + 16) + (v72 ^ v74 ^ v76) + *(_DWORD *)(v8 + 44) + 1829906444) >> 16));
  a1 = v78;
  *(_DWORD *)(result + 16) = v78;
  v79 = (((*(_DWORD *)(v8 + 56) + (v74 ^ v77 ^ v78) + v72 - 35006893) >> 9) | ((*(_DWORD *)(v8 + 56)
                                                                              + (v74 ^ v77 ^ v78)
                                                                              + v72
                                                                              - 35006893) << 23))
      + a1;
  v80 = *(_DWORD *)(result + 20) ^ *(_DWORD *)(result + 16);
  *(_DWORD *)(result + 12) = v79;
  v81 = *(_DWORD *)(result + 20);
  v82 = (16 * (*(_DWORD *)(v8 + 4) + (v79 ^ v80) + *(_DWORD *)(result + 8) - 364589143) | ((*(_DWORD *)(v8 + 4)
                                                                                          + (v79 ^ v80)
                                                                                          + *(_DWORD *)(result + 8)
                                                                                          - 364589143) >> 28))
      + v79;
  v83 = v82 ^ *(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v82;
  v84 = (((*(_DWORD *)(v8 + 16) + (v79 ^ v83) + v81 + 1272597486) << 11) | ((*(_DWORD *)(v8 + 16)
                                                                           + (v79 ^ v83)
                                                                           + v81
                                                                           + 1272597486) >> 21))
      + v82;
  a1 = v84;
  *(_DWORD *)(result + 20) = v84;
  v85 = a1;
  v86 = a1
      + (((*(_DWORD *)(result + 16) + (v79 ^ v82 ^ v84) + *(_DWORD *)(v8 + 28) - 155841424) << 16) | ((*(_DWORD *)(result + 16) + (v79 ^ v82 ^ v84) + *(_DWORD *)(v8 + 28) - 155841424) >> 16));
  a1 = v86;
  *(_DWORD *)(result + 16) = v86;
  v87 = *(_DWORD *)(v8 + 40) + (v82 ^ v85 ^ v86) + v79 - 1095021573;
  v88 = *(_DWORD *)(result + 8);
  v89 = ((v87 >> 9) | (v87 << 23)) + a1;
  v90 = v89 ^ *(_DWORD *)(result + 16);
  *(_DWORD *)(result + 12) = v89;
  v91 = (16 * (*(_DWORD *)(v8 + 52) + (*(_DWORD *)(result + 20) ^ v90) + v88 + 681279174) | ((*(_DWORD *)(v8 + 52)
                                                                                            + (*(_DWORD *)(result + 20) ^ (unsigned int)v90)
                                                                                            + v88
                                                                                            + 681279174) >> 28))
      + v89;
  v92 = v91 ^ *(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v91;
  v93 = (((*(_DWORD *)(result + 20) + (v89 ^ v92) + *(_DWORD *)v8 - 403033979) << 11) | ((*(_DWORD *)(result + 20)
                                                                                        + (v89 ^ (unsigned int)v92)
                                                                                        + *(_DWORD *)v8
                                                                                        - 403033979) >> 21))
      + v91;
  a1 = v93;
  *(_DWORD *)(result + 20) = v93;
  v94 = a1;
  v95 = a1
      + (((*(_DWORD *)(result + 16) + (v89 ^ v91 ^ v93) + *(_DWORD *)(v8 + 12) - 722490862) << 16) | ((*(_DWORD *)(result + 16) + (v89 ^ v91 ^ v93) + *(_DWORD *)(v8 + 12) - 722490862) >> 16));
  *(_DWORD *)(result + 16) = v95;
  a1 = v95;
  v96 = v94 ^ v95;
  v97 = *(_DWORD *)(result + 20);
  v98 = v89 + (v91 ^ v96) + *(_DWORD *)(v8 + 24) + 80760889;
  v99 = *(_DWORD *)(result + 8);
  v100 = ((v98 >> 9) | (v98 << 23)) + a1;
  v101 = v100 ^ *(_DWORD *)(result + 16);
  *(_DWORD *)(result + 12) = v100;
  v102 = (16 * (*(_DWORD *)(v8 + 36) + (*(_DWORD *)(result + 20) ^ v101) + v99 - 645391027) | ((*(_DWORD *)(v8 + 36)
                                                                                              + (*(_DWORD *)(result + 20) ^ (unsigned int)v101)
                                                                                              + v99
                                                                                              - 645391027) >> 28))
       + v100;
  v103 = v102 ^ *(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v102;
  v104 = (((*(_DWORD *)(v8 + 48) + (v100 ^ v103) + v97 - 421167880) << 11) | ((*(_DWORD *)(v8 + 48)
                                                                             + (v100 ^ (unsigned int)v103)
                                                                             + v97
                                                                             - 421167880) >> 21))
       + v102;
  a1 = v104;
  *(_DWORD *)(result + 20) = v104;
  v105 = a1;
  v106 = a1
       + (((*(_DWORD *)(result + 16) + (v100 ^ v102 ^ v104) + *(_DWORD *)(v8 + 60) + 534485410) << 16) | ((*(_DWORD *)(result + 16) + (v100 ^ v102 ^ v104) + *(_DWORD *)(v8 + 60) + 534485410) >> 16));
  a1 = v106;
  *(_DWORD *)(result + 16) = v106;
  v107 = v100 + (v102 ^ v105 ^ v106) + *(_DWORD *)(v8 + 8) - 983151931;
  v108 = *(_DWORD *)(result + 8);
  v109 = a1 + ((v107 >> 9) | (v107 << 23));
  v110 = v109 | ~*(_DWORD *)(result + 20);
  *(_DWORD *)(result + 12) = v109;
  v111 = *(_DWORD *)(result + 20);
  v112 = (((*(_DWORD *)v8 + (*(_DWORD *)(result + 16) ^ v110) + v108 - 199081324) << 6) | ((*(_DWORD *)v8
                                                                                          + (*(_DWORD *)(result + 16) ^ (unsigned int)v110)
                                                                                          + v108
                                                                                          - 199081324) >> 26))
       + v109;
  v113 = v112 | ~*(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v112;
  v114 = (((*(_DWORD *)(v8 + 28) + (v109 ^ v113) + v111 + 1140796055) << 10) | ((*(_DWORD *)(v8 + 28)
                                                                               + (v109 ^ (unsigned int)v113)
                                                                               + v111
                                                                               + 1140796055) >> 22))
       + v112;
  *(_DWORD *)(result + 20) = v114;
  a1 = v114;
  v115 = v114;
  v116 = v114
       + (((*(_DWORD *)(v8 + 56) + (v112 ^ (v114 | ~v109)) + *(_DWORD *)(result + 16) - 1809601625) << 15) | ((*(_DWORD *)(v8 + 56) + (v112 ^ (v114 | ~v109)) + *(_DWORD *)(result + 16) - 1809601625) >> 17));
  *(_DWORD *)(result + 16) = v116;
  v117 = v115 ^ (v116 | ~v112);
  v118 = *(_DWORD *)(result + 20);
  v119 = v116
       + (((unsigned int)(v109 + v117 + *(_DWORD *)(v8 + 20) - 56608455) >> 11) | ((v109
                                                                                  + v117
                                                                                  + *(_DWORD *)(v8 + 20)
                                                                                  - 56608455) << 21));
  v120 = v119 | ~*(_DWORD *)(result + 20);
  *(_DWORD *)(result + 12) = v119;
  v121 = (((*(_DWORD *)(v8 + 48) + (v116 ^ v120) + *(_DWORD *)(result + 8) + 1700382131) << 6) | ((*(_DWORD *)(v8 + 48)
                                                                                                 + (v116 ^ v120)
                                                                                                 + *(_DWORD *)(result + 8)
                                                                                                 + 1700382131) >> 26))
       + v119;
  v122 = v121 | ~*(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v121;
  v123 = (((*(_DWORD *)(v8 + 12) + (v119 ^ v122) + v118 - 1882419006) << 10) | ((*(_DWORD *)(v8 + 12)
                                                                               + (v119 ^ v122)
                                                                               + v118
                                                                               - 1882419006) >> 22))
       + v121;
  *(_DWORD *)(result + 20) = v123;
  a1 = v123;
  v124 = v123;
  v125 = v123
       + (((*(_DWORD *)(v8 + 40) + (v121 ^ (v123 | ~v119)) + *(_DWORD *)(result + 16) - 721283) << 15) | ((*(_DWORD *)(v8 + 40) + (v121 ^ (v123 | ~v119)) + *(_DWORD *)(result + 16) - 721283) >> 17));
  *(_DWORD *)(result + 16) = v125;
  v126 = v125
       + (((*(_DWORD *)(v8 + 4) + (v124 ^ (v125 | ~v121)) + v119 - 2057468719) >> 11) | ((*(_DWORD *)(v8 + 4)
                                                                                        + (v124 ^ (v125 | ~v121))
                                                                                        + v119
                                                                                        - 2057468719) << 21));
  v127 = v126 | ~*(_DWORD *)(result + 20);
  *(_DWORD *)(result + 12) = v126;
  v128 = (((*(_DWORD *)(v8 + 32) + (v125 ^ v127) + *(_DWORD *)(result + 8) + 1753108399) << 6) | ((*(_DWORD *)(v8 + 32)
                                                                                                 + (v125 ^ v127)
                                                                                                 + *(_DWORD *)(result + 8)
                                                                                                 + 1753108399) >> 26))
       + v126;
  v129 = v128 | ~*(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v128;
  v130 = (((*(_DWORD *)(result + 20) + (v126 ^ v129) + *(_DWORD *)(v8 + 60) - 30669775) << 10) | ((*(_DWORD *)(result + 20)
                                                                                                 + (v126 ^ v129)
                                                                                                 + *(_DWORD *)(v8 + 60)
                                                                                                 - 30669775) >> 22))
       + v128;
  a1 = v130;
  *(_DWORD *)(result + 20) = v130;
  v131 = a1;
  v132 = a1
       + (((*(_DWORD *)(result + 16) + (v128 ^ (v130 | ~v126)) + *(_DWORD *)(v8 + 24) - 1545150444) << 15) | ((*(_DWORD *)(result + 16) + (v128 ^ (v130 | ~v126)) + *(_DWORD *)(v8 + 24) - 1545150444) >> 17));
  *(_DWORD *)(result + 16) = v132;
  v133 = v132
       + (((v126 + (v131 ^ (v132 | ~v128)) + *(_DWORD *)(v8 + 52) + 1317935649) >> 11) | ((v126
                                                                                         + (v131 ^ (v132 | ~v128))
                                                                                         + *(_DWORD *)(v8 + 52)
                                                                                         + 1317935649) << 21));
  v134 = v133 | ~*(_DWORD *)(result + 20);
  *(_DWORD *)(result + 12) = v133;
  v135 = (((*(_DWORD *)(v8 + 16) + (v132 ^ v134) + *(_DWORD *)(result + 8) + 136279351) << 6) | ((*(_DWORD *)(v8 + 16)
                                                                                                + (v132 ^ v134)
                                                                                                + *(_DWORD *)(result + 8)
                                                                                                + 136279351) >> 26))
       + v133;
  v136 = v135 | ~*(_DWORD *)(result + 16);
  *(_DWORD *)(result + 8) = v135;
  v137 = (((*(_DWORD *)(result + 20) + (v133 ^ v136) + *(_DWORD *)(v8 + 44) - 1120707285) << 10) | ((*(_DWORD *)(result + 20) + (v133 ^ v136) + *(_DWORD *)(v8 + 44) - 1120707285) >> 22))
       + v135;
  a1 = v137;
  *(_DWORD *)(result + 20) = v137;
  v138 = a1;
  v139 = a1
       + (((*(_DWORD *)(result + 16) + (v135 ^ (v137 | ~v133)) + *(_DWORD *)(v8 + 8) + 720547195) << 15) | ((*(_DWORD *)(result + 16) + (v135 ^ (v137 | ~v133)) + *(_DWORD *)(v8 + 8) + 720547195) >> 17));
  *(_DWORD *)(result + 16) = v139;
  v140 = v133 + (v138 ^ (v139 | ~v135)) + *(_DWORD *)(v8 + 36) - 422339711;
  *(_DWORD *)(result + 8) += v143;
  *(_DWORD *)(result + 12) = v142 + v139 + ((v140 >> 11) | (v140 << 21));
  *(_DWORD *)(result + 16) += v141;
  *(_DWORD *)(result + 20) += v144;
  return result;
}
PYG19周年生日快乐!

该用户从未签到

发表于 2009-5-23 09:07:39 | 显示全部楼层
小弟汗颜~
PYG19周年生日快乐!

该用户从未签到

发表于 2009-5-24 00:22:58 | 显示全部楼层
这个CM以前玩过了  现在作为推荐讨论贴...大家加油~
PYG19周年生日快乐!

该用户从未签到

发表于 2009-5-24 10:11:16 | 显示全部楼层
kyo 的 cm

他的东西比较难搞 O(∩_∩)O~
PYG19周年生日快乐!

该用户从未签到

发表于 2009-5-24 11:25:06 | 显示全部楼层
快捷键屏蔽了啊
PYG19周年生日快乐!
  • TA的每日心情
    郁闷
    2020-6-16 23:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-5-25 14:52:11 | 显示全部楼层
    不能运行呀。
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-5-26 15:09:58 | 显示全部楼层
    这个是反调试的,
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-5-26 15:17:25 | 显示全部楼层
    估计我能揭开它的唯一可能性是“穷举”
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-6-5 08:38:04 | 显示全部楼层
    怎么现在没人气了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-19 16:36:27 | 显示全部楼层
    破不了诶,只能支持了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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