|
软件地址:很容易就搜到,就不提供了
编程语言:Borland Delphi 6.0 - 7.0
逆向流程:
OD载入,查找字符串,可以搜到"软件注册成功"
........
CODE:004C1EB9 call sub_4C1D70 //判断真假注册码
CODE:004C1EBE test al, al
CODE:004C1EC0 jz loc_4C1FA1
........
若为真注册码,则将用户名和注册码写入注册表键值:"Software\jisusoft\ipad"
若为假注册码,则弹出错误对话框
F7跟入注册码判断CALL
........
CODE:004C1D70
........
CODE:004C1D95 mov eax, [esi+308h]
CODE:004C1D9B call Controls::TControl::GetText(void) //获取注册码
CODE:004C1DA0 mov eax, [ebp+var_8]
CODE:004C1DA3 lea edx, [ebp+var_4]
CODE:004C1DA6 call Sysutils::Trim(System::AnsiString) //除去空格
CODE:004C1DAB mov eax, [ebp+var_4]
CODE:004C1DAE push eax
CODE:004C1DAF lea edx, [ebp+var_14]
CODE:004C1DB2 mov eax, [esi+304h]
CODE:004C1DB8 call Controls::TControl::GetText(void) //获取用户名
CODE:004C1DBD mov eax, [ebp+var_14]
CODE:004C1DC0 lea edx, [ebp+var_10]
CODE:004C1DC3 call Sysutils::Trim(System::AnsiString) //除去空格
CODE:004C1DC8 mov edx, [ebp+var_10]
CODE:004C1DCB lea ecx, [ebp+var_C]
CODE:004C1DCE mov eax, esi
CODE:004C1DD0 call sub_4C1AC0 //计算注册码
CODE:004C1DD5 mov edx, [ebp+var_C] //真注册码
CODE:004C1DD8 pop eax //假注册码
CODE:004C1DD9 call System::__linkproc__ LStrCmp(void) //这个函数不用翻译了
CODE:004C1DDE jnz short loc_4C1E32
CODE:004C1DE0 mov bl, 1 //注册标志位
CODE:004C1AF9 mov eax, [ebp+var_4]
CODE:004C1AFC call sub_4045EC //获取用户名
CODE:004C1B01 mov esi, eax
CODE:004C1B03 test esi, esi
CODE:004C1B05 jle short loc_4C1B2D
CODE:004C1B07 mov ebx, 1
CODE:004C1B0C
CODE:004C1B0C loc_4C1B0C: ; CODE XREF: sub_4C1AC0+6Bj
CODE:004C1B0C lea ecx, [ebp+var_14]
CODE:004C1B0F mov eax, [ebp+var_4]
CODE:004C1B12 movzx eax, byte ptr [eax+ebx-1]
CODE:004C1B17 xor edx, edx
CODE:004C1B19 call Sysutils::IntToHex(int,int) //把每位用户名转换为16进制 (ASCII "6E7061636B")
eax=00000002
跳转来自 004C1B05
CODE:004C1B1E mov edx, [ebp+var_14]
CODE:004C1B21 lea eax, [ebp+var_8]
CODE:004C1B24 call System::__linkproc__ LStrCat(void)
CODE:004C1B29 inc ebx
CODE:004C1B2A dec esi
CODE:004C1B2B jnz short loc_4C1B0C
........
CODE:004C1B8B mov eax, [ebp+var_C]
CODE:004C1B8E call System::__linkproc__ LStrCopy(void) //取反转换后字符串的前4位 (ASCII "B636")
........
CODE:004C1BCF mov eax, [ebp+var_C] //取反转换后的字符串4~8位 (ASCII "1607")
........
CODE:004C1C0B lea eax, [ebp+var_10]
CODE:004C1C0E mov edx, offset _str_ipad6687tr686c.Text //(ASCII "ipad6687tr686c")
........
后续过程是提取 (ASCII "ipad6687tr686c") ipad、6687t,然后和前面获取的B636、1607和"-"按顺序组合,即得到注册码,
分析完毕。
|
评分
-
参与人数 20 | HB +39 |
THX +10 |
收起
理由
|
猫妖的故事
| + 1 |
|
|
花盗睡鼠
| + 2 |
+ 1 |
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
虚心学习
| + 1 |
|
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
DDK4282
| + 1 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
Soul1999
| + 1 |
|
|
后学真
| + 1 |
|
|
sjtkxy
| + 1 |
|
|
娄胖胖
| + 1 |
|
|
极速菜
| |
+ 1 |
|
消逝的过去
| + 2 |
|
|
冷亦飞
| |
+ 1 |
|
飞刀梦想
| + 1 |
|
|
zxjzzh
| |
+ 1 |
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
jaunic
| + 2 |
|
|
逍遥枷锁
| + 4 |
+ 1 |
好人有好报!你的热心我永远不忘!谢谢! |
有何不可
| + 1 |
+ 1 |
评分=感恩!简单却充满爱!感谢您的作品! |
Bei_eec
| + 2 |
+ 1 |
评分=感恩!简单却充满爱!感谢您的作品! |
Scar-疤痕
| + 3 |
+ 1 |
★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!! |
彡墨鱼灬丶
| + 10 |
+ 1 |
评分=感恩!简单却充满爱!感谢您的作品! |
Shark恒
| + 5 |
+ 1 |
★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!! |
查看全部评分
|