首页
社区
课程
招聘
[求助]关于crakeme的问题
发表于: 2006-9-18 19:56 5725

[求助]关于crakeme的问题

2006-9-18 19:56
5725
crakeme的程序在  http://free5.ys168.com/?hujun     不知道怎么破解的---->ex8m.exe文件
先运行程序,随便输入123456,弹出错误对话框,提示:invalid registration number!然后我用OD载入这个程序,找出提示错误的那句话,显示的代码如下:
00402179   > \8D4D E0       LEA ECX,DWORD PTR SS:[EBP-20]
0040217C   .  E8 5DEFFFFF   CALL <JMP.&MSVBVM50.__vbaFreeStr>
00402181   .  8D4D DC       LEA ECX,DWORD PTR SS:[EBP-24]
00402184   .  E8 4FEFFFFF   CALL <JMP.&MSVBVM50.__vbaFreeObj>
00402189   .  F7DF          NEG EDI
0040218B   .  66:85FF       TEST DI,DI
0040218E   .  74 3B         JE SHORT ex8m.004021CB
00402190   .  B9 04000280   MOV ECX,80020004
00402195   .  894D A4       MOV DWORD PTR SS:[EBP-5C],ECX
00402198   .  6A 0A         PUSH 0A
0040219A   .  58            POP EAX
0040219B   .  8945 9C       MOV DWORD PTR SS:[EBP-64],EAX
0040219E   .  894D B4       MOV DWORD PTR SS:[EBP-4C],ECX
004021A1   .  8945 AC       MOV DWORD PTR SS:[EBP-54],EAX
004021A4   .  C745 84 441F4>MOV DWORD PTR SS:[EBP-7C],ex8m.00401F44  ;  thank you
004021AB   .  6A 08         PUSH 8
004021AD   .  5E            POP ESI
004021AE   .  89B5 7CFFFFFF MOV DWORD PTR SS:[EBP-84],ESI
004021B4   .  8D95 7CFFFFFF LEA EDX,DWORD PTR SS:[EBP-84]
004021BA   .  8D4D BC       LEA ECX,DWORD PTR SS:[EBP-44]
004021BD   .  E8 0AEFFFFF   CALL <JMP.&MSVBVM50.__vbaVarDup>
004021C2   .  C745 94 081F4>MOV DWORD PTR SS:[EBP-6C],ex8m.00401F08  ;  thank you for registering!---->正确提示
004021C9   .  EB 39         JMP SHORT ex8m.00402204
004021CB   >  B9 04000280   MOV ECX,80020004
004021D0   .  894D A4       MOV DWORD PTR SS:[EBP-5C],ECX
004021D3   .  6A 0A         PUSH 0A
004021D5   .  58            POP EAX
004021D6   .  8945 9C       MOV DWORD PTR SS:[EBP-64],EAX
004021D9   .  894D B4       MOV DWORD PTR SS:[EBP-4C],ECX
004021DC   .  8945 AC       MOV DWORD PTR SS:[EBP-54],EAX
004021DF   .  C745 84 F81E4>MOV DWORD PTR SS:[EBP-7C],ex8m.00401EF8  ;  error
004021E6   .  6A 08         PUSH 8
004021E8   .  5E            POP ESI
004021E9   .  89B5 7CFFFFFF MOV DWORD PTR SS:[EBP-84],ESI
004021EF   .  8D95 7CFFFFFF LEA EDX,DWORD PTR SS:[EBP-84]
004021F5   .  8D4D BC       LEA ECX,DWORD PTR SS:[EBP-44]
004021F8   .  E8 CFEEFFFF   CALL <JMP.&MSVBVM50.__vbaVarDup>
004021FD   .  C745 94 B81E4>MOV DWORD PTR SS:[EBP-6C],ex8m.00401EB8  ;  invalid registration number!--->错误提示
这种方法不知道怎么改,我重新ctrl+F2载入程序,ctrl+n,希望可以找到可以下断的函数,这是一个vb程序,我想在_vbaStrComp或_vbaStrCmp等下断,可是没有找到,我看到也不找到应该在哪里下断:
名称位于 ex8m
地址       区段       类型    (  名称                                    注释
0040413C   .idata     输入         MSVBVM50.#100
004040EC   .idata     输入         MSVBVM50.#595
004040F4   .idata     输入         MSVBVM50._adj_fdivr_m16i
00404134   .idata     输入         MSVBVM50._adj_fdivr_m32
00404130   .idata     输入         MSVBVM50._adj_fdivr_m32i
0040411C   .idata     输入         MSVBVM50._adj_fdivr_m64
004040F0   .idata     输入         MSVBVM50._adj_fdiv_m16i
004040DC   .idata     输入         MSVBVM50._adj_fdiv_m32
0040412C   .idata     输入         MSVBVM50._adj_fdiv_m32i
004040D0   .idata     输入         MSVBVM50._adj_fdiv_m64
00404138   .idata     输入         MSVBVM50._adj_fdiv_r
00404104   .idata     输入         MSVBVM50._adj_fpatan
00404118   .idata     输入         MSVBVM50._adj_fprem
004040D4   .idata     输入         MSVBVM50._adj_fprem1
004040C8   .idata     输入         MSVBVM50._adj_fptan
00404148   .idata     输入         MSVBVM50._allmul
00404144   .idata     输入         MSVBVM50._CIatan
004040C4   .idata     输入         MSVBVM50._CIcos
00404150   .idata     输入         MSVBVM50._CIexp
00404124   .idata     输入         MSVBVM50._CIlog
004040F8   .idata     输入         MSVBVM50._CIsin
0040410C   .idata     输入         MSVBVM50._CIsqrt
0040414C   .idata     输入         MSVBVM50._CItan
00404100   .idata     输入         MSVBVM50.EVENT_SINK_AddRef
00404110   .idata     输入         MSVBVM50.EVENT_SINK_QueryInterface
00404108   .idata     输入         MSVBVM50.EVENT_SINK_Release
004040FC   .idata     输入         MSVBVM50.__vbaChkstk
00404114   .idata     输入         MSVBVM50.__vbaExceptHandler
004040E0   .idata     输入         MSVBVM50.__vbaExitProc
00404120   .idata     输入         MSVBVM50.__vbaFPException
00404158   .idata     输入         MSVBVM50.__vbaFreeObj
00404154   .idata     输入         MSVBVM50.__vbaFreeStr
004040CC   .idata     输入         MSVBVM50.__vbaFreeVarList
004040D8   .idata     输入         MSVBVM50.__vbaHresultCheckObj
004040E8   .idata     输入         MSVBVM50.__vbaObjSet
004040E4   .idata     输入         MSVBVM50.__vbaOnError
00404128   .idata     输入         MSVBVM50.__vbaR8Str
00404140   .idata     输入         MSVBVM50.__vbaVarDup
00401114   .text      输出         <模块入口点>                                 (初始 cpu 选择)

我研究了很久也不知道它跳到错误的关键call在哪里或者应该在什么函数上面下断,如果要暴力破解它,应怎么改跳转,如果你有耐心,可以告诉我它的算法吗,谢谢哪位高手指点一下下=.=

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 270
活跃值: (176)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
2
0040216B    DC1D 28104000      fcomp qword ptr ds:[401028]               ; 关键浮点比较
00402171    DFE0               fstsw ax
00402173    9E                 sahf
00402174    75 03              jnz short ex8m.00402179
00402176    6A 01              push 1
00402178    5F                 pop edi
00402179    8D4D E0            lea ecx,dword ptr ss:[ebp-20]
0040217C    E8 5DEFFFFF        call <jmp.&MSVBVM50.__vbaFreeStr>
00402181    8D4D DC            lea ecx,dword ptr ss:[ebp-24]
00402184    E8 4FEFFFFF        call <jmp.&MSVBVM50.__vbaFreeObj>
00402189    F7DF               neg edi
0040218B    66:85FF            test di,di                                ; 关键
0040218E    74 3B              je short ex8m.004021CB                    ; 跳转

2006-9-18 22:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢这位哥哥哈
=。=
可是改了这个跳转为jne或者nop或者jmp好像还是提示错误哦
2006-9-22 20:13
0
雪    币: 235
活跃值: (41)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
在00402168那里可以看到key(被转换为了float)

BTW:改后你需要随便输入几个字符吧,如果为空还是会报错
2006-9-22 21:54
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
5
0040213A   .  E8 ABEFFFFF   CALL <JMP.&MSVBVM50.__vbaObjSet>
0040213F   .  8BF0          MOV ESI,EAX
00402141   .  8B06          MOV EAX,DWORD PTR DS:[ESI]
00402143   .  8D4D E0       LEA ECX,DWORD PTR SS:[EBP-20]
00402146   .  51            PUSH ECX
00402147   .  56            PUSH ESI
00402148   .  FF90 A0000000 CALL DWORD PTR DS:[EAX+A0]
0040214E   .  3BC7          CMP EAX,EDI
00402150   .  7D 11         JGE SHORT ex8m.00402163
00402152   .  68 A0000000   PUSH 0A0
00402157   .  68 A41E4000   PUSH ex8m.00401EA4
0040215C   .  56            PUSH ESI
0040215D   .  50            PUSH EAX
0040215E   .  E8 81EFFFFF   CALL <JMP.&MSVBVM50.__vbaHresultCheckO>
00402163   >  FF75 E0       PUSH DWORD PTR SS:[EBP-20]
00402166   .  E8 85EFFFFF   CALL <JMP.&MSVBVM50.__vbaR8Str>
0040216B   .  DC1D 28104000 FCOMP QWORD PTR DS:[401028]            ;  正确注册码
00402171   .  DFE0          FSTSW AX
00402173   .  9E            SAHF
00402174   .  75 03         JNZ SHORT ex8m.00402179
00402176   .  6A 01         PUSH 1
00402178   .  5F            POP EDI
00402179   >  8D4D E0       LEA ECX,DWORD PTR SS:[EBP-20]
0040217C   .  E8 5DEFFFFF   CALL <JMP.&MSVBVM50.__vbaFreeStr>
00402181   .  8D4D DC       LEA ECX,DWORD PTR SS:[EBP-24]
00402184   .  E8 4FEFFFFF   CALL <JMP.&MSVBVM50.__vbaFreeObj>
00402189   .  F7DF          NEG EDI
0040218B   .  66:85FF       TEST DI,DI
0040218E      74 3B         JE SHORT ex8m.004021CB     关键跳转 改 jne
00402190   .  B9 04000280   MOV ECX,80020004
00402195   .  894D A4       MOV DWORD PTR SS:[EBP-5C],ECX
00402198   .  6A 0A         PUSH 0A
0040219A   .  58            POP EAX
0040219B   .  8945 9C       MOV DWORD PTR SS:[EBP-64],EAX
0040219E   .  894D B4       MOV DWORD PTR SS:[EBP-4C],ECX
004021A1   .  8945 AC       MOV DWORD PTR SS:[EBP-54],EAX
004021A4   .  C745 84 441F4>MOV DWORD PTR SS:[EBP-7C],ex8m.00401F4>;  Thank You
004021AB   .  6A 08         PUSH 8
004021AD   .  5E            POP ESI
004021AE   .  89B5 7CFFFFFF MOV DWORD PTR SS:[EBP-84],ESI
004021B4   .  8D95 7CFFFFFF LEA EDX,DWORD PTR SS:[EBP-84]
004021BA   .  8D4D BC       LEA ECX,DWORD PTR SS:[EBP-44]
004021BD   .  E8 0AEFFFFF   CALL <JMP.&MSVBVM50.__vbaVarDup>
004021C2   .  C745 94 081F4>MOV DWORD PTR SS:[EBP-6C],ex8m.00401F0>;  Thank you for Registering!
004021C9   .  EB 39         JMP SHORT ex8m.00402204
004021CB   >  B9 04000280   MOV ECX,80020004
004021D0   .  894D A4       MOV DWORD PTR SS:[EBP-5C],ECX
004021D3   .  6A 0A         PUSH 0A
004021D5   .  58            POP EAX
004021D6   .  8945 9C       MOV DWORD PTR SS:[EBP-64],EAX
004021D9   .  894D B4       MOV DWORD PTR SS:[EBP-4C],ECX
004021DC   .  8945 AC       MOV DWORD PTR SS:[EBP-54],EAX
004021DF   .  C745 84 F81E4>MOV DWORD PTR SS:[EBP-7C],ex8m.00401EF>;  Error
004021E6   .  6A 08         PUSH 8
004021E8   .  5E            POP ESI
004021E9   .  89B5 7CFFFFFF MOV DWORD PTR SS:[EBP-84],ESI
004021EF   .  8D95 7CFFFFFF LEA EDX,DWORD PTR SS:[EBP-84]
004021F5   .  8D4D BC       LEA ECX,DWORD PTR SS:[EBP-44]
004021F8   .  E8 CFEEFFFF   CALL <JMP.&MSVBVM50.__vbaVarDup>
004021FD   .  C745 94 B81E4>MOV DWORD PTR SS:[EBP-6C],ex8m.00401EB>;  Invalid Registration Number!
00402204   >  8975 8C       MOV DWORD PTR SS:[EBP-74],ESI
00402207   .  8D55 8C       LEA EDX,DWORD PTR SS:[EBP-74]

另送你正版序列号
上传的附件:
  • 1.jpg (11.54kb,25次下载)
2006-9-22 23:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我终于知道为什么我之前改跳转为jne后输入任何字符都提示错误
原来改了跳转以后输入数字就提示正确,如果输入有字符类型,就提示错误
我真笨啊:<
2006-9-23 22:30
0
游客
登录 | 注册 方可回帖
返回
//