吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11572|回复: 19
收起左侧

[原创] XX函数图像描绘器 V1.1 算法分析和DELPHI注册机源码

[复制链接]
小试锋芒 发表于 2013-8-9 09:17
本帖最后由 zjh16529 于 2019-6-6 21:49 编辑

   数学函数图像描绘器是一款基于数学函数图像的全自动图像描绘软件,该软件不但可以动态地绘出一次函数、二次函数、幂函数、指数函数、对数函数、正弦函数的图象,还可以描绘自定义各种函数的图线。具有图象迭加、分步取消功能,可以任意设置图像颜色。
   软件提拱的模板中包括几乎所有中学数学函数,输出的500*500位图图片分辩率高,可以在windows自带的绘图程序中继续修改。在数学课件或论文中插入由数学函数图像描绘器绘制的函数图片能够大大提高多媒体课件的教学效率和教学论文的表达效果,该软件界面简洁,速度快捷,方便易用。
下载地址:http://www.onlinedown.net/soft/86522.htm
   截图00.jpg
1、PEID查壳:Borland Delphi 6.0 - 7.0

2、任意输入假码,点击注册,弹出如下提示:
截图01.jpg
说明是重启验证类型,并且注册信息保存在sdip.ini文件里。

3、
bp CreateFileA 下断,观察堆栈窗口,alt+F9,返回到程序领口,F8单步跟踪,很快就到达关键位置。
[C] 纯文本查看 复制代码
0012FD00   00408E63  /CALL 到 CreateFileA 来自 FunImage.00408E5E
0012FD04   00AB98C4  |FileName = "C:\Program Files\数学函数图像描绘器\sdip.ini"
0012FD08   80000000  |Access = GENERIC_READ
0012FD0C   00000001  |ShareMode = FILE_SHARE_READ
0012FD10   00000000  |pSecurity = NULL
0012FD14   00000003  |Mode = OPEN_EXISTING
0012FD18   00000080  |Attributes = NORMAL
0012FD1C   00000000  \hTemplateFile = NULL4


4、来到算法部分:
[ColdFusion] 纯文本查看 复制代码
004D7435  |.  BA 88764D00   mov edx,FunImage.004D7688                ;  ASCII "sdip.ini"
004D743A  |.  E8 25D0F2FF   call FunImage.00404464
004D743F  |.  8B55 D4       mov edx,[local.11]
004D7442  |.  8BC6          mov eax,esi
004D7444  |.  8B08          mov ecx,dword ptr ds:[eax]
004D7446  |.  FF51 68       call dword ptr ds:[ecx+68]
004D7449  |.  8D4D F4       lea ecx,[local.3]
004D744C  |.  33D2          xor edx,edx
004D744E  |.  8BC6          mov eax,esi
004D7450  |.  8B18          mov ebx,dword ptr ds:[eax]
004D7452  |.  FF53 0C       call dword ptr ds:[ebx+C]
004D7455  |.  8D45 CC       lea eax,[local.13]
004D7458  |.  E8 97DEFBFF   call FunImage.004952F4
004D745D  |.  8B45 CC       mov eax,[local.13]
004D7460  |.  8D55 F8       lea edx,[local.2]
004D7463  |.  E8 38DFFBFF   call FunImage.004953A0
004D7468  |.  BB 01000000   mov ebx,1
004D746D  |>  8D55 C8       /lea edx,[local.14]
004D7470  |.  8B45 F8       |mov eax,[local.2]
004D7473  |.  E8 28DFFBFF   |call FunImage.004953A0                  ;  循环体产生注册码
004D7478  |.  8B55 C8       |mov edx,[local.14]
004D747B  |.  8D45 F8       |lea eax,[local.2]
004D747E  |.  E8 B1CDF2FF   |call FunImage.00404234
004D7483  |.  4B            |dec ebx
004D7484  |.^ 75 E7         \jnz short FunImage.004D746D
004D7486  |.  8B45 F8       mov eax,[local.2]                        ;  注册码“BXTPLRBDVBNHFJXTPLHDYJOZRFWHHJRJ”
004D7489  |.  8B55 F4       mov edx,[local.3]                        ;  假码
004D748C  |.  E8 17D1F2FF   call FunImage.004045A8                   ;  比较
004D7491  |.  75 18         jnz short FunImage.004D74AB


