首页
社区
课程
招聘
[原创]CrackMe等级自测系统一个4级CM分析
发表于: 2012-4-8 22:53 7565

[原创]CrackMe等级自测系统一个4级CM分析

2012-4-8 22:53
7565

这是个16位的Windows程序,没有调试环境,所以只进行静态分析了。

IDA载入,识别出来了是delphi写的。当然,定位按钮响应函数也不是很困难。我把自已的逆向结果写成了delphi 7的代码,如下是该CM的注册过程(idb在附件里提供)。

procedure TForm1.Button1Click(Sender: TObject);
var s1,s2,s3,s4 :String;
var i,lengt,len,flag:integer;
var sum:real48;
var t0,t1,t2:extended;
begin
  s1 := Edit1.Text;
  flag := 1;
  s2 := s1;
  s3 := s2;
  lengt := Length( s2 );
  sum := 0;
  len := lengt;
  for i:=1 to len do
    sum:=sum + integer(s2[i]);
  t2 := sum;
  t0 := (ln(sum/1294.39894) + sqrt( 0.296439*sum ))*t2;
  t1 := sin(lengt);
  sum := cos( t0
    + cos(lengt * sum) * t1 );
  Str(sum:23,s2 );
  //s2 := ' 7.91792776828515E-0001';
  //Edit1.Text := s2;
  //sum := 0;
  len := length( s2 );
  for i:=len downto 1 do
  begin
    if i = 18 then
      s4:=s4+char(integer(s2[ i - 10 ]) + i + $2a)
    else if i = 17 then
      s4:=s4+char(integer(s2[ i ]) + $30 )
    else if i = 16 then
      s4:=s4+char(integer(s2[ i ]) + i + $1a )
    else if i = 15 then
      s4:=s4+char(integer(s2[ i ]) +i*i - $ac )
    else if i = 14 then
      s4 := s4 + char(integer(s2[ i ]) +i + $1e )
    else if i = 13 then
      s4 := s4 + char(integer(s2[ i ]) + i div i + $2e )
    else if i = 12 then
      s4 := s4 + char(integer(s2[ i ]) +i - $21 )
    else if i = 2 then
      s4 := char(integer(s2[ i ])+ i * i + 6) + s4
    else if i = 10 then
      s4 := s4 + char(integer(s2[ 3 ]) - ( 2 * i - 7 ) );
  end;
  if integer(s2[6]) + $16 <> integer(s3[6]) then flag:=0;
  if integer(s2[7])*2 - 9 <> integer(s3[9]) then flag:=0;
  len := length(s4 );
  for i:=1 to len do
    lengt := lengt + integer( s4[i] );
  if (integer(s2[4])*9 + (len + 1 )*2 + integer(s2[5])*4 = lengt )
        and (flag = 1) then
  begin
    Edit1.Text := s4;
  end
  else
  begin
    Edit1.Text := 'Wrong!';
  end;
 // Edit1.Text := s2;
end;

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 6
支持
分享
最新回复 (6)
雪    币: 183
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
顶LZ一个   !!
2012-4-8 23:10
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
3
膜拜大侠.膜拜坤哥。
2012-4-8 23:13
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
4
继续顶。直到拿了精华为止!
2012-4-12 02:33
0
雪    币: 1579
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
很牛,向你学习,我还不太懂怎么分析呢。
2012-4-13 08:42
0
雪    币: 20
活跃值: (99)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
学习~~~~~~·
2012-4-15 21:04
0
雪    币: 1596
活跃值: (25)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
7
应该精华,开平方,正弦,正切,都用上了
2012-5-3 11:23
0
游客
登录 | 注册 方可回帖
返回
//