这个CM的重点在于脱壳 和几个调试器的配合使用~
由于脱壳后代码依然加密 所以修改NAX只能外部16进制工具修改机器码实现~
Serial算法隐藏在按键过程响应中…
一组可用Key:
光荣在于平淡,艰巨在于漫长
致力于DAsm+C,MASM
这个CM的重点在于脱壳 和几个调试器的配合使用~
由于脱壳后代码依然加密 所以修改NAX只能外部16进制工具修改机器码实现~
Serial算法隐藏在按键过程响应中…
一组可用Key:
今天这个CM估计是XP2000以前的老东西了,在很久以前的lstrlenA函数可能和现在的不一样~那里不一样?现在的会影响除了eax之外的寄存器,或者说在我的机器上会发生这种影响(已知我从来没有修改过kernel32.dll ),如果你也遇到过这种问题的话…
总之在我的机器上调用strlenA返回值除了eax==ASCII`s Len之外 还有一点就是ecx==addr strlenA+SZIE(strlenA的函数代码宽度)
由于这点问题直接导致了我今天的困扰 所幸现在已经解决~这也就是今天这个CM的关键所在~
首先看这个CM的DASM原版:
今天这个Cm是LV6 难度不错 因为用到了浮点数~~搞了我一天…最后LV6的最后一个算法没有完全逆出来!
/*************************************************
这同样有壳 去壳过程没技术含量~
不知道是作者太那啥还是所用的编译器太那啥~看下面一段代码…
一点精简 效率性都没有…=.=
一组可用Key:
KeyOne:
13028-31x23e93-z14d20
KeyTwo:
ShadowKong
464411239-Oc3k
DownMe:KeyGen
关于这个CM 作者排除了几个Name Dasm翻几下就能知道~
还有CM那里限制了只能输入0xF个Name字符~
这是一个非常有意思的CrackMe!
首先查壳 又是UPX 直接手脱 脱壳毫无技术含量不值一提.
然后载入OD直接找到算法部分~
发现这个CM比较特别 其中的两个静态变量作为标志更是亮点中的亮点~
这意味着要输入两次Key验证,第一次使得第一个STATIC a==1,b==1;
第二次使得STAIC b++;
要当a==1,b==2的时候才算CONS~
在验证过程会发现算法只取前8位注册码 不够8位用0x20补全~
而且这个算法也是这个CM的非常漂亮的地方之一,特别是第一轮的~:
第一轮:
/*************************************************/
一组Key:
FirstTime:ReveRsER
SecondTime:CraCkiNG
DownMe:KeyGen
这个CM不错,作者评级:2 新颖脱俗
为了写一个CM这么折腾作者真敬业~
不过这也就CRACKER的真正魅力所在~
YOUS 这个很赞!
首先查壳 呃 ..脱壳没亮点~
一组Key:
Level 1:
3725
Level2:
ShadowKong)
I6KONG
DownMe:KeyGen
这个CM和以往的有点区别~亮点还是有的~
首先PEID查看 有壳~~
我们重点不是这 轻易脱掉
首先这并不是明码比较(很多都不是明码比较..)
其次这是一组Name 和Key混合算法
再其次这个算法的关键在于:
A[i]=F1(Name[i-1])-F2(Key[i-1]);
i=KeyLen+1;
然后循环算出A[KeyLen];
最后再比较~~
总之这个算法不需要逆 但是需要有很好的数学思维 特别是数列和解N个变量的方程函数方面的…
最后这个CM有几处代码非常漂亮:
如果你有点汇编基础 就看看出这段代码是多么的漂亮~
一组可用Key:
ShadowKong
rg`\e
DownMe:KeyGen
注册机并不完美 因为这算法解太多…
今天这个CM还好~算法公式如标题…
0x01为标志,
前段为第一验证,
后段为第二验证,
中段解密后为用户名~~
还有一点 这个CM存在BUG
在注册机输入[“““]试试?
发现死循环了….
and none~
DownMe:KeyGen