今天是2012倒数第二天,当然CM也会别具一格~

今天的难度系数在过去所有中能排前10….

关键点A:

@@:
bt      dword ptr [esi+4], ecx
jb      @F
dec     ecx
jmp     @B
@@:

显然bt伪指令..我们先查查bt伪指令的用法:

BT是位测试指令,源自80×86

格式: BT OPD,OPS
功能: 目的操作数OPD中由源操作数OPS指定的位送CF标志
位检测指令是把第一个操作数中某一位的值传送给标志位CF,具体的哪一位由指令的第二操作数来确定。 
简单的说是CF==1时@F跳转~
BT(Bit Test):
举个例子:
bt eax,ecx  ;eax=0xAB24AD89 ecx=0x1D
我们知道 eax化成二进制:
1010 1011 0010 0100 1010 1101 1000 1001   
0x1D=29.
而第29位是:1

1010 1011 0010 0100 1010 1101 1000 1001
所以这句指令运行后 CF==1符合JB要求的 
学以致用 在本CM中是对0x13F位进行测试的.可谓是对BT指令的更深层应用
所以BT指令的使用在本CM中觉得堪称一绝!
先把整个CM逆出来先!
经过一天的DASM  这一个逆向出来的源码 算法基本一致`MySource
结合源码&原CM一起分析不难发现这个CM的算法还是非常不错的~

MASM写的啊….经过N个PHICM之后又回归MASM  一种非常熟悉的编码结构  看着真是舒服啊 噢~嗷

这个CM除了算法上耍了点小花招之外~

还加入了自校捡  整个CM DASM过程中就像是温习教科书一样的感觉~

总体来说还OK拉~

还一个就是加上了遍历进程~

这个HIDE OD OPTION就完美解决问题=.=

相比之下  两天前的自创建进程然后把权限叫给所创建的进程来说…呃

一组Key:

ShadowKong

PBVF7OB-JBUM8IP-231QUG2-6VK6JZ9

DownMe

先看一段Dasm:

00401018  |.  8B00          mov     eax, dword ptr [eax]
0040101A  |.  3D 6A106800   cmp     eax, 68106A
0040101F  |.  75 71         jnz     short 00401092
00401021  |.  A1 DD304000   mov     eax, dword ptr [4030DD]
00401026  |.  3D 4232E2AA   cmp     eax, AAE23242
0040102B  |.  75 65         jnz     short 00401092
0040102D  |.  6A 00         push    0                                ; /hTemplateFile = NULL
0040102F  |.  68 80000000   push    80                               ; |Attributes = NORMAL
00401034  |.  6A 03         push    3                                ; |Mode = OPEN_EXISTING
00401036  |.  6A 00         push    0                                ; |pSecurity = NULL
00401038  |.  6A 01         push    1                                ; |ShareMode = FILE_SHARE_READ

以上 这是程序中简单的反爆破  但这并不是我们需要关注的重点

我们要在往后的逆向中 或者编码中 注重由此延伸开来的一系列反跟踪反反跟踪

反跟踪有很多的方式 必须要一个一个去了解  要不然拿到一个高手写的程序也会顿首无措.

总的来说 这个CM还是非常不错的

尤其是在考逆算法的时候~

综合了比较大的循环~

所以在运行程序的时候要等几秒钟才会生成~

DownMe

今天很长一段时间在跟踪CM3

但是其反跟踪很有深度…

所以决定把它放到一边 等研究完它的反跟踪方式再去Crack

于是换了一个CM  结果居然是个明码…

今天深深领悟到 万种调试工具在手 也不敌别人三句代码的感觉了.

以下这个CM 直接载入OD  (居然无壳 而且还是调试版)只要你有一点DASM常识 都很容易找到明码~

Down

这个CM算法上毫无亮点可言~

但漂亮的是在反OD 反IDA 反WINDBG上~

总的来说就是反调试 虽然用的并不是什么高深的技术

但也足矣让人眼前一亮~

不用是IsDebug 也不是BeginDebug 不是你能想到的一切办法~

而且非常巧妙的避开调试线程呵呵…

虽然没什么技术可言  但也非常的漂亮呢

还有算法部分欠大半段的废话也是属于亮点了!

总之我给个LV  就应该属于LV2以上了~!

一组Key:

ShadowKong

15304804104404F05714

DownMe

学习点在于Timer事件的安装~

作为LV1 它已经尽到它的责任了

算法不值一提

脱壳不值一提

Crack不值一提

45849812565523225051

DownMe

CM菜鸟级别..

恶心的在于一堆乱七八糟的验证..

你说你那么简单一个那啥搞那么恶心的验证干啥…

整个CM  DASM出来那么多CALL一半都不知道他在干啥…

一组Key:

ShadowKong

Xmfit|Ptsl

Down

这个CM还是不错的~

这个Key仅仅只符合算法其中的一个~

其实还有很多Key符合的~~

但是基本算已经实现~

Dasm出算法中关键的两个值我只取较小的一个输入算法~

其实取大的那个也一样可以算出Key来!

一组Key:

0038999889

DownMe