简单算法——Roaring Falls Screensaver
下载页面:http://www.pjsoft.com/
软件大小:1.28M
【软件简介】:瀑布屏保。
【软件限制】:30 Day Trial
【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
【破解工具】:TRW2000娃娃修改版、Ollydbg1.09、PEiD、W32Dasm 9.0白金版
—————————————————————————————————
【过 程】:
呵呵,不知道这个东东是否还可以下载。晕,在我60M的Geforce显卡上居然无法流畅运行。
Roaring Falls.exe 无壳。Borland Delphi 编写。
User Name:fly
试 炼 码 :13572468
—————————————————————————————————
:00460ECD E87EE0FFFF call 0045EF50
:00460ED2 8BB3F0020000 mov esi, dword ptr [ebx+000002F0]
:00460ED8 837E3800 cmp dword ptr [esi+38], 00000000
====>没填名字?
:00460EDC 0F8454010000 je 00461036
====>跳则OVER!
:00460EE2 837E3C00 cmp dword ptr [esi+3C], 00000000
====>没有注册码?
:00460EE6 0F844A010000 je 00461036
====>跳则OVER!
:00460EEC 6A01 push 00000001
:00460EEE 8D45FC lea eax, dword ptr [ebp-04]
:00460EF1 50 push eax
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00460E8B(C)
|
* Possible StringData Ref from Code Obj ->"235"
|
:00460EF2 B860104600 mov eax, 00461060
====>EAX=235
:00460EF7 E84C6CFAFF call 00407B48
====>取235的16进制值
:00460EFC 8BC8 mov ecx, eax
====>ECX=EAX=EB(H)=235(D) 运算参数
:00460EFE 8B83F0020000 mov eax, dword ptr [ebx+000002F0]
:00460F04 8B4038 mov eax, dword ptr [eax+38]
====>EAX=fly
* Possible StringData Ref from Code Obj ->"RfaLLs1"
|
:00460F07 BA6C104600 mov edx, 0046106C
====>EDX=RfaLLs1 运算参数
:00460F0C E80BE5FFFF call 0045F41C
====>算法CALL!进入!
:00460F11 8B55FC mov edx, dword ptr [ebp-04]
====>EDX=EB000AE2 注册码
:00460F14 A1B4394600 mov eax, dword ptr [004639B4]
:00460F19 E82E2AFAFF call 0040394C
:00460F1E A1B4394600 mov eax, dword ptr [004639B4]
:00460F23 8B00 mov eax, dword ptr [eax]
:00460F25 8B93F0020000 mov edx, dword ptr [ebx+000002F0]
:00460F2B 8B523C mov edx, dword ptr [edx+3C]
====>EDX=13572468 试炼码
:00460F2E E8512DFAFF call 00403C84
====>比较CALL!
:00460F33 743C je 00460F71
:00460F35 8B83F0020000 mov eax, dword ptr [ebx+000002F0]
:00460F3B FF703C push [eax+3C]
* Possible StringData Ref from Code Obj ->" is not the correct password!"
====>BAD BOY!
:00460F3E 687C104600 push 0046107C
:00460F43 68A4104600 push 004610A4
* Possible StringData Ref from Code Obj ->" Please contact the author at:"
|
:00460F48 68B0104600 push 004610B0
:00460F4D 68A4104600 push 004610A4
* Possible StringData Ref from Code Obj ->"pgj@ix.netcom.com"
|
:00460F52 68D8104600 push 004610D8
:00460F57 8D45FC lea eax, dword ptr [ebp-04]
:00460F5A BA06000000 mov edx, 00000006
:00460F5F E8D02CFAFF call 00403C34
:00460F64 8B45FC mov eax, dword ptr [ebp-04]
:00460F67 E8CC55FEFF call 00446538
:00460F6C E9C5000000 jmp 00461036
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00460F33(C)
|
:00460F71 A1303A4600 mov eax, dword ptr [00463A30]
:00460F76 C60001 mov byte ptr [eax], 01
:00460F79 33D2 xor edx, edx
:00460F7B 8B83E4020000 mov eax, dword ptr [ebx+000002E4]
:00460F81 E8CE53FCFF call 00426354
* Possible StringData Ref from Code Obj ->"Roaring Waterfalls - Registered"
|
:00460F86 BAF4104600 mov edx, 004610F4
:00460F8B 8BC3 mov eax, ebx
:00460F8D E8DA54FCFF call 0042646C
:00460F92 B201 mov dl, 01
:00460F94 A158A04500 mov eax, dword ptr [0045A058]
:00460F99 E8FA91FFFF call 0045A198
:00460F9E 8BF0 mov esi, eax
:00460FA0 B101 mov cl, 01
====>下面是保存注册信息
* Possible StringData Ref from Code Obj ->"##@)(\Roar Falls"
|
:00460FA2 BA1C114600 mov edx, 0046111C
:00460FA7 8BC6 mov eax, esi
:00460FA9 E8DA93FFFF call 0045A388
:00460FAE 6A01 push 00000001
:00460FB0 8D45FC lea eax, dword ptr [ebp-04]
:00460FB3 50 push eax
* Possible StringData Ref from Code Obj ->"126"
|
:00460FB4 B838114600 mov eax, 00461138
:00460FB9 E88A6BFAFF call 00407B48
:00460FBE 8BC8 mov ecx, eax
:00460FC0 8B83F0020000 mov eax, dword ptr [ebx+000002F0]
:00460FC6 8B4038 mov eax, dword ptr [eax+38]
* Possible StringData Ref from Code Obj ->"RfaLLs1UsEr"
|
:00460FC9 BA44114600 mov edx, 00461144
:00460FCE E849E4FFFF call 0045F41C
:00460FD3 8B55FC mov edx, dword ptr [ebp-04]
:00460FD6 A104394600 mov eax, dword ptr [00463904]
:00460FDB E86C29FAFF call 0040394C
:00460FE0 8B0D04394600 mov ecx, dword ptr [00463904]
:00460FE6 8B09 mov ecx, dword ptr [ecx]
* Possible StringData Ref from Code Obj ->"User Name"
|
:00460FE8 BA58114600 mov edx, 00461158
:00460FED 8BC6 mov eax, esi
:00460FEF E83095FFFF call 0045A524
:00460FF4 8B83F0020000 mov eax, dword ptr [ebx+000002F0]
:00460FFA 8B483C mov ecx, dword ptr [eax+3C]
* Possible StringData Ref from Code Obj ->"Registration"
|
:00460FFD BA6C114600 mov edx, 0046116C
:00461002 8BC6 mov eax, esi
:00461004 E81B95FFFF call 0045A524
:00461009 8B83F0020000 mov eax, dword ptr [ebx+000002F0]
:0046100F FF7038 push [eax+38]
:00461012 6884114600 push 00461184
:00461017 68A4104600 push 004610A4
* Possible StringData Ref from Code Obj ->"Thank you for registering and "
->"supporting shareware!"
====>呵呵,胜利女神!
:0046101C 6890114600 push 00461190
:00461021 8D45FC lea eax, dword ptr [ebp-04]
:00461024 BA04000000 mov edx, 00000004
:00461029 E8062CFAFF call 00403C34
:0046102E 8B45FC mov eax, dword ptr [ebp-04]
:00461031 E80255FEFF call 00446538
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00460EDC(C), :00460EE6(C), :00460F6C(U)
|
:00461036 33C0 xor eax, eax
:00461038 5A pop edx
:00461039 59 pop ecx
:0046103A 59 pop ecx
:0046103B 648910 mov dword ptr fs:[eax], edx
:0046103E 6853104600 push 00461053
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00461051(U)
|
:00461043 8D45FC lea eax, dword ptr [ebp-04]
:00461046 E8AD28FAFF call 004038F8
:0046104B C3 ret
—————————————————————————————————
进入算法CALL:460F0C call 0045F41C
* Referenced by a CALL at Addresses:
|:0045F6EF , :0045F72E , :0045F7BD , :0045F80E , :0045F87B
|:0045F8E6 , :00460F0C , :00460FCE
|
:0045F41C 55 push ebp
:0045F41D 8BEC mov ebp, esp
:0045F41F 83C4D4 add esp, FFFFFFD4
:0045F422 53 push ebx
:0045F423 56 push esi
:0045F424 57 push edi
:0045F425 33DB xor ebx, ebx
:0045F427 895DD8 mov dword ptr [ebp-28], ebx
:0045F42A 895DD4 mov dword ptr [ebp-2C], ebx
:0045F42D 895DF0 mov dword ptr [ebp-10], ebx
:0045F430 8BD9 mov ebx, ecx
:0045F432 8955F8 mov dword ptr [ebp-08], edx
:0045F435 8945FC mov dword ptr [ebp-04], eax
:0045F438 8B45FC mov eax, dword ptr [ebp-04]
:0045F43B E8E848FAFF call 00403D28
:0045F440 8B45F8 mov eax, dword ptr [ebp-08]
:0045F443 E8E048FAFF call 00403D28
:0045F448 33C0 xor eax, eax
:0045F44A 55 push ebp
:0045F44B 6816F64500 push 0045F616
:0045F450 64FF30 push dword ptr fs:[eax]
:0045F453 648920 mov dword ptr fs:[eax], esp
:0045F456 837DF400 cmp dword ptr [ebp-0C], 00000000
:0045F45A 750D jne 0045F469
:0045F45C 8D45F8 lea eax, dword ptr [ebp-08]
* Possible StringData Ref from Code Obj ->"umbra"
|
:0045F45F BA30F64500 mov edx, 0045F630
:0045F464 E82745FAFF call 00403990
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0045F45A(C)
|
:0045F469 8B45F8 mov eax, dword ptr [ebp-08]
====>EAX=RfaLLs1
:0045F46C E80347FAFF call 00403B74
====>取RfaLLs1的位数
:0045F471 8945F4 mov dword ptr [ebp-0C], eax
====>[ebp-0C]=7
:0045F474 33F6 xor esi, esi
:0045F476 807D0C00 cmp byte ptr [ebp+0C], 00
:0045F47A 0F8498000000 je 0045F518
:0045F480 8BFB mov edi, ebx
:0045F482 8D45F0 lea eax, dword ptr [ebp-10]
:0045F485 50 push eax
:0045F486 897DDC mov dword ptr [ebp-24], edi
:0045F489 C645E000 mov [ebp-20], 00
:0045F48D 8D55DC lea edx, dword ptr [ebp-24]
:0045F490 33C9 xor ecx, ecx
* Possible StringData Ref from Code Obj ->"%1.2x"
|
:0045F492 B840F64500 mov eax, 0045F640
:0045F497 E84891FAFF call 004085E4
:0045F49C 8B45FC mov eax, dword ptr [ebp-04]
====>EAX=fly
:0045F49F E8D046FAFF call 00403B74
====>取fly的位数
:0045F4A4 85C0 test eax, eax
====>EAX=3
:0045F4A6 0F8E2F010000 jle 0045F5DB
:0045F4AC 8945E4 mov dword ptr [ebp-1C], eax
:0045F4AF C745EC01000000 mov [ebp-14], 00000001
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0045F511(C)
|
:0045F4B6 8B45FC mov eax, dword ptr [ebp-04]
====>EAX=fly
:0045F4B9 8B55EC mov edx, dword ptr [ebp-14]
:0045F4BC 0FB64410FF movzx eax, byte ptr [eax+edx-01]
====>依次取fly字符的HEX值
1、 ====>EAX=66
2、 ====>EAX=6C
3、 ====>EAX=79
:0045F4C1 03C7 add eax, edi
1、 ====>EAX=66 + EB=151
2、 ====>EAX=6C + 00=6C
3、 ====>EAX=79 + 0A=83
:0045F4C3 B9FF000000 mov ecx, 000000FF
====>ECX=000000FF
:0045F4C8 99 cdq
:0045F4C9 F7F9 idiv ecx
1、 ====>EDX=151 % FF=52
2、 ====>EDX=6C % FF=6C
3、 ====>EDX=83 % FF=83
:0045F4CB 8BDA mov ebx, edx
====>EBX=EDX
:0045F4CD 3B75F4 cmp esi, dword ptr [ebp-0C]
:0045F4D0 7D03 jge 0045F4D5
:0045F4D2 46 inc esi
:0045F4D3 EB05 jmp 0045F4DA
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0045F4D0(C)
|
:0045F4D5 BE01000000 mov esi, 00000001
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0045F4D3(U)
|
:0045F4DA 8B45F8 mov eax, dword ptr [ebp-08]
====>EAX=RfaLLs1
:0045F4DD 0FB64430FF movzx eax, byte ptr [eax+esi-01]
====>依次取RfaLLs1字符的HEX值 共取与用户名相同位数
1、 ====>EAX=52
2、 ====>EAX=66
3、 ====>EAX=61
:0045F4E2 33D8 xor ebx, eax
1、 ====>EBX=52 XOR 52=00
2、 ====>EBX=6C XOR 66=0A
3、 ====>EBX=61 XOR 83=E2
:0045F4E4 8D45D8 lea eax, dword ptr [ebp-28]
:0045F4E7 50 push eax
:0045F4E8 895DDC mov dword ptr [ebp-24], ebx
:0045F4EB C645E000 mov [ebp-20], 00
:0045F4EF 8D55DC lea edx, dword ptr [ebp-24]
:0045F4F2 33C9 xor ecx, ecx
* Possible StringData Ref from Code Obj ->"%1.2x"
|
:0045F4F4 B840F64500 mov eax, 0045F640
:0045F4F9 E8E690FAFF call 004085E4
====>将以上所得直接转成字符
:0045F4FE 8B55D8 mov edx, dword ptr [ebp-28]
1、 ====>EDX=00
2、 ====>EDX=0A
3、 ====>EDX=E2
:0045F501 8D45F0 lea eax, dword ptr [ebp-10]
:0045F504 E87346FAFF call 00403B7C
====>将以上所得字符依次连接在 EB 后面
:0045F509 8BFB mov edi, ebx
:0045F50B FF45EC inc [ebp-14]
:0045F50E FF4DE4 dec [ebp-1C]
:0045F511 75A3 jne 0045F4B6
====>循环用户名位数次
:0045F513 E9C3000000 jmp 0045F5DB
…… ……省 略…… ……
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0045F4A6(C), :0045F513(U)
|
:0045F5DB 8B4508 mov eax, dword ptr [ebp+08]
:0045F5DE 8B55F0 mov edx, dword ptr [ebp-10]
====>EDX=EB000AE2 这就是注册码了!
:0045F5E1 E8AA43FAFF call 00403990
:0045F5E6 33C0 xor eax, eax
:0045F5E8 5A pop edx
:0045F5E9 59 pop ecx
:0045F5EA 59 pop ecx
:0045F5EB 648910 mov dword ptr fs:[eax], edx
:0045F5EE 681DF64500 push 0045F61D
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0045F61B(U)
|
:0045F5F3 8D45D4 lea eax, dword ptr [ebp-2C]
:0045F5F6 BA02000000 mov edx, 00000002
:0045F5FB E81C43FAFF call 0040391C
:0045F600 8D45F0 lea eax, dword ptr [ebp-10]
:0045F603 E8F042FAFF call 004038F8
:0045F608 8D45F8 lea eax, dword ptr [ebp-08]
:0045F60B BA02000000 mov edx, 00000002
:0045F610 E80743FAFF call 0040391C
:0045F615 C3 ret
—————————————————————————————————
【注册信息保存】:
REGEDIT4
[HKEY_CURRENT_USER\##@)(\Roar Falls]
"User Name"="7EB645DF"
"Registered"=dword:00000000
"Registration"="EB000AE2"
—————————————————————————————————
【整 理】:
User Name:fly
Password :EB000AE2
—————————————————————————————————
, _/
/| _.-~/ \_ , 青春都一饷
( /~ / \~-._ |\
`\\ _/ \ ~\ ) 忍把浮名
_-~~~-.) )__/;;,. \_ //'
/'_,\ --~ \ ~~~- ,;;\___( (.-~~~-. 换了破解轻狂
`~ _( ,_..--\ ( ,;'' / ~-- /._`\
/~~//' /' `~\ ) /--.._, )_ `~
" `~" " `" /~'`\ `\\~~\
" " "~' ""
Cracked By 巢水工作坊——fly [OCN][FCG]
2003-04-25 1:44
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>