- UID
- 1874
注册时间2005-6-3
阅读权限30
最后登录1970-1-1
龙战于野
该用户从未签到
|
发表于 2006-7-1 10:19:35
|
显示全部楼层
第一次用E语言,的确很方便,帮助信息很多
我用OD 做的笔记:
- 00401309 8B15 38304000 mov edx, [403038]
- 00403038 CE D2 B5 C4 C3 A8 D1 BD 我的猫呀
- 00403040 A3 A1 00 00 00 00 00 00 !......
- 00401309 8>mov edx, [403038]
- 0040130F 8>mov dl, [eax+403037]
- 00401315 8>and edx, 0FF
- 0040131B 8>mov ebx, edx
- 0040131D 0>imul ebx, edx
- 00401320 0>add esi, ebx
- 00401322 8>mov ebx, edx
- 00401324 D>sar ebx, 1
- 00401326 0>add esi, ebx
- 00401328 2>sub esi, edx ; CODE1=CODE1 + N[i]*N[i] + N[i]>>1 - N[i]
- 0040132A 4>inc eax
- 0040132B 4>dec ecx ; ECX初始为注册名字节长度,中文的话 乘以2
- 0040132C ^ 7>jnz short 00401309
- 0040132E 5>push esi ; "我的猫呀!"===〉ESI=00056A60
- 0040132F 6>push 00403138 ; ASCII "354912"
- 00401334 E>call 00401383 ; 取得输入注册码(十进制)的十六进制数,1111.==〉457
- 00401339 5>pop esi
- 0040133A 3>cmp eax, esi ; 比较,真正注册码应该为 00056A60===〉354912(十进制)
- 0040133C 7>jnz short 00401353
- 0040133E 6>push 0
- 00401340 6>push 00403462 ; ASCII "Key/CrackMe #2 "
- 00401345 6>push 004034B8 ; ASCII " Good Job, I Wish You the Very Best"
- 0040134A 6>push 0
- 0040134C E>call 004013EE ; jmp 到 USER32.MessageBoxA
复制代码
易语言代码
- .程序集 窗口程序集1
- .子程序 _按钮1_被单击
- .局部变量 SUM, 整数型
- .局部变量 LEN, 整数型
- .局部变量 N, 字节型
- .局部变量 NAME, 文本型
- .局部变量 N2, 字节型
- .局部变量 i, 整数型
- .局部变量 CODE1, 整数型
- LEN = 取文本长度 (编辑框1.内容)
- NAME = 编辑框1.内容
- SUM = 0
- .变量循环首 (1, LEN, 1, i)
- N = 取代码 (NAME, i)
- N2 = N
- SUM = SUM + N × N - N + 右移 (N2, 1)
- .变量循环尾 ()
- 编辑框2.内容 = 到文本 (SUM)
复制代码
[ 本帖最后由 快雪时晴 于 2006-7-1 10:22 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
x
|