送无花无壳无VM已脱壳 eshvc.dll 2014-01-06(卡丁车)

社区服务
高级搜索
猴岛论坛跑跑卡丁车送无花无壳无VM已脱壳 eshvc.dll 2014-01-06(卡丁车)
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
70个回复

[游戏辅助]送无花无壳无VM已脱壳 eshvc.dll 2014-01-06(卡丁车)

楼层直达
小枫工作组

ZxID:17878826

等级: 上尉
举报 只看楼主 使用道具 楼主   发表于: 2014-01-06 0
unpack ehsvc.rar[点击下载](5948 K) 下载次数:25 累计下载获得 DB 48

不少人向我要新版过非法,我只能说我已经无能为力了。也没有心思做了,所以放一个今天脱掉TMD和还原过VM的ehsvc.dll送给大家研究。
还有两个区段未剔除,会弄的自己搞吧。



贴一段ehsvc对文件扫描的代码:
可以看到还原到这种程度效果可读还是很高的。

int __userpurge sub_1008B07A<eax>(int a1<eax>, int a2<ecx>, HANDLE hFile, LONG a4, int *a5)
{
  DWORD v5; // eax@20
  LONG v7; // [sp-18h] [bp-78h]@21
  LONG v8; // [sp-14h] [bp-74h]@10
  int v9; // [sp-10h] [bp-70h]@10
  char v10; // [sp-Ch] [bp-6Ch]@1
  int v11; // [sp+0h] [bp-60h]@1
  char Buffer; // [sp+8h] [bp-58h]@11
  int v13; // [sp+9h] [bp-57h]@11
  __int16 v14; // [sp+Dh] [bp-53h]@11
  char v15; // [sp+Fh] [bp-51h]@11
  unsigned int i; // [sp+10h] [bp-50h]@14
  char *v17; // [sp+14h] [bp-4Ch]@14
  int v18; // [sp+18h] [bp-48h]@14
  LONG lDistanceToMove; // [sp+1Ch] [bp-44h]@4
  DWORD v20; // [sp+20h] [bp-40h]@4
  LONG v21; // [sp+24h] [bp-3Ch]@4
  struct _WIN_CERTIFICATE Certificateheader; // [sp+28h] [bp-38h]@4
  DWORD NumberOfBytesRead; // [sp+34h] [bp-2Ch]@4
  int v24; // [sp+38h] [bp-28h]@1
  DWORD CertificateCount; // [sp+3Ch] [bp-24h]@1
  DWORD v26; // [sp+40h] [bp-20h]@1
  DWORD v27; // [sp+44h] [bp-1Ch]@1
  char *v28; // [sp+48h] [bp-18h]@1
  int v29; // [sp+50h] [bp-10h]@1
  int (__cdecl *v30)(int, int, int); // [sp+54h] [bp-Ch]@1
  int v31; // [sp+58h] [bp-8h]@1
  int v32; // [sp+5Ch] [bp-4h]@1

  v31 = (int)dword_1010BF50;
  v30 = sub_100B67F0;
  v29 = a1;
  v28 = &v10;
  v11 = a2;
  v27 = 0;
  v26 = 0;
  *a5 = 0;
  v32 = 0;
  CertificateCount = 0;
  v24 = 0;
  v24 = ImageEnumerateCertificates(hFile, 0xFFu, &CertificateCount, 0, 0);
  if ( v24 && CertificateCount )
  {
    v20 = 0;
    lDistanceToMove = 0;
    v21 = 0;
    NumberOfBytesRead = 0;
    Certificateheader.dwLength = 0;
    *(_DWORD *)&Certificateheader.wRevision = 0;
    *(_DWORD *)&Certificateheader.bCertificate[0] = 0;
    v24 = ImageGetCertificateHeader(hFile, 0, &Certificateheader);
    if ( v24 == 1 )
    {
      v21 = SetFilePointer(hFile, 0, 0, 1u);
      if ( v21 == -1 )
      {
        v27 = GetLastError();
        sub_10016310(
          0,
          dword_10123C30,
          dword_10123C34,
          dword_10123C38,
          dword_10123C3C,
          " Fail For Retrieving Current File Pos");
      }
      else
      {
        v26 = a4 - Certificateheader.dwLength;
        lDistanceToMove = a4 - Certificateheader.dwLength - 8;
        v20 = SetFilePointer(hFile, a4 - Certificateheader.dwLength - 8, 0, 0);
        if ( v20 != -1 && v20 == lDistanceToMove )
        {
          Buffer = 0;
          v13 = 0;
          v14 = 0;
          v15 = 0;
          v24 = ReadFile(hFile, &Buffer, 8u, &NumberOfBytesRead, 0);
          if ( v24 && NumberOfBytesRead == 8 )
          {
            v18 = 0;
            v17 = &v15;
            for ( i = 0; i < 8; ++i )
            {
              if ( *v17 )
              {
                v18 = 1;
                break;
              }
              --v17;
            }
            if ( v18 == 1 )
            {
              *a5 = v26 - i;
              v9 = *a5;
              v8 = a4;
              sub_10016310(
                0,
                dword_10123C30,
                dword_10123C34,
                dword_10123C38,
                dword_10123C3C,
                " Signed Info : dwFileSize (0x%x), dwOrgSize (0x%x)",
                a4,
                v9);
              v5 = SetFilePointer(hFile, v21, 0, 0);
              v20 = v5;
              if ( v5 == -1 || v20 != v21 )
              {
                v27 = GetLastError();
                v9 = v27;
                sub_10016310(
                  0,
                  dword_10123C30,
                  dword_10123C34,
                  dword_10123C38,
                  dword_10123C3C,
                  " Fail For Resetting the File Pos To Prev Pos (Error : 0x%x)",
                  v27);
              }
            }
            else
            {
              v27 = 1168;
              v9 = i;
              v8 = v26;
              v7 = a4;
              sub_10016310(
                0,
                dword_10123C30,
                dword_10123C34,
                dword_10123C38,
                dword_10123C3C,
                " Filtering Padded Value Failed (0x%x, 0x%x, 0x%x)",
                a4,
                v26,
                i);
            }
          }
          else
          {
            v27 = GetLastError();
            v9 = v27;
            sub_10016310(
              0,
              dword_10123C30,
              dword_10123C34,
              dword_10123C38,
              dword_10123C3C,
              " Fail For ReadFile (Error : 0x%x",
              v27);
          }
        }
        else
        {
          v27 = GetLastError();
          v9 = v27;
          v8 = lDistanceToMove;
          sub_10016310(
            0,
            dword_10123C30,
            dword_10123C34,
            dword_10123C38,
            dword_10123C3C,
            " Fail For Moving File Pos to (0x%x) (Error : 0x%x)",
            lDistanceToMove,
            v27);
        }
      }
    }
    else
    {
      v27 = GetLastError();
    }
  }
  else
  {
    *a5 = 0;
  }
  return v27;
}
signed int __cdecl sub_10089DEB(char a1)
{
  signed int result; // eax@2
  int v2; // [sp+4h] [bp-35Ch]@6
  struct _WIN32_FIND_DATAA FindFileData; // [sp+8h] [bp-358h]@1
  char v4; // [sp+148h] [bp-218h]@1
  char v5; // [sp+149h] [bp-217h]@1
  __int16 v6; // [sp+249h] [bp-117h]@1
  char v7; // [sp+24Bh] [bp-115h]@1
  char v8; // [sp+24Ch] [bp-114h]@1
  char v9; // [sp+24Dh] [bp-113h]@1
  char v10; // [sp+24Eh] [bp-112h]@1
  char v11; // [sp+24Fh] [bp-111h]@1
  char v12; // [sp+250h] [bp-110h]@3
  char v13; // [sp+251h] [bp-10Fh]@3
  char v14; // [sp+252h] [bp-10Eh]@3
  char v15; // [sp+253h] [bp-10Dh]@3
  char v16; // [sp+254h] [bp-10Ch]@3
  HANDLE hFindFile; // [sp+258h] [bp-108h]@1
  const CHAR FileName; // [sp+25Ch] [bp-104h]@1

  v4 = 0;
  memset(&v5, 0, 0x100u);
  v6 = 0;
  v7 = 0;
  v8 = 37;
  v9 = 115;
  v10 = 42;
  v11 = 0;
  sub_10008850(&FileName, 260, &v8, a1);
  hFindFile = FindFirstFileA(&FileName, &FindFileData);
  if ( hFindFile == (HANDLE)-1 )
  {
    result = 0;
  }
  else
  {
    v12 = 37;
    v13 = 115;
    v14 = 37;
    v15 = 115;
    v16 = 0;
    do
    {
      if ( !(FindFileData.dwFileAttributes & 0x10) )
      {
        v2 = 0;
        sub_10086C60(FindFileData.cFileName, 260, &v2);
        if ( v2 == 16 )
        {
          if ( sub_10089A75(FindFileData.cFileName) )
          {
            sub_10008850(&v4, 260, &v12, a1);
            if ( sub_10089CC3(&v4) )
              DeleteFileA(&v4);
          }
        }
      }
    }
    while ( FindNextFileA(hFindFile, &FindFileData) );
    if ( hFindFile != (HANDLE)-1 )
    {
      FindClose(hFindFile);
      hFindFile = (HANDLE)-1;
    }
    result = 1;
  }
  return result;
}

