无线点菜系统免狗破解

该点菜系统如下:

打开时由于没有狗提示:

 

 

该文件没有加壳,发现狗的验证都在fea.dll文件中,

很容易定位到 0048453C,如下:

 

VC编写的东东,用IDA很方便的看到流程:

伪代码摘录如下:

int __usercall check_dog_zhw<eax>(int a1<edi>)
{
  long double v1; // fst7@1
  int v2; // ebx@2
  int v3; // edx@4
  int v4; // eax@4
  int v5; // eax@4
  char v6; // zf@4
  char *v7; // ebx@8
  signed int v8; // edi@8
  char *v9; // esi@8
  int v10; // ecx@9
  int v11; // ecx@9
  char v12; // zf@10
  int v13; // eax@12
  int v14; // edx@13
  const CHAR *v15; // eax@17
  const CHAR *v16; // eax@18
  int *v18; // ecx@19
  int v19; // ecx@19
  int v20; // ecx@19
  int v21; // ecx@19
  int v22; // [sp-24h] [bp-D8h]@8
  int (*v23)(); // [sp-20h] [bp-D4h]@8
  UINT v24; // [sp-1Ch] [bp-D0h]@8
  int v25; // [sp-18h] [bp-CCh]@1
  int (*v26)(); // [sp-14h] [bp-C8h]@1
  int *v27; // [sp-10h] [bp-C4h]@1
  signed int v28; // [sp-Ch] [bp-C0h]@1
  int (*v29)(); // [sp-8h] [bp-BCh]@1
  int *v30; // [sp-4h] [bp-B8h]@1
  int v31; // [sp+Ch] [bp-A8h]@19
  int v32; // [sp+10h] [bp-A4h]@18
  int v33; // [sp+14h] [bp-A0h]@17
  int v34; // [sp+18h] [bp-9Ch]@13
  __int64 v35; // [sp+1Ch] [bp-98h]@12
  int v36; // [sp+24h] [bp-90h]@10
  int v37; // [sp+2Ch] [bp-88h]@10
  char v38; // [sp+30h] [bp-84h]@9
  char v39; // [sp+31h] [bp-83h]@9
  char v40; // [sp+34h] [bp-80h]@9
  int v41; // [sp+38h] [bp-7Ch]@9
  int v42; // [sp+3Ch] [bp-78h]@4
  int v43; // [sp+40h] [bp-74h]@4
  int v44; // [sp+44h] [bp-70h]@4
  int v45; // [sp+48h] [bp-6Ch]@2
  int v46; // [sp+4Ch] [bp-68h]@2
  char v47; // [sp+53h] [bp-61h]@10
  char v48; // [sp+63h] [bp-51h]@8
  char v49; // [sp+73h] [bp-41h]@4
  double v50; // [sp+94h] [bp-20h]@13
  double v51; // [sp+9Ch] [bp-18h]@1
  int v52; // [sp+A8h] [bp-Ch]@1
  int v53; // [sp+ACh] [bp-8h]@13
  int v54; // [sp+B0h] [bp-4h]@4
  int v55; // [sp+B4h] [bp+0h]@1

  v30 = &v55;
  v29 = loc_484AEF;
  v28 = *MK_FP(__FS__, 0);
  *MK_FP(__FS__, 0) = &v28;
  dword_609558 = 0;
  System____linkproc___LStrAsg(&unk_60F644, &str_1_3[1]);
  v27 = &v55;
  v26 = loc_484A4E;
  v25 = *MK_FP(__FS__, 0);
  *MK_FP(__FS__, 0) = &v25;
  v1 = Sysutils__Now();
  v51 = v1;
  sub_4840D0();
  v52 = 0;
  dword_60F63C = fea_findToken("9A4FF014", &v52);
  if ( v52 )
  {
    dword_60F63C = fea_opentoken(&dword_60F634, "9A4FF014", 1, v25, v26, v27, v28, v29, v30);
    check_token_zhw(&str____________1[1], 0);
    System____linkproc___FillChar(&byte_60F654, 128, 0);
    dword_60F63C = fea_getSN(dword_60F634, &byte_60F654);
    check_token_zhw(&str____________2[1], 0);
    sub_4844C0(8, &v46);
    System____linkproc___LStrAsg(&dword_60F640, v46);
    v45 = dword_60F640;
    v2 = dword_60F640;
    if ( dword_60F640 )
      v2 = *(_DWORD *)(dword_60F640 - 4);
    v30 = (int *)&byte_60F654;
    v29 = (int (*)())&v49;
    v28 = 8;
    v27 = dword_484B48;
    v26 = (int (*)())v2;
    v4 = System____linkproc___LStrToPChar(dword_60F640);
    dword_60F63C = fea_MD5_HASH(v4, v26, v27, v28, v29, v30);
    check_token_zhw(&str____________3[1], 0);
    sub_4844C0(16, &v54);
    System____linkproc___LStrCopy(&v44);
    v5 = System____linkproc___LStrToPChar(v44);
    dword_60F63C = fae_verify(dword_60F634, 0, v5);
    check_token_zhw(&str____________4[1], 0);
    dword_60F63C = fea_read(dword_60F634, 10, 6, &byte_60F654);
    check_token_zhw(&str____________5[1], 0);
    v30 = &v43;
    unknown_libname_83(&v42, &byte_60F654, 128);
    System____linkproc___LStrCopy(v30);
    System____linkproc___LStrCmp(v43, &str_FBMini[1]);
    if ( !v6 )
    {
      LOBYTE(v3) = 1;
      unknown_libname_189(off_409528, v3, &str_________________3[1]);
      System____linkproc___RaiseExcept();
    }
    dword_60F63C = fea_read(dword_60F634, 16, 8, &byte_60F654);
    check_token_zhw(&str____________6[1], 0);
    System__Move(&byte_60F654, &dword_609550, 8);
    System____linkproc___FillChar(&byte_60F654, 128, 0);
    dword_60F63C = fea_read(dword_60F634, 48, 32, &byte_60F654);
    if ( byte_60F654 == -1 )
      sub_484530(&str_________________4[1]);
    v24 = (UINT)&v55;
    v23 = loc_484867;
    v22 = *MK_FP(__FS__, 0);
    *MK_FP(__FS__, 0) = &v22;
    v8 = 16;
    v7 = &byte_60F654;
    v9 = &v48;
    do
    {
      System____linkproc___PStrCpy(&v40, dword_484C3C);
      v39 = *v7;
      v38 = 1;
      LOBYTE(v10) = 2;
      System____linkproc___PStrNCat(&v40, &v38, v10);
      System____linkproc___PStrCpy(&v45, &v40);
      v39 = v7[1];
      v38 = 1;
      LOBYTE(v11) = 3;
      System____linkproc___PStrNCat(&v45, &v38, v11);
      unknown_libname_82(&v41, &v45);
      *v9++ = Sysutils__StrToInt(v41);
      v7 += 2;
      --v8;
    }
    while ( v8 );
    System____linkproc___LStrCat3(&v37, dword_484C48, dword_60F640);
    sub_483890(15, &v47);
    *MK_FP(__FS__, 0) = v22;
    System__Move(&v47, &dword_60F6D4, 16);
    unknown_libname_83(&v36, &unk_60F6DC, 4);
    System____linkproc___LStrCmp(v36, &str_FBM3[1]);
    if ( !v12 )
      sub_484530(&str_________________6[1]);
    dword_609558 = dword_60F6D4;
    unknown_libname_83(&unk_60F644, &unk_60F6D8, 4);
    v35 = (unsigned int)dword_60F6E0;
    dbl_60F648 = (long double)(unsigned int)dword_60F6E0;
    v13 = System____linkproc___TRUNC(0, v1);
    if ( v13 <= 4000 )
    {
      if ( v13 < 0 )
        sub_484530(&str_________________8[1]);
      if ( v13 < 30 )
      {
        v24 = 48;
        LODWORD(v35) = v13;
        BYTE4(v35) = 0;
        unknown_libname_155(&v33);
        v15 = (const CHAR *)System____linkproc___LStrToPChar(v33);
        Forms__TApplication__MessageBox(*off_60B9BC, v15, (int)dword_484D9C, v24);
      }
    }
    else
    {
      v50 = dbl_60F648;
      Sysutils__DateTimeToString(LODWORD(dbl_60F648), HIDWORD(dbl_60F648));
      System____linkproc___LStrCat3(&v34, &str_________________7[1], v53);
      LOBYTE(v14) = 1;
      unknown_libname_189(off_409528, v14, v34);
      System____linkproc___RaiseExcept();
    }
  }
  else
  {
    dword_609558 = 0;
    System____linkproc___LStrAsg(&unk_60F644, &str_1_3[1]);
    LODWORD(v35) = a1;
    BYTE4(v35) = 0;
    unknown_libname_155(&v32);
    v16 = (const CHAR *)System____linkproc___LStrToPChar(v32);
    Forms__TApplication__MessageBox(*off_60B9BC, v16, (int)dword_484D9C, 0x30u);
  }
  *MK_FP(__FS__, 0) = v25;
  v18 = v30;
  *MK_FP(__FS__, 0) = v28;
  v30 = (int *)loc_484AF6;
  System____linkproc___LStrArrayClr(&v31, 4, v18);
  System____linkproc___LStrArrayClr(&v36, 3, v19);
  System____linkproc___LStrArrayClr(&v41, 4, v20);
  System____linkproc___LStrClr(&v46);
  return System____linkproc___LStrArrayClr(&v53, 2, v21);
}

 

