MOV 发表于 2009-6-4 18:07:29

是浮点算法噢1933012519
应该是根据用户名计算的

zhtech 发表于 2009-6-20 21:36:46

浮点算法是怎么回事,有教程吗

beijingren 发表于 2009-7-5 10:29:22

感谢杨大虾提供练手的东东
本人小菜一只,因为杨大虾这个crackme没有注册提示,所以有些新来的朋友可能感觉无处下手
斗胆把自己跟踪的经过写下来供参考
不妥之处欢迎批评、指正!
Notes for process: CrackMe                              2009-7-5 上午 10:18:10
OD载入,
00401000 >/$E8 06000000   CALL CrackMe.0040100B                  ;(initial cpu selection)   //停在这里,F7进入
00401005|.50            PUSH EAX                                 ; /ExitCode
00401006\.E8 BB010000   CALL <JMP.&KERNEL32.ExitProcess>         ; \ExitProcess
来到
0040100B/$55            PUSH EBP                                                                //F8单步走
0040100C|.8BEC          MOV EBP,ESP
0040100E|.81C4 F0FEFFFF ADD ESP,-110
00401014|.E9 83000000   JMP CrackMe.0040109C
……
00401170|.50            PUSH EAX                                 ; |hModule
00401171|.E8 5C000000   CALL <JMP.&KERNEL32.GetProcAddress>      ; \GetProcAddress
00401176|.85C0          TEST EAX,EAX
00401178|.74 20         JE SHORT CrackMe.0040119A
0040117A|.68 E8030000   PUSH 3E8
0040117F|.FFD0          CALL EAX
00401181|.85C0          TEST EAX,EAX
00401183|.74 15         JE SHORT CrackMe.0040119A
00401185|.E8 00000000   CALL CrackMe.0040118A
0040118A|$810424 761E00>ADD DWORD PTR SS:,1E76
00401191|.FFD0          CALL EAX                                 ;krnln.1002979A         //这里F7跟进去(为什么?因为再F8程序就跑起来了。)
00401193|.6A 00         PUSH 0                                 ; /ExitCode = 0
00401195|.E8 2C000000   CALL <JMP.&KERNEL32.ExitProcess>         ; \ExitProcess
0040119A|>FFB5 F8FEFFFF PUSH DWORD PTR SS:            ; /hLibModule
004011A0|.E8 27000000   CALL <JMP.&KERNEL32.FreeLibrary>         ; \FreeLibrary
进去后来到这里
1002979A    55            PUSH EBP                                                         //继续F8单步……
1002979B    8BEC            MOV EBP,ESP
1002979D    8B45 08         MOV EAX,DWORD PTR SS:
100297A0    50            PUSH EAX
100297A1    B9 98CF0E10   MOV ECX,krnln.100ECF98
100297A6    E8 04F5FFFF   CALL krnln.10028CAF                                                //这里再F7跟进去,原因同上 :)
100297AB    5D            POP EBP
100297AC    C2 0400         RETN 4
到了这里
10028CAF    55            PUSH EBP                                                         //继续单步走
10028CB0    8BEC            MOV EBP,ESP
10028CB2    83EC 08         SUB ESP,8
10028CB5    53            PUSH EBX
……
10028CD7    8B4D 08         MOV ECX,DWORD PTR SS:
10028CDA    51            PUSH ECX
10028CDB    8B4D F8         MOV ECX,DWORD PTR SS:
10028CDE    E8 AD060300   CALL krnln.10059390
10028CE3- FFE0            JMP EAX                                  ; CrackMe.004063FF         //哈哈,要挑走啦~~~对比前面的地址
F8一下下
004063FF    FC            CLD                                    ; (initial cpu selection)//这里才是真正的程序入口处,前面的代码都是易语言的封装代码,到了这里就可以用字符串参考啦~~~啦啦啦~~~~
00406400    DBE3            FINIT
00406402    E8 F6FFFFFF   CALL CrackMe.004063FD
00406407    68 FE634000   PUSH CrackMe.004063FE
kelver大虾已经贴出了代码,我就不重复啦
后面就很容易咯
明码比较的,自己动手试试吧!
以上过程所有易语言程序基本通用,很快就可以跟到真实程序入口处。如果各位有更好的办法,希望公布一下,谢谢!

beijingren
1984887871

[ 本帖最后由 beijingren 于 2009-7-5 10:32 编辑 ]

renwoxiao 发表于 2009-7-5 21:43:32

浮点数,算法看不懂,不过出现了明码,不是很好
renwoxiao
-2024671881

649117060 发表于 2015-1-16 11:34:39

谢谢分享谢谢分享

tulingzhi 发表于 2016-9-25 19:27:43

楼主威武,路过顶下
页: 1 [2]
查看完整版本: 第一个易语言CrackMe,高手飘过