XDos V1.0.322 汉化版 算法分析
简单算法——XDos V1.0.322 汉化版
下载页面: http://www.skycn.com/soft/11680.html
软件大小: 151 KB
软件语言: 简体中文
软件类别: 汉化补丁 / 共享版 / 系统其它
应用平台: Win9x/NT/2000/XP
加入时间: 2003-04-12 14:48:22
下载次数: 53
推荐等级: ***
【软件简介】:XDos是Dos的外壳程序,可以运行大多数的Dos命令,如:dir,ren,mkdir...,也可以运行很多Windows的程序,如:notepad,calc,regedit...,XDos是一个多窗口的程序.你可以在XDos中使用复制,粘贴等有用的命令。
【软件限制】:注册后给予最好的支持。
【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
【破解工具】:TRW2000娃娃修改版、Ollydbg1.09、PEiD、GUW32、W32Dasm 9.0白金版
—————————————————————————————————
【过 程】:
刚从 天空 DOWN了这个小东东,是 阳光灿烂 汉化的。程序有点怪,随便输入注册码后就弹出成功的提示,但是重新运行后“关于”里面的注册码栏依旧是空的。反汇编后看到许多的NOP,呵呵,可能是 阳光灿烂 汉化时顺手做了爆破。因为没有原版,所以我就无法完美爆破了,看看算法吧。
xdos.exe 是UPX 1.22壳,应该是汉化者加的。用GUW32脱之,155K->375K。Visual C++ 6.0 编写。
标识码:15588784
试炼码:13572468
因为 阳光灿烂 动了手脚,所以下面的断点我是用TRW的“S大法”追到的。
—————————————————————————————————
:00401D70 6AFF push FFFFFFFF
:00401D72 68F89D4300 push 00439DF8
:00401D77 64A100000000 mov eax, dword ptr fs:[00000000]
:00401D7D 50 push eax
:00401D7E 64892500000000 mov dword ptr fs:[00000000], esp
:00401D85 83EC0C sub esp, 0000000C
:00401D88 A1ACC54400 mov eax, dword ptr [0044C5AC]
:00401D8D 55 push ebp
:00401D8E 56 push esi
:00401D8F 57 push edi
:00401D90 8BF1 mov esi, ecx
:00401D92 89442414 mov dword ptr [esp+14], eax
:00401D96 C744242000000000 mov [esp+20], 00000000
:00401D9E 8944240C mov dword ptr [esp+0C], eax
:00401DA2 8D442414 lea eax, dword ptr [esp+14]
:00401DA6 8D8E98000000 lea ecx, dword ptr [esi+00000098]
:00401DAC 50 push eax
:00401DAD C644242401 mov [esp+24], 01
:00401DB2 E8A18A0100 call 0041A858
:00401DB7 8D4C240C lea ecx, dword ptr [esp+0C]
:00401DBB 51 push ecx
:00401DBC 8D4E5C lea ecx, dword ptr [esi+5C]
:00401DBF E8948A0100 call 0041A858
:00401DC4 8B54240C mov edx, dword ptr [esp+0C]
====>EDX=13572468 试炼码
:00401DC8 837AF801 cmp dword ptr [edx-08], 00000001
====>是否8位?
:00401DCC 90 nop
:00401DCD 90 nop
:00401DCE 90 nop
:00401DCF 90 nop
:00401DD0 90 nop
:00401DD1 90 nop
:00401DD2 8B442414 mov eax, dword ptr [esp+14]
====>EAX=15588784 标识码
:00401DD6 50 push eax
:00401DD7 E83B930000 call 0040B117
====>将标识码15588784转换成16进制值
:00401DDC 8B4C2410 mov ecx, dword ptr [esp+10]
====>ECX=13572468 试炼码
:00401DE0 8BF8 mov edi, eax
====>EDI=EAX=00EDDDB0(H)=15588784(D)
:00401DE2 51 push ecx
:00401DE3 E82F930000 call 0040B117
====>将试炼码13572468转换成16进制值
:00401DE8 83C408 add esp, 00000008
:00401DEB 8BCE mov ecx, esi
:00401DED 8BE8 mov ebp, eax
====>EBP=EAX=00CF1974(H)=13572468(D)
:00401DEF 57 push edi
:00401DF0 E80B030000 call 00402100
====>算法CALL!进入!
:00401DF5 3BC5 cmp eax, ebp
====>比较注册码!
====>EAX=04189ECD 注册码!
====>EBP=00CF1974 试炼码!
:00401DF7 90 nop
:00401DF8 90 nop
:00401DF9 90 nop
:00401DFA 90 nop
:00401DFB 90 nop
:00401DFC 90 nop
:00401DFD 68E9030000 push 000003E9
:00401E02 8BCE mov ecx, esi
:00401E04 E827AE0100 call 0041CC30
:00401E09 8BF8 mov edi, eax
:00401E0B 6A00 push 00000000
:00401E0D 8BCF mov ecx, edi
:00401E0F E8F3B00100 call 0041CF07
:00401E14 8B15ACC54400 mov edx, dword ptr [0044C5AC]
:00401E1A 89542410 mov dword ptr [esp+10], edx
* Possible Reference to String Resource ID=61450: ""
|
:00401E1E 680AF00000 push 0000F00A
:00401E23 8D4C2414 lea ecx, dword ptr [esp+14]
:00401E27 C644242402 mov [esp+24], 02
:00401E2C E8E1CF0100 call 0041EE12
:00401E31 8B442410 mov eax, dword ptr [esp+10]
:00401E35 8BCF mov ecx, edi
:00401E37 50 push eax
:00401E38 E843AF0100 call 0041CD80
:00401E3D 68E8030000 push 000003E8
:00401E42 8BCE mov ecx, esi
:00401E44 E8E7AD0100 call 0041CC30
:00401E49 6A00 push 00000000
:00401E4B 8BC8 mov ecx, eax
:00401E4D E8B5B00100 call 0041CF07
:00401E52 E8EB120300 call 00433142
====>保存注册信息
:00401E57 8B4004 mov eax, dword ptr [eax+04]
:00401E5A 55 push ebp
:00401E5B 6840C14400 push 0044C140
:00401E60 6834C14400 push 0044C134
:00401E65 8BC8 mov ecx, eax
:00401E67 E88C5F0200 call 00427DF8
:00401E6C 6AFF push FFFFFFFF
:00401E6E 6A00 push 00000000
* Possible Reference to String Resource ID=61449: ""
|
:00401E70 6809F00000 push 0000F009
:00401E75 E8825D0200 call 00427BFC
====>呵呵,胜利女神!
:00401E7A 8D4C2410 lea ecx, dword ptr [esp+10]
:00401E7E C644242001 mov [esp+20], 01
:00401E83 E871CA0100 call 0041E8F9
:00401E88 EB0E jmp 00401E98
—————————————————————————————————
进入算法CALL:
* Referenced by a CALL at Addresses:
|:00401DF0 , :00402062
|
:00402100 8B442404 mov eax, dword ptr [esp+04]
====>EAX=[esp+04]=00EDDDB0 标识码
:00402104 353B1FB903 xor eax, 03B91F3B
====>EAX=00EDDDB0 XOR 03B91F3B=0354C28B
:00402109 0542DCC300 add eax, 00C3DC42
====>EAX=0354C28B + 00C3DC42=04189ECD
呵呵,04189ECD的10进制值68722381就是我的注册码了!
:0040210E 7905 jns 00402115
====>跳过去
:00402110 99 cdq
:00402111 33C2 xor eax, edx
:00402113 2BC2 sub eax, edx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040210E(C)
|
:00402115 C20400 ret 0004
—————————————————————————————————
【C++ KeyGen】:
呵呵,算法非常简单。就用我这“超级蹩脚”的C++做 fly 的第七个算法注册机吧!诸位老师见笑了!
#include<iostream.h>
#include<math.h>
void main()
{
unsigned long int k;
cout<<"\n ★★★★XDos V1.0.322 KeyGen{7th}★★★★\n\n\n\n";
cout<<"请输入标识号:";
cin >>k;
k^=0X03B91F3B;
k+=0X00C3DC42;
cout<<"\n呵呵,注册码:"<<k<<endl;
cout<<"\n\n\nCracked By 巢水工作坊——fly [OCN][FCG] 2003-4-15 0:26 COMPILE";
cout<<"\n\n\n * * * 按回车退出!* * *";cin.get();cin.get();
}
—————————————————————————————————
【KeyMake之{58th}内存注册机】:
中断地址:00401DF5
中断次数:1
第一字节:3B
指令长度:2
寄存器方式:EAX
十进制
—————————————————————————————————
【注册信息保存】:
同文件夹下的xdos.ini中:
[Settings]
RKey=68722381
—————————————————————————————————
【整 理】:
标识码:15588784
注册码:68722381
—————————————————————————————————
Cracked By 巢水工作坊——fly [OCN][FCG]
2003-4-15 0:14
(出处:赢政天下整理收藏)
相关文章:
·语音界面2.0算法分析及注册机源码!
·侠客系统修改器1.21破解手记--算法分析
·中文拨号上网计时计费器 V4.12注册算法分析
·ClockWise 3.22e注册码算法分析
·CoolClock V1.02注册算法分析
·Directory Scanner v1.5 注册算法分析
·Disk Chief 1.2 简单注册算法分析
·EffeTech HTTP Sniffer 3.2注册算法分析
·eLib2.01算法分析
·EZ MP3 Recorder 1.15 注册算法分析
相关软件:
→ 特别推荐
→ 热点TOP10
关于我们 |
帮助(?)
| 广告服务 |
版权声明 |
商业合作 |
发展历程 |
加盟我们 |
联系我们
Copyright © 1999-2003
winzheng.com All Rights Reserved.
繁体版:由华琦数码技术提供
Powered
by:MeSky.Net
当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。