分享
 
 
 

算法注册机编写扫盲---第四课

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

算法注册机编写扫盲---第四课

原创作者:我要[DFCG]

=====================================================================

注:接第三课,我又来了,这次没有多余的话。来!就以实例接着来吧。 ^_^

某crackme算法分析

嘿嘿!去年年初的时候,我发过这个东

======================================================================

一、首先运行TRW2000指向step1.exe,然后隐藏。

二、启动step1.exe

三、输入注册名:woyao,注册码:7979,先

三、按Ctrl+N激活TRW2000

下断点命令: bpx hmemcpy → 设置万能断点

四、按F5返回,点击注册按钮,程序被拦截,下命令:

bc* → 清除断点

五、现在再按F10键N下(找到金矿),到如下代码:

:004011B7 E8A4120000 call 00402460 ← 这里开始取注册名

:004011BC 59 pop ecx

:004011BD 8BC8 mov ecx, eax ← 注册名位数入ecx

:004011BF 83F904 cmp ecx, 00000004 ← 一定大于或等于4

:004011C2 7D14 jge 004011D8 ← 正确就跳到004011D8

:004011C4 6A10 push 00000010

* Possible StringData Ref from Data Obj ->\"ERROR\"

:004011C6 687CB14000 push 0040B17C

* Possible StringData Ref from Data Obj ->\"Your name must contain at least \"

->\"4 characters! ← ?@_@?

\

:004011CB 684CB14000 push 0040B14C

:004011D0 56 push esi

* Reference To: USER32.MessageBoxA, Ord:0000h

:004011D1 E828900000 Call 0040A1FE

:004011D6 EB67 jmp 0040123F

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:004011C2(C)

|

:004011D8 33D2 xor edx, edx ← edx清零

:004011DA 33C0 xor eax, eax ← eax清零

:004011DC 3BC8 cmp ecx, eax ← 比较eax,ecx

:004011DE 7E0D jle 004011ED ← 大于跳004011ED,结束运算

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:004011EB(C)

:004011E0 33DB xor ebx, ebx ← ebx清零,下面的注意看了

:004011E2 8A5C05E4 mov bl, byte ptr [ebp+eax-1C] ← 注册名ASCII的16

:004011E6 03D3 add edx, ebx

:004011E8 40 inc eax ← 累加计数器

:004011E9 3BC8 cmp ecx, eax ← 比较eax和ecx是否加完?

:004011EB 7FF3 jg 004011E0 ← 小于跳到004011E0继续加

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:004011DE(C)

|

:004011ED 52 push edx

* Possible StringData Ref from Data Obj ->\"%d\"

:004011EE 6882B14000 push 0040B182

:004011F3 8D45AC lea eax, dword ptr [ebp-54]

:004011F6 50 push eax

:004011F7 E8C0280000 call 00403ABC

:004011FC 83C40C add esp, 0000000C

:004011FF 8D55AC lea edx, dword ptr [ebp-54]

:00401202 52 push edx

:00401203 8D4DC8 lea ecx, dword ptr [ebp-38]

:00401206 51 push ecx

:00401207 E808120000 call 00402414 ← 关键call,注册

:0040120C 83C408 add esp, 00000008

:0040120F 85C0 test eax, eax

:00401211 7517 jne 0040122A ← 不等就完蛋了! ? @_@ ?

:00401213 6830000400 push 00040030

* Possible StringData Ref from Data Obj ->\"You Did It!\"//^_^

|

:00401218 68CEB14000 push 0040B1CE

算法总结:

crackme算法超简单,注册码等于注册名ASCII的16进制值相加后的10进制值

算法举例:

注册名:woyao

注册码:119 + 111 + 121 + 97 + 111 = 559(十进制值)

VB注册机源码:

Private Sub Command1_Click()

a = Text1.Text

For i = 1 To Len(a)

b = b + Asc(Mid$(a, i))

Next i

Text2.Text = b

End Sub

六、再来一个不久前的软件,算法分析已经有朋友写过了,这里不再从复,因为教程的目的是算法注册机的编写啊,来,看下面:

全国电话通 Ver1.09.01注册算法

算法总结如下:

注册码=((机器码(转为十六进制)-3F9)/2D3+3F9)*2D3

用户名可任意填写,因为它并不参与注册码的校验

输入的机器码设为a,列出算式:

( (a - 3F9) / 2D3 + 3F9) * 2D3

我的机器码:118866

我的注册码:853140

VB注册机源码见下面:

Private Sub Command1_Click()

strtmp = Text1.Text

a = Val(Text1.Text)

b = a - &H3F9

c = b / &H2D3 + &H3F9

d = c * &H2D3

Text2.Text = d

End Sub

七、为何源码要分几段来算的?回看算法总结,列出算式看看先,哦,原来与括号有所关连的。明白了!我要[DFCG]偷懒源码的“精华”在此。 !@#&%$ ^_^

八、因为我菜,所以学无精点,老想偷懒易用,哈,总算摸出一个规律与方法,这下不就全送上来了,大家有用就学,没用就在你以后上手时,

九、看得我头晕

十、砖头、臭鸡蛋又来了?晕,不说就不说,打住。看下面源码:

CrackMe_DFCG源码

Private Sub Command1_Click()

Dim a, b, c, d, X As Integer

a = 22222

b = a + 33333

c = b * 1234

d = Val(Text1.Text)

If c = d Then

MsgBox "高手!我服你 @_@"

Else

MsgBox "哈!你比我

End If

End Sub

Private Sub Command2_Click()

End Sub

===========================================

CrackMe_DFCG注册机源码

Private Sub Command1_Click()

strtmp = Text1.Text

a = 22222

b = a + 33333

c = b * 1234

Text1.Text = c

End Sub

十一、上面这个是

pass_CrackMe窗口1源码:(Form1)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

End

End Sub

pass_CrackMe窗口2源码:(Form2)

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 13 Then

If Text1.Text = "woyao[DFCG]" Then

Form1.Show

Unload Form2

Else

Text1.Text = ""

Print MsgBox("“对不起!密码错误!”" + Chr(10) + Chr(10) + Chr(13) + "请您重新输入正确的密码!", 48, "哈!失败了 ^_^")

E

End If

End Sub

十二、这次不给注册机源码,你自己来吧!反正与上面的差不多,只是过程我做了一点小改动而已,多试有益了。来吧,动手吧!

十三、随本课将提到的所有东

十四、到这里为止,本扫盲内容已讲的差不多了,下一课就作为总结再重复一下前几课的内容,并教大家做出你的个性化名片,好坏只在个人喜好,不过知道它的编写过程,如下的美工类工作就看你本人的所喜所好了! ^_^

十五、本篇原创作者--我要[DFCG],版权没有,人权我有 ^_^

我要[DFCG] 2003.12.12

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有