对于fea中的返回值进行修正,接触对狗的验证和对设备的授权即可。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
客人和服务员有自己的手机就可以点菜的餐饮管理系统 敏科手机点菜系统是基于BS架构开发的,安装简单。一个店铺只需要一台普通的windows电脑做服务器安装本软件,其它平板电脑、智能手机、苹果系统等等都可以用浏览器来使用。客人可以扫描餐桌上的二维码实现客人自助点菜;服务员可以用手机登陆为餐桌点菜及上菜工作。 软件主要功能:   1、 可以用做大中型餐厅的结算收银工作;   2、 能实现顾客、服务员点菜后,后厨自动打印菜品,比如酒水之类可以选择不打印到后厨;   3、 能实现菜品库存数目的管理,如果某件出售商品或菜品低于设定下限值,系统会发出报警给工作人员;   4、 收银账面能管理资金流向,能记录收款方式,比如说现金、刷银行卡、使用代金券,也能通过统计表格形式,查询某段时间的资金收入情况;   5、 报表统计,可以统计指定时间段销售情况,菜品销量排名等,并能打印报表上报给管理层;   6、 产品可以分类管理,并可以查看库存、销售数量,能展示产品图片给客户;   7、 会员管理系统:包括会员积分,分不同的会员等级,且可根据积分自动升级,会员卡挂失、禁用,可以设置不同等级会员不同的积分系数,能通过会员手机号和名字查找会员;   8、 后厨自动打印小票,小票可以设置店铺名称、联系电话、店铺地址。
该软件已经完美独家破解,支持最新版本。 一款绝对物超所值的餐饮行业管理系统,是针对餐饮行业量身定做统,集进货、领用、销售、财务管理及查询统计于一体。“傻瓜化”,“人性化”设计,不懂会计、计算机也能轻松操作。 一、功能强大的餐饮管理系统,包含餐饮行业的绝大部分常用功能:进货、退货、领用、退库、报损、盘点、前台收银、会员管理、财务管理、查询统计等。 二、完全根据餐饮管理系统的规范进行开发:可管理任意多个个营业区域,多个营业时段,餐台、房间分别设置茶位费、服务费,所有餐台、房间可以按照时段独立设置最低消费额。 三、完善的前台营业收银流程,开台点菜、计价结帐、清台搭台、转台并台、外卖零售、退菜赠菜、交班上缴等,是为餐饮行业度身定做的餐饮管理系统。 四、方便快捷的操作:提供快捷点菜、编号点菜、查找点菜、分类点菜等多种方式,所有餐台、房间直观分布,各种状态一目了然,极具餐饮行业特色。 五、严格的餐饮管理监督机制:所有退菜、赠菜操作存档备查,可核查所有抹零、茶位、折扣、加收、免收、现金、支票、刷卡支付、交班上缴记录。 六、支持多种方式结账,可同时使用现金、支票、银行卡、代用券等,解决了餐饮管理的复杂性。 七、计价、结账简单明了,没有繁琐的选项,却有强大的处理功能,包括会员积分、折扣、免收、加收。结账单打印格式可任意设置,非常符合餐饮行业实际需求。 八、菜品项目支持会员价、时价、量化、打折等设置,轻点鼠标完成时价设定、库存警戒、快捷点菜等操作。 九、独特的采购进货模版设置,只需输入数量、进价,统一管理订货、退货以及供货商应收应付,大大提高餐饮管理效率。 十、支持会员管理,清晰的会员档案、消费记录、挂账还款、积分管理,以及强大的分类查询功能,完全适合餐饮行业。 十一、强大的查询功能:每日的销售毛利表、分时段销售情况表、分营业区域销售情况表、各种单据查询、菜品销售排行榜、交接班记录、退菜赠菜记录尽在掌握之中,餐饮管理轻松自如。 十二、所有报表可以随时预览,并且可以导出为Excel文件,您可根据实际需要进行编排。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值