[ 此帖被小枫工作组在2014-01-06 15:13重新编辑 ]
本帖de评分: 10 条评分 DB +32
DB+1 2014-01-24

牛逼

DB+1 2014-01-07

DB+1 2014-01-06

大米支持。

DB+10 2014-01-06

小枫过非法,名震江湖!可惜小枫已无恋红尘,留下一本秘籍在这里,打通过任督二脉者,看此秘籍可练车绝世武功,造福武林。

DB+3 2014-01-06

只能说!支持-1024

DB+1 2014-01-06

1024

DB+1 2014-01-06

前排出售瓜子

DB+3 2014-01-06

绝对有用

DB+10 2014-01-06

不管懂不懂先收藏起来再说

DB+1 2014-01-06

前排出售妹纸

宇智波占

ZxID:21018123

等级: 少校
勇往直前,说到做到,这就是我的忍道!!!

举报 只看该作者 沙发   发表于: 2014-01-06 0
前排出售妹纸
神歌o丶

ZxID:19592985

等级: 元老
           知人者智,自知者明

举报 只看该作者 板凳   发表于: 2014-01-06 0
回 1楼(宇智波占) 的帖子
楼上妹子咋卖的?
本帖de评分: 1 条评分 DB +1
DB+1 2014-01-06

需要用到银行,你说呢

