以前加入BCG时写的几篇破文1

序 号:57242
标 题:Crack之亲历手迹2--我的第一个注册机 (2千字)
发信人:y97523  [ 发短消息]
时 间:2002-03-09 19:55:42
阅读次数:209
详细信息:
Crack之亲历手迹2--我的第一个注册机
//-------------------------------------------------
目标程序:icontoy2.exe:392 KB (401,920 字节)
绿色软件,单独exe文件
Delphi编写无需pakage支持,未加壳
破解目标:找到注册码,最好做出注册机
//--------------------------------------------------
破解过程:
1。用IDA反汇编。
2。用SoftICE,下bpx getwindowtext
bpx getwindowtexta
bpx getwindowtextw
bpx getdlgitemtext
bpx getdlgitemtexta
bpx getdlgitemtextw结果只栏到TApplication::GetTitle中的程式,并未拦截到程序获取注册码
的过程。
???或许Delphi的TControl::GetText另有函数?(详细见2002-2-15日记)
3。用W32Dasm反汇编,找到Registration key error!字符串,点击后直接进入了OnOK的处理函数,That's OK!
4。在IDA中找到这个处理函数,
分析发现:
首先打开注册表,将用户名、Key写入注册表
mov edx, offset _str__software_akato_0.Text
mov eax, ebx
call @Registry@TRegistry@OpenKey$qqrx17System@AnsiString4bool
lea edx, [ebp+var_4]
mov eax, [esi+270h]
call @TControl@GetText ; TControl::GetText
mov ecx, [ebp+var_4]
mov edx, offset _str_reg_key_0.Text
mov eax, ebx
call @TRegistry@WriteString ; TRegistry::WriteString
然后再从注册表中读出来
lea ecx, [ebp+var_8]
mov edx, offset _str_reg_key_0.Text
mov eax, ebx
call @TRegistry@ReadString ; TRegistry::ReadString
mov edx, [ebp+var_8]
mov eax, edi
call @System@@LStrAsg$qqrv ; System __linkproc__ LStrAsg(void)
再与十个可能的注册码一一比较
mov eax, [edi]
mov edx, offset _str_R3212959_0.Text
call @System@@LStrCmp$qqrv ; System __linkproc__ LStrCmp(void)
jz short loc_439CEA
mov eax, [edi]
mov edx, offset _str_8M6M8DTA_0.Text
call @System@@LStrCmp$qqrv ; System __linkproc__ LStrCmp(void)
jnz short loc_439D36
如是十个注册码中的一个则显示注册成功,或则显示注册失败
mov eax, offset _str_Registration_ke.Text
call @Dialogs@ShowMessage$qqrx17System@AnsiString ; Dialogs::ShowMessage(System::AnsiString)
现在我们可以知道他的注册码了,只能为下面的十个字串中的一个
8M6M8DTA
R3212959
12959TAT
322223XL
reggy322
reggy105
reg10515
reg15810
22322322
32222332
5。使用VC++6.0做出注册机
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值