5、跟进循环体产生注册码的CALL:
[ColdFusion] 纯文本查看 复制代码
004953A0  /$  55            push ebp
004953A1  |.  8BEC          mov ebp,esp
004953A3  |.  83C4 F0       add esp,-10
004953A6  |.  53            push ebx
004953A7  |.  56            push esi
004953A8  |.  57            push edi
004953A9  |.  33C9          xor ecx,ecx
004953AB  |.  894D F0       mov [local.4],ecx
004953AE  |.  894D F4       mov [local.3],ecx
004953B1  |.  8955 F8       mov [local.2],edx
004953B4  |.  8945 FC       mov [local.1],eax
004953B7  |.  8B45 FC       mov eax,[local.1]
004953BA  |.  E8 8DF2F6FF   call FunImage.0040464C
004953BF  |.  33C0          xor eax,eax
004953C1  |.  55            push ebp
004953C2  |.  68 76544900   push FunImage.00495476
004953C7  |.  64:FF30       push dword ptr fs:[eax]
004953CA  |.  64:8920       mov dword ptr fs:[eax],esp
004953CD  |.  8B45 F8       mov eax,[local.2]
004953D0  |.  E8 C7EDF6FF   call FunImage.0040419C
004953D5  |.  8D55 F4       lea edx,[local.3]
004953D8  |.  8B45 FC       mov eax,[local.1]
004953DB  |.  E8 1C33F7FF   call FunImage.004086FC
004953E0  |.  33FF          xor edi,edi
004953E2  |.  8B45 F4       mov eax,[local.3]
004953E5  |.  E8 72F0F6FF   call FunImage.0040445C
004953EA  |.  8BF0          mov esi,eax                              ;  机器码Q1长度 =0x20
004953EC  |.  85F6          test esi,esi
004953EE  |.  7E 13         jle short FunImage.00495403
004953F0  |.  BB 01000000   mov ebx,1
004953F5  |>  8B45 F4       /mov eax,[local.3]                       ;  Q1
004953F8  |.  0FB64418 FF   |movzx eax,byte ptr ds:[eax+ebx-1]
004953FD  |.  03F8          |add edi,eax
004953FF  |.  43            |inc ebx
00495400  |.  4E            |dec esi
00495401  |.^ 75 F2         \jnz short FunImage.004953F5
00495403  |>  8BC7          mov eax,edi                              ;  Q2=Q1的ASCII累积和=0x9A5
00495405  |.  B9 61000000   mov ecx,61
0049540A  |.  99            cdq
0049540B  |.  F7F9          idiv ecx                                 ;  Q2/0x61
0049540D  |.  8BFA          mov edi,edx                              ;  余数Q3
0049540F  |.  8B45 F4       mov eax,[local.3]
00495412  |.  E8 45F0F6FF   call FunImage.0040445C
00495417  |.  8BF0          mov esi,eax
00495419  |.  85F6          test esi,esi
0049541B  |.  7E 36         jle short FunImage.00495453
0049541D  |.  BB 01000000   mov ebx,1
00495422  |>  8B45 F4       /mov eax,[local.3]                       ;  Q1
00495425  |.  0FB64418 FF   |movzx eax,byte ptr ds:[eax+ebx-1]
0049542A  |.  F7EB          |imul ebx
0049542C  |.  03C7          |add eax,edi                             ;  Q2* i +Q3
[i]0049542E  |.  B9 1A000000   |mov ecx,1A[/i]
00495433  |.  99            |cdq
00495434  |.  F7F9          |idiv ecx                                ;  (Q2 * i +Q3) /0x1A
00495436  |.  83C2 41       |add edx,41                              ;  RegCode=余数Q4+41的ASCII字符
00495439  |.  8D45 F0       |lea eax,[local.4]
0049543C  |.  E8 43EFF6FF   |call FunImage.00404384
00495441  |.  8B55 F0       |mov edx,[local.4]
00495444  |.  8B45 F8       |mov eax,[local.2]
00495447  |.  E8 18F0F6FF   |call FunImage.00404464
0049544C  |.  8B45 F8       |mov eax,[local.2]
0049544F  |.  43            |inc ebx
00495450  |.  4E            |dec esi
00495451  |.^ 75 CF         \jnz short FunImage.00495422




