文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页精文荟萃破解文章 → AVI-GIF1.09算法分析

AVI-GIF1.09算法分析

时间:2004/10/15 0:55:00来源:本站整理作者:蓝点我要评论(0)

 








AVI-GIF1.09算法分析

软件名称:AVI-GIF

整理日期:2002.9.2
最新版本:1.0.9
文件大小:592KB
软件授权:共享软件
使用平台:Win9x/Me/NT/2000
发布公司:Home Page
软件简介:
  AVI-GIF是一套影像转换器,它可以将 AVI转换成GIF.GIF转换成AVI影像格式,您的AVI影片若有好看的片段,但苦无转文件程序转换成GIF的话,AVI-GIF是一个不错的选择。

下载:
http://sz.onlinedown.net/down/AVI-GIF.exe

反汇编后很容易找断点,这是就不再多说,以下是算法部分:
004ACE20   . 8B4D F8        MOV ECX,DWORD PTR SS:[EBP-8]
004ACE23   . BA 8E91C621    MOV EDX,21C6918E
004ACE28   . 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
004ACE2B   . E8 D8FDFFFF    CALL unpacked.004ACC08,关键CALL,跟入
004ACE30   . 8B55 DC        MOV EDX,DWORD PTR SS:[EBP-24],d edx就看到真码
004ACE33   . 8B45 F4        MOV EAX,DWORD PTR SS:[EBP-C]
004ACE36   . E8 B57AF5FF    CALL unpacked.004048F0
004ACE3B   . 0F85 52010000  JNZ unpacked.004ACF93,不等就失败

在004ACE2B跟入后来到这里

