杨家将 发表于 2009-5-6 19:30:44

第一个易语言CrackMe,高手飘过

第一个易语言CrackMe,高手飘过。初学易语言,写得很烂,多多指点

km159 发表于 2009-5-6 19:38:11

km159
2133737108

kelvar 发表于 2009-5-6 21:16:25

kelvar
2133737108

还是比较简单的明码比较
F12中断**比较好用。翻堆栈就能找到关键地址,

004063FF   FC                  cld
00406400   DBE3                  finit
00406402   E8 F6FFFFFF         call CrackMe.004063FD
00406407   68 FE634000         push CrackMe.004063FE
0040640C   B8 03000000         mov eax,3
00406411   E8 31000000         call CrackMe.00406447
00406416   83C4 04               add esp,4
00406419   68 01000152         push 52010001
0040641E   E8 1E000000         call CrackMe.00406441
00406423   83C4 04               add esp,4
00406426   6A 00               push 0
00406428   E8 0E000000         call CrackMe.0040643B
0040642D   E8 03000000         call CrackMe.00406435
00406432   83C4 04               add esp,4
00406435   - FF25 615E4000         jmp dword ptr ds:             ; krnln.100296A2
0040643B   - FF25 655E4000         jmp dword ptr ds:             ; krnln.1002960D
00406441   - FF25 695E4000         jmp dword ptr ds:             ; krnln.10029637
00406447   - FF25 6D5E4000         jmp dword ptr ds:             ; krnln.10028DA5
0040644D   - FF25 455E4000         jmp dword ptr ds:             ; krnln.10028DCA
00406453   - FF25 5D5E4000         jmp dword ptr ds:             ; krnln.1002976A
00406459   - FF25 495E4000         jmp dword ptr ds:             ; krnln.10028E21
0040645F   - FF25 4D5E4000         jmp dword ptr ds:             ; krnln.100295C7
00406465   3800                  cmp byte ptr ds:,al
00406467   0000                  add byte ptr ds:,al

到了这里,再查找字符串就可以了


00406289   B8 00000000         mov eax,0
0040628E   0F94C0                sete al
00406291   8945 D8               mov dword ptr ss:,eax
00406294   8B5D DC               mov ebx,dword ptr ss:
00406297   85DB                  test ebx,ebx
00406299   74 09               je short CrackMe.004062A4
0040629B   53                  push ebx
0040629C   E8 B2010000         call CrackMe.00406453               ; 算法Call
004062A1   83C4 04               add esp,4
004062A4   8B5D E0               mov ebx,dword ptr ss:
004062A7   85DB                  test ebx,ebx
004062A9   74 09               je short CrackMe.004062B4             ; 关键跳转
004062AB   53                  push ebx
004062AC   E8 A2010000         call CrackMe.00406453
004062B1   83C4 04               add esp,4
004062B4   837D D8 00            cmp dword ptr ss:,0
004062B8   0F84 3B000000         je CrackMe.004062F9
004062BE   68 04000080         push 80000004
004062C3   6A 00               push 0
004062C5   68 0C314000         push CrackMe.0040310C               ; (*^__^*)
004062CA   68 01030080         push 80000301
004062CF   6A 00               push 0
004062D1   68 40000000         push 40
004062D6   68 04000080         push 80000004
004062DB   6A 00               push 0
004062DD   68 16314000         push CrackMe.00403116               ; 恭喜您!
004062E2   68 03000000         push 3


[ 本帖最后由 kelvar 于 2009-5-6 21:19 编辑 ]

夜冷风 发表于 2009-5-7 13:27:20

杨兄的东西要顶.算法就不看了!!:loveliness: :loveliness:
frozen
2033527616

算法
004060D8    DB45 D8         fild    dword ptr
004060DB    DD5D D8         fstp    qword ptr
004060DE    DD45 D8         fld   qword ptr
004060E1    DC0D 04314000   fmul    qword ptr                ;
004060E7    DD5D D0         fstp    qword ptr                ;
004060EA    DD45 D0         fld   qword ptr

004061B9    8955 B0         mov   dword ptr , edx
004061BC    DD45 C0         fld   qword ptr
004061BF    DC4D AC         fmul    qword ptr                ; //乘以20090506X102
004061C2    DD5D A4         fstp    qword ptr
004061C5    DD45 A4         fld   qword ptr

004061FB    DB45 F0         fild    dword ptr
004061FE    DD5D DC         fstp    qword ptr
00406201    DD45 DC         fld   qword ptr
00406204    DB45 EC         fild    dword ptr
00406207    DD5D D4         fstp    qword ptr
0040620A    DC4D D4         fmul    qword ptr                ; //结果乘以结果
0040620D    DD5D CC         fstp    qword ptr
00406210    DD45 CC         fld   qword ptr
00406213    DB45 E8         fild    dword ptr
00406216    DD5D C4         fstp    qword ptr
00406219    DC75 C4         fdiv    qword ptr
0040621C    DD5D BC         fstp    qword ptr
0040621F    DD45 BC         fld   qword ptr

这里貌似.
0040620A    DC4D D4         fmul    qword ptr                ; //结果乘以结果
0040620D    DD5D CC         fstp    qword ptr
比如我用户名字frozen 第一位frozen-10进制等于102
102*20090506=2049231612
然后你这里fmul    qword ptr
2049231612*2049231612=计数器里面是4199350199620118544
而0D里面.


还有就是楼上说0040629C这里是算法CALL.好象这里不是吧!!
好象全浮点样!!

[ 本帖最后由 夜冷风 于 2009-5-7 13:32 编辑 ]

kelvar 发表于 2009-5-7 20:02:17

楼上的厉害,我说的关键Call是猜测的。没有跟进去。声明下免得误导大家

lixy8888 发表于 2009-5-8 11:08:54

给老杨捧场

支持下老杨

MOV 发表于 2009-5-8 13:35:55

看到浮点算法就头痛顶个

lgjxj 发表于 2009-5-8 16:19:45

不玩了,帮楼主顶顶人气 /:013

mxxgt 发表于 2009-5-29 00:06:25

mxxgt -2125051995/:013

leleku 发表于 2009-5-29 16:00:26

/:014 /:014 厉害呀
页: [1] 2
查看完整版本: 第一个易语言CrackMe,高手飘过