算法总结:
设Q1 = 机器码,以我的机器码为例:
Q1 ="BXTPLRBDVBNHFJXTPLHDYJOZRFWHHJRJ"
Q2 = Q1的ASCII累加和 =0x9A5=2709
Q3 = Q2 MOD 0x61
Q4 = (Q1 * i +Q3) mod 0x1A
注册码RegCode = Q4 + 0x41 对应的字符
-----------------------------------------
附上我的注册信息:
机器码
"BXTPLRBDVBNHFJXTPLHDYJOZRFWHHJRJ"
注册码:
"GMKAIQMQMCSYSOMKAIIAPIPUOSBGACMU"

Delphi注册机源码:

[Delphi] 纯文本查看 复制代码
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, jpeg, ExtCtrls, Buttons;

type
  TForm1 = class(TForm)
    img1: TImage;
    grp1: TGroupBox;
    lbl1: TLabel;
    Edit1: TEdit;
    lbl3: TLabel;
    btn1: TBitBtn;
    lbl2: TLabel;
    Edit2: TEdit;
    procedure Edit1Click(Sender: TObject);
    procedure btn1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation


// 计算字符串的ASCII总和
function Sum_Ascii(str:string):Integer;
var
  i:integer;
begin
  Result := 0;
  for i := 1 to Length(str) do Result := Result + byte(str);
end;
{$R *.dfm}

procedure TForm1.Edit1Click(Sender: TObject);
begin
Edit1.Clear;
end;






procedure TForm1.btn1Click(Sender: TObject);
 var
   Q1,RegCode : string;
   Q2,Q3,Q4,i,j: Integer;
begin
  Q1 := Edit1.Text;
  Q2 := Sum_Ascii(Q1);
  Q3 := Q2 MOD $61;
  j := Length(Q1);
  RegCode := '';
  for i := 1 to j do
  begin
    Q4 := (Byte(Q1) * i + Q3) mod $1A;
    RegCode := RegCode + Char(Q4 + $41);
  end;
  Edit2.Text := RegCode;

end;

end.



3.jpg

点评

会分析算法的都是大牛。  发表于 2013-8-13 10:00

免费评分

参与人数 1热心值 +1 收起 理由
Chief + 1 欢迎分析讨论交流[吾爱破解论坛]有你更精彩.

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lao_jin 发表于 2013-8-9 09:25
代课老师的福利!强人啊。
xnl 发表于 2013-8-9 09:28
E_eYYF 发表于 2013-8-9 09:33
马斯维尔 发表于 2013-8-9 09:51
分析的不错,我学到了不少东西。支持算法分析文章!
feiji5218 发表于 2013-8-9 10:03
支持楼主,支持原创!
nightwish12075 发表于 2013-8-9 10:47
代码很多,看不懂
zbig 发表于 2013-8-9 11:08
楼主强人,是我等偶像呀。。
吾爱扣扣 发表于 2013-8-9 20:55 来自手机
又一个重启验证的精品!学习了!!
抹嗏 发表于 2013-8-10 14:22
没看懂但支持下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-16 06:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表