SanDisk U盘加密软件 在其他u盘使用

news/2025/1/16 7:57:17/

RunSanDiskSecureAccess_Win.exe 这个软件是SanDisk U盘加密工具,它被设计为只在SanDisk U盘上运行,如果不是sandisk的,就弹窗不让用



于是我们Patch它,IDA打开 发现还是QT开发的,不管,搜索exit 函数调用,全部挂断点,然后运行,弹窗 在OK后exit命中,向上找到提示信息


   _InterlockedExchangeAdd(v465, 1u);
  if ( !TestSandiskDrv(v449) )
  {
    v449 = (void **)-1;
    v252 = (void *)sub_10B2480(&v459, "This application only runs on a SanDisk flash drive", 0, -1);
    LOBYTE(v469) = 91;
    v253 = sub_10B1000(" V3.0");
    LOBYTE(v469) = 92;
    v254 = sub_10B1000("SanDisk SecureAccess");
    LOWORD(v453) = 8482;
    LOBYTE(v469) = 93;
    v255 = sub_10B22D0(&v456, v254, v453);
    LOBYTE(v469) = 94;
    v256 = (void *)sub_10B2250(&a2, v255, v253);
    v453 = (int)&v448;
    LOBYTE(v469) = 95;
    sub_11D7F00((int)v2, v256, v252, 1024, 0);
    v257 = a2;
    v258 = *(_DWORD *)a2;
    LOBYTE(v469) = 94;
    if ( v258 )
    {
      if ( v258 == -1 || _InterlockedExchangeAdd((volatile signed __int32 *)a2, 0xFFFFFFFF) )
      {
LABEL_353:
        v259 = v456;
        v260 = *(_DWORD *)v456;
        LOBYTE(v469) = 93;
        if ( v260 )
        {
          if ( v260 == -1 || _InterlockedExchangeAdd((volatile signed __int32 *)v456, 0xFFFFFFFF) )
          {
LABEL_358:
            v261 = v457;
            v262 = *(_DWORD *)v457;
            LOBYTE(v469) = 92;
            if ( v262 )
            {
              if ( v262 == -1 || _InterlockedExchangeAdd((volatile signed __int32 *)v457, 0xFFFFFFFF) )
              {
LABEL_363:
                v263 = v458;
                v264 = *(_DWORD *)v458;
                LOBYTE(v469) = 91;
                if ( v264 )
                {
                  if ( v264 == -1 || _InterlockedExchangeAdd((volatile signed __int32 *)v458, 0xFFFFFFFF) )
                  {
LABEL_368:
                    v265 = v459;
                    v266 = *(_DWORD *)v459;
                    LOBYTE(v469) = 89;
                    if ( v266 )
                    {
                      if ( v266 == -1 || _InterlockedExchangeAdd((volatile signed __int32 *)v459, 0xFFFFFFFF) )
LABEL_373:
                        exit(0);



剩下的就是把TestSandiskDrv Patch掉,进去看看


 v42 = v6;
  if ( v7 || v5 == v44 )
  {
    v27 = v41;
    v28 = *((_DWORD *)v41 + 2);
    LOBYTE(v45) = 0;
    if ( !v28 || v28 != -1 && !_InterlockedExchangeAdd((volatile signed __int32 *)v41 + 2, 0xFFFFFFFF) )
      sub_18292E0(v27, (int)sub_116B1B0);
    v29 = sub_11443A0(&v40, 4, (int)"..\\shared\\encstickmanager.cpp", 199, (int)"ENCStickManager::isSandiskFlashDrive");
    LOBYTE(v45) = 5;
    v30 = sub_10B8430(&v39, "isSandiskFlashDrive failed for", -1);
    v31 = *v29;
    LOBYTE(v45) = 6;
    sub_17D54E0(v31, v30);
    v32 = v39;
    v33 = *(_DWORD *)v39;
    LOBYTE(v45) = 5;
    if ( v33 )
    {
      if ( v33 == -1 || _InterlockedExchangeAdd((volatile signed __int32 *)v39, 0xFFFFFFFF) )
      {
LABEL_53:
        if ( *(_BYTE *)(*v29 + 20) )
          sub_17D53F0((void *)0x20);
        v34 = *v29;
        v35 = sub_17D53F0((void *)0x22);
        sub_17D54E0(v35, &a1);
        sub_17D53F0((void *)0x22);
        if ( *(_BYTE *)(*v29 + 20) )
          sub_17D53F0((void *)0x20);
        LOBYTE(v45) = 0;
        sub_10BA600(&v40);
        v36 = a1;
        v37 = *(_DWORD *)a1;
        v45 = -1;
        if ( v37 )
        {
          if ( v37 == -1 || _InterlockedExchangeAdd((volatile signed __int32 *)a1, 0xFFFFFFFF) )
            return 0;
          v36 = a1;
        }
        sub_17C1990(v36);
        return 0;
      }
      v32 = v39;


return 0 设上断点,断过去,


ext:012FA063 xor    al, al   ,改成mov al,1 就行了
.text:012FA065 mov     ecx, [esp+3Ch+var_C]
.text:012FA069 mov     large fs:0, ecx
.text:012FA070 pop     ecx
.text:012FA071 pop     edi
.text:012FA072 pop     esi
.text:012FA073 pop     ebp
.text:012FA074 pop     ebx
.text:012FA075 add     esp, 28h
.text:012FA078 retn



http://www.ppmy.cn/news/472220.html

相关文章

【PC工具】U盘数据加密工具,windows自带U盘文件加密工具体验,测试加密时间...

微信关注 “DLGG创客DIY” 设为“星标”,重磅干货,第一时间送达。 最近U盘使用比较多,经常把重要文件备份和个人信息数据存储在U盘上。感觉不太安全,万一U盘丢了,丢个U盘是小事,文件备份和个人信息只是备份…

一款免费的Veracrypt加密软件---U盘加密功能

VeraCrypt是什么? 在工作生活上各种文件数据、资料越来越重要的今天,数据泄露(譬如电脑失窃、黑客攻击等)不仅仅是隐私上的问题,很多时候还会造成财产和其他不可预估的损失。因此我们除了要经常「备份文件」防止丢失之…

matplotlib---中文显示问题、字体库、图像结构、画布设置

1. 中文显示问题 解决方案一: 下载中文字体(黑体,看准系统版本) 步骤一:下载 SimHei 字体(或者其他的支持中文显示的字体也行) 步骤二:安装字体 linux下:拷贝字体到 usr…

基于springboot的文件的上传到本地和云上传(阿里云)

1.文件上传 1.介绍 文件上传,是指将本地图片、视频、音频等文件上传到服务器,供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发微博、发微信朋友圈都用到了文件上传功能。 2.前端的文件上传–form表单 将静态的页面…

CVTE面经

一、八股(能想起的就这些) jvm垃圾回收器有哪些?你项目中用那种?ArrayList和LinkedList区别,ArrayList线程安全嘛,那些方式可以使其安全,或者有哪些替代方式(vector和copyOnWriteLi…

软件测试面试一周时间面了6家公司,最终收割3个Offer

上个月花了一周时间面了6家公司,最终收割3个Offer。通过这6次面试,得到的最宝贵的经验是:快刀斩乱麻。展开说就是:给自己一点点压力,在短时间内迅速面试、迅速反馈、迅速提高,然后迅速进入下一场面试。 以…

冷藏温度范围_冷藏车一般温度范围是多少

展开全部 看是储运什么物品,如:一般海鲜类的要求在速冻后62616964757a686964616fe4b893e5b19e31333433656133-18度以下储运为合格,如果是新鲜蔬菜水果等就要在小于4度大于0度的范围,要求是不一样。 但是作为一辆冷藏车来说就要有很…

android手机电池温度,安卓手机电池温度查看方法图文教程

智能手机性能如今越来越强,功耗也相对较高,长时间用手机玩游戏,经常也能感受到机身比较烫。本文主要分享一个安卓手机小技巧,教大家如何查看安卓手机电池温度,让大家更加安全的使用手机。 安卓手机怎么看电池温度?目前…