首页
社区
课程
招聘
[原创]初次尝试对CM添加代码进行修改
发表于: 2010-2-15 20:58 5800

[原创]初次尝试对CM添加代码进行修改

2010-2-15 20:58
5800

对laomms的一个简单的CM进行修改

原帖位置:
http://bbs.pediy.com/showthread.php?t=37106&highlight=%E5%AE%9E%E8%B7%B5+%E8%B7%B5%E5%86%85+%E5%86%85%E5%AD%98+%E5%AD%98%E6%B3%A8+%E6%B3%A8%E5%86%8C+%E5%86%8C%E6%9C%BA+%E6%9C%BA%E5%8F%98+%E5%8F%98%E7%AE%97+%E7%AE%97

改造原来的CM,让用户名变为自己输入。
1、pExplorer更改Edit的属性,去掉readonly和disabled属性前面的对勾
2、保存后的程序发现有个问题,原来的程序用户名是不可变的,因此没有做变量清零的操作;此时如果输入长度不同的用户名,会导致同一个用户名在不同情况下需要不同的注册码,因此需要添加一个变量清零的操作。

加如下一个函数


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (6)
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
2
支持一下!!
2010-2-15 21:45
0
雪    币: 65
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
奇怪了,我下载下来的CRACKME打开来有错误,用OD调试发现似乎有个出发异常啊
2010-2-16 14:51
0
雪    币: 65
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
晕死,不知道为何我这里
004012C1  /$  53            PUSH EBX
的EAX的值大于800000000,CDQ后EDX为FFFFFFFFFFF,居然要把DIV这句给改成IDIV啊
2010-2-16 14:54
0
雪    币: 119
活跃值: (10)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
5
是系统的问题么?我这里是windows xp professional,在哥们那运行也OK,他的也是xp

我的系统在004012C1处的eax为:10B24AEC,CDQ后EDX是00000000AH

crackme是作者原来的CM,crackme2-3是我改过的,
不知道在你那里crackme运行是否正常?
2010-2-16 15:48
0
雪    币: 65
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢楼主关心,我吧原作者的下下来也是这样的,看来是我的系统问题了。不过我有发现一个问题,那就是在循环给变量清零的时候,4033C4,403398这两个地址的值没有被赋值0,因为当EAX==0时,会跳出循环,这样的话,很肯能还是出现楼主说的那种情况,我是改成这样的:

mov eax,7
dec eax
......;这里就进行赋值了

我是这样想的,但是我现在还是没有出现楼主说的那种情况,正在寻找中。。。
2010-2-16 15:58
0
雪    币: 119
活跃值: (10)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
7
感谢langker,说的对,确实是粗心了,对汇编代码也不熟悉。改一下:
00002400    E8 06C3FFFF     call    FFFFE70B
00002405    60              pushad
00002406    B8 07000000     mov     eax, 7
0000240B    48              dec     eax
0000240C    C70485 98334000>mov     dword ptr [eax*4+403398], 0
00002417    C70485 C4334000>mov     dword ptr [eax*4+4033C4], 0
00002422    85C0            test    eax, eax
00002424  ^ 75 E5           jnz     short 0000240B
00002426    61              popad
00002427    C3              retn


并没有细看用户名运算的代码,在9位左右更改长度的时候,会出现我所谓的因为不清零导致注册码改变的问题。

另外刚刚发现改后的CM可能还有问题,需要细读一下用户名运算的函数了。
上传的附件:
2010-2-16 17:07
0
游客
登录 | 注册 方可回帖
返回
//