004ACC1E  |. 8B45 F8        MOV EAX,DWORD PTR SS:[EBP-8],注册名
004ACC21  |. E8 6E7DF5FF    CALL unpacked.00404994
004ACC26  |. 33C0           XOR EAX,EAX
004ACC28  |. 55             PUSH EBP
004ACC29  |. 68 9ACD4A00    PUSH unpacked.004ACD9A
004ACC2E  |. 64:FF30        PUSH DWORD PTR FS:[EAX]
004ACC31  |. 64:8920        MOV DWORD PTR FS:[EAX],ESP
004ACC34  |. 8D45 F4        LEA EAX,DWORD PTR SS:[EBP-C]
004ACC37  |. E8 B878F5FF    CALL unpacked.004044F4
004ACC3C  |. 33F6           XOR ESI,ESI
004ACC3E  |. 837D FC 00     CMP DWORD PTR SS:[EBP-4],0
004ACC42  |. 0F84 2C010000  JE unpacked.004ACD74
004ACC48  |. 837D F8 00     CMP DWORD PTR SS:[EBP-8],0
004ACC4C  |. 0F84 22010000  JE unpacked.004ACD74
004ACC52  |. 8B45 F8        MOV EAX,DWORD PTR SS:[EBP-8]
004ACC55  |. E8 527BF5FF    CALL unpacked.004047AC,这处CALL是计算注册名的长度,结果在EAX。
004ACC5A  |. 8BD8           MOV EBX,EAX
004ACC5C  |. 85DB           TEST EBX,EBX
004ACC5E  |. 7E 26          JLE SHORT unpacked.004ACC86
004ACC60  |. BF 01000000    MOV EDI,1
004ACC65  |> 8B45 F8        /MOV EAX,DWORD PTR SS:[EBP-8],注册名
004ACC68  |. E8 3F7BF5FF    |CALL unpacked.004047AC,长度为len
004ACC6D  |. F76D FC        |IMUL DWORD PTR SS:[EBP-4],len*21c6918eh
004ACC70  |. 03F0           |ADD ESI,EAX,esi=esi+len*21c6918eh
004ACC72  |. 8B45 F8        |MOV EAX,DWORD PTR SS:[EBP-8]
004ACC75  |. 0FB64438 FF    |MOVZX EAX,BYTE PTR DS:[EAX+EDI-1],取注册名一个字符到EAX
004ACC7A  |. 69C0 CE020000  |IMUL EAX,EAX,2CE,EAX*2CEH
004ACC80  |. 03F0           |ADD ESI,EAX,ESI=ESI+EAX
004ACC82  |. 47             |INC EDI
004ACC83  |. 4B             |DEC EBX
004ACC84  |.^75 DF          \JNZ SHORT unpacked.004ACC65,循环
004ACC86  |> 8BC6           MOV EAX,ESI,以下四行是对ESI的值取绝对值
004ACC88  |. 99             CDQ
004ACC89  |. 33C2           XOR EAX,EDX
004ACC8B  |. 2BC2           SUB EAX,EDX,结果放EAX,其十进制就是第一组注册码。
004ACC8D  |. 8D55 F4        LEA EDX,DWORD PTR SS:[EBP-C]
004ACC90  |. E8 6BBDF5FF    CALL unpacked.00408A00,INTTOSTR()
004ACC95  |. 8D45 F4        LEA EAX,DWORD PTR SS:[EBP-C]
004ACC98  |. 50             PUSH EAX
004ACC99  |. 8B45 F4        MOV EAX,DWORD PTR SS:[EBP-C]
004ACC9C  |. E8 0B7BF5FF    CALL unpacked.004047AC
004ACCA1  |. 8BD0           MOV EDX,EAX
004ACCA3  |. 83EA 0A        SUB EDX,0A
004ACCA6  |. B9 0A000000    MOV ECX,0A
004ACCAB  |. 8B45 F4        MOV EAX,DWORD PTR SS:[EBP-C]
004ACCAE  |. E8 517DF5FF    CALL unpacked.00404A04
004ACCB3  |. 8B45 F8        MOV EAX,DWORD PTR SS:[EBP-8]
004ACCB6  |. E8 F17AF5FF    CALL unpacked.004047AC
004ACCBB  |. 8BD8           MOV EBX,EAX
004ACCBD  |. 85DB           TEST EBX,EBX
004ACCBF  |. 7E 27          JLE SHORT unpacked.004ACCE8
004ACCC1  |. BF 01000000    MOV EDI,1
004ACCC6  |> 8B45 F8        /MOV EAX,DWORD PTR SS:[EBP-8],注册名
004ACCC9  |. E8 DE7AF5FF    |CALL unpacked.004047AC,LEN
004ACCCE  |. 8B55 F8        |MOV EDX,DWORD PTR SS:[EBP-8]
004ACCD1  |. 0FB6543A FF    |MOVZX EDX,BYTE PTR DS:[EDX+EDI-1],取注册名一个字符N到EDX
004ACCD6  |. 0FAF55 FC      |IMUL EDX,DWORD PTR SS:[EBP-4]  N=N*21C6918EH  
004ACCDA  |. 69D2 BC070000  |IMUL EDX,EDX,7BC       ,N=N*7BCH
004ACCE0  |. 03F2           |ADD ESI,EDXESI=ESE+N
004ACCE2  |. 2BF0           |SUB ESI,EAXESI-LEN
004ACCE4  |. 47             |INC EDI
004ACCE5  |. 4B             |DEC EBX
004ACCE6  |.^75 DE          \JNZ SHORT unpacked.004ACCC6
004ACCE8  |> FF75 F4        PUSH DWORD PTR SS:[EBP-C]
004ACCEB  |. 68 B4CD4A00    PUSH unpacked.004ACDB4
004ACCF0  |. 8BC6           MOV EAX,ESI
004ACCF2  |. 99             CDQ
004ACCF3  |. 33C2           XOR EAX,EDX
004ACCF5  |. 2BC2           SUB EAX,EDX结果放EAX,其十进制就是第一组注册码。
004ACCF7  |. 8D55 F0        LEA EDX,DWORD PTR SS:[EBP-10]
004ACCFA  |. E8 01BDF5FF    CALL unpacked.00408A00
004ACCFF  |. FF75 F0        PUSH DWORD PTR SS:[EBP-10]
004ACD02  |. 8D45 F4        LEA EAX,DWORD PTR SS:[EBP-C]
004ACD05  |. BA 03000000    MOV EDX,3
004ACD0A  |. E8 5D7BF5FF    CALL unpacked.0040486C
004ACD0F  |. 8B45 F8        MOV EAX,DWORD PTR SS:[EBP-8]
004ACD12  |. E8 957AF5FF    CALL unpacked.004047AC
004ACD17  |. 8BD8           MOV EBX,EAX
004ACD19  |. 85DB           TEST EBX,EBX
004ACD1B  |. 7E 2D          JLE SHORT unpacked.004ACD4A
004ACD1D  |. BF 01000000    MOV EDI,1
004ACD22  |> 8B45 F8        /MOV EAX,DWORD PTR SS:[EBP-8],这是第三组的计算,方法大致同上
004ACD25  |. E8 827AF5FF    |CALL unpacked.004047AC
004ACD2A  |. 8B55 F8        |MOV EDX,DWORD PTR SS:[EBP-8]
004ACD2D  |. 0FB6543A FF    |MOVZX EDX,BYTE PTR DS:[EDX+EDI-1]
004ACD32  |. F7EA           |IMUL EDX
004ACD34  |. 69C0 C6040000  |IMUL EAX,EAX,4C6
004ACD3A  |. 03F0           |ADD ESI,EAX
004ACD3C  |. 8B45 F8        |MOV EAX,DWORD PTR SS:[EBP-8]
004ACD3F  |. E8 687AF5FF    |CALL unpacked.004047AC
004ACD44  |. 03F0           |ADD ESI,EAX
004ACD46  |. 47             |INC EDI
004ACD47  |. 4B             |DEC EBX
004ACD48  |.^75 D8          \JNZ SHORT unpacked.004ACD22
004ACD4A  |> 0375 FC        ADD ESI,DWORD PTR SS:[EBP-4],esi+21c6918e6
004ACD4D  |. FF75 F4        PUSH DWORD PTR SS:[EBP-C]
004ACD50  |. 68 B4CD4A00    PUSH unpacked.004ACDB4
004ACD55  |. 8BC6           MOV EAX,ESI
004ACD57  |. 99             CDQ
004ACD58  |. 33C2           XOR EAX,EDX
004ACD5A  |. 2BC2           SUB EAX,EDX
004ACD5C  |. 8D55 EC        LEA EDX,DWORD PTR SS:[EBP-14]
004ACD5F  |. E8 9CBCF5FF    CALL unpacked.00408A00
004ACD64  |. FF75 EC        PUSH DWORD PTR SS:[EBP-14]
004ACD67  |. 8D45 F4        LEA EAX,DWORD PTR SS:[EBP-C]
004ACD6A  |. BA 03000000    MOV EDX,3
004ACD6F  |. E8 F87AF5FF    CALL unpacked.0040486C
004ACD74  |> 8B45 08        MOV EAX,DWORD PTR SS:[EBP+8]
004ACD77  |. 8B55 F4        MOV EDX,DWORD PTR SS:[EBP-C]
004ACD7A  |. E8 C977F5FF    CALL unpacked.00404548
004ACD7F  |. 33C0           XOR EAX,EAX
004ACD81  |. 5A             POP EDX
004ACD82  |. 59             POP ECX
004ACD83  |. 59             POP ECX
004ACD84  |. 64:8910        MOV DWORD PTR FS:[EAX],EDX
004ACD87  |. 68 A1CD4A00    PUSH unpacked.004ACDA1
004ACD8C  |> 8D45 EC        LEA EAX,DWORD PTR SS:[EBP-14]
004ACD8F  |. BA 04000000    MOV EDX,4
004ACD94  |. E8 7F77F5FF    CALL unpacked.00404518
004ACD99  \. C3             RETN