友情至上

ZxID:18967637

等级: 上将
境由心造、事在人为
举报 只看该作者 地板   发表于: 2014-01-06 0
让会的研究吧!

际遇之神

奖励

捡到版主移动硬盘,要挟成功,得6DB

weizhijie628

ZxID:38911733

等级: 少尉
混吧
举报 只看该作者 4楼  发表于: 2014-01-06 0
啥意思
宇智波占

ZxID:21018123

等级: 少校
勇往直前,说到做到,这就是我的忍道!!!

举报 只看该作者 5楼  发表于: 2014-01-06 0
需要用到银行,你说呢
p5p5p55555

ZxID:6455068

等级: 大校
高端大气上档次 低调奢华有内涵 奔放洋气有深度 简约时尚国际范 地段粗俗甩节操 土鳖娇气无下限 ..
举报 只看该作者 6楼  发表于: 2014-01-06 0
会弄的上吧,
老芋头.

ZxID:23196754

等级: 一代君主

举报 只看该作者 7楼  发表于: 2014-01-06 0
不懂啊
引用
等级: 元帅
愿得妮人心,白首不分离。o_O

举报 只看该作者 8楼  发表于: 2014-01-06 0
前排露个脸。
panghu009

ZxID:21864248

等级: 大元帅
╔━━━━━━━━╗ ┃猴岛基友团丶虎哥┃ ╚━━━━━━━━╝
举报 只看该作者 9楼  发表于: 2014-01-06 0
前排卖瓜子    混个脸熟  
小枫工作组

ZxID:17878826

等级: 上尉
举报 只看该作者 10楼  发表于: 2014-01-06 0
该换头像了。好久没有登录了
清静梵音

ZxID:19432393

等级: 元帅
分享你我他

举报 只看该作者 11楼  发表于: 2014-01-06 0
不管懂不懂先收藏起来再说
本帖de评分: 4 条评分 DB +5
DB+2 2014-01-19

PP大神,靠你了~~~~~

DB+1 2014-01-06

即将有暴风雨来袭,

DB+1 2014-01-06

学无止境精神+1

DB+1 2014-01-06

学无止境精神+1

AOT09

ZxID:6443158

等级: 大元帅
                                                           

举报 只看该作者 12楼  发表于: 2014-01-06 0
你为何这么屌
老图都去哪儿了

宇智波占

ZxID:21018123

等级: 少校
勇往直前,说到做到,这就是我的忍道!!!

举报 只看该作者 13楼  发表于: 2014-01-06 0
学无止境精神+1
小枫工作组

ZxID:17878826

等级: 上尉
举报 只看该作者 14楼  发表于: 2014-01-06 0
等装了虚拟机再发个主程序,研究老久的
晓瞧流水灬

ZxID:32697269

等级: 少校
举报 只看该作者 15楼  发表于: 2014-01-06 0
离大神好近的说
10在14

ZxID:21909298

等级: 准尉
举报 只看该作者 16楼  发表于: 2014-01-06 0
当初报计算机专业好了,后悔啊
赚小客 

ZxID:28605045

等级: 贵宾

举报 只看该作者 17楼  发表于: 2014-01-06 0
都是大神
青衣染血

ZxID:36602741

等级: 中尉
举报 只看该作者 18楼  发表于: 2014-01-06 0
好流弊啊
晨雾梨心

ZxID:22063224

等级: 元老
再见!我亲爱的跑跑卡丁车版块。。。

举报 只看该作者 19楼  发表于: 2014-01-06 0
看不懂啊 看不懂
« 返回列表
发帖 回复