总结:
假定注册名为name
1、第一组注册码x=|循环(name[i]*2ceh+x+len(name)*21c6918eh)|,其中i为注册名长度的循环。
2、第二组注册码y=|循环(name[i]*21c6918eh*7bch+y-len(name))|.i同上。
3、第三组注册码z=|循环(z+name[i]*len(name)*4c6h+len)+21c6918eh|,i同上。

附上注册机源码(DELPHI,KOL&MCK):

{ KOL MCK } // Do not remove this line!
{$DEFINE KOL_MCK}
unit Unit1;

interface

{$IFDEF KOL_MCK}
uses Windows, Messages, ShellAPI, KOL {$IFNDEF KOL_MCK}, mirror, Classes,
 Controls, mckCtrls {$ENDIF};
{$ELSE}
{$I uses.inc} mirror,
 Windows, Messages, SysUtils, Classes, Graphics, Controls, forms, Dialogs;
{$ENDIF}

type
 {$IFDEF KOL_MCK}
 {$I MCKfakeClasses.inc}
 Pform1 = ^Tform1;
 Tform1 = object(TObj)
   form: PControl;
 {$ELSE not_KOL_MCK}
 Tform1 = class(Tform)
 {$ENDIF KOL_MCK}
   KOLProject1: TKOLProject;
   KOLform1: TKOLform;
   GroupBox1: TKOLGroupBox;
   EditBox1: TKOLEditBox;
   GroupBox2: TKOLGroupBox;
   EditBox2: TKOLEditBox;
   Button1: TKOLButton;
   Button2: TKOLButton;
   procedure Button1Click(Sender: PObj);
   procedure Button2Click(Sender: PObj);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 form1 {$IFDEF KOL_MCK} : Pform1 {$ELSE} : Tform1 {$ENDIF} ;

{$IFDEF KOL_MCK}
procedure Newform1( var Result: Pform1; AParent: PControl );
{$ENDIF}

implementation

{$IFNDEF KOL_MCK} {$R *.DFM} {$ENDIF}

{$IFDEF KOL_MCK}
{$I Unit1_1.inc}
{$ENDIF}

procedure Tform1.Button1Click(Sender: PObj);
VAR
i,j,c:integer;
x,y,z,name:string;
begin
name:=editbox1.Text;
c:=length(name);
j:=0;
for i:=1 to c do
  begin
  j:=j+c*$21c6918e;
  j:=j+ord(name[i])*$2ce;
  end;
x:=int2str(abs(j));
for i:=1 to c do
  j:=j+ord(name[i])*$21c6918e*$7bc-c;
y:=int2str(abs(j));
for i:=1 to c do
  j:=j+ord(name[i])*c*$4c6+c;
j:=j+$21c6918e;
z:=int2str(abs(j));
editbox2.Text:=x+'-'+y+'-'+z;
end;

end.

注册机在win2000,delphi6环境下测试通过。

jwh51[FCG][DFCG]


    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程