首页
社区
课程
招聘
[原创]一款勒索病毒的详细分析
发表于: 2017-10-19 15:11 18010

[原创]一款勒索病毒的详细分析

2017-10-19 15:11
18010

加密后会生成对应后缀的文件
*.zip ----- *.XiaoBa1
*.rar ----- *.XiaoBa2
……

线程回调函数0x40F82B设置断点

IDA分析生成Key表函数

IDA分析加密数据函数

因为加密只采用了异或运算,所以加密算法也是解密算法。

文件还原代码

另附上一份自己做的易语言的SIG文件

#include "stdafx.h"
#include <windows.h>


BYTE *__cdecl unknown_libname_467(BYTE *a1, BYTE *a2)
{
    BYTE *result; // eax@1
    char v3; // cl@1

    result = a1;
    v3 = *a1;
    *a1 = *a2;
    *a2 = v3;
    return result;
}
int __cdecl MakeKeyTable(int a1, signed int a2, int a3)
{
    signed int v3; // eax@1
    int v4; // ebp@1
    int result; // eax@3
    int v6; // esi@4
    BYTE *v7; // ebx@4
    bool v8; // zf@5
    signed int v9; // [sp+4h] [bp-8h]@4
    unsigned __int8 v10; // [sp+18h] [bp+Ch]@4

    v3 = 0;
    v4 = a3;
    do
    {
        *(BYTE *)(v3 + a3) = v3;
        ++v3;
    } while (v3 < 256);
    result = a2;
    *(BYTE *)(a3 + 256) = 0;
    *(BYTE *)(a3 + 257) = 0;
    if (a2 > 0)
    {
        v10 = 0;
        v6 = 0;
        v7 = (BYTE *)v4;
        v9 = 256;
        do
        {
            v6 = (unsigned __int8)(*(BYTE *)(v10 + a1) + v6 + *v7);
            unknown_libname_467(v7++, (BYTE *)(v6 + v4));
            result = v9 - 1;
            v8 = v9-- == 1;
            v10 = (v10 + 1) % a2;
        } while (!v8);
    }
    return result;
}

unsigned __int8 __cdecl Decrypt(int a1, int a2, int a3)
{
    int v3; // esi@1
    int v4; // ebx@1
    unsigned __int8 result; // al@1
    unsigned __int8 v6; // cl@1
    unsigned __int8 v7; // di@2
    unsigned __int8 v8; // bp@2
    BYTE *v9; // ST20_4@3
    BYTE *v10; // ST1C_4@3
    unsigned __int8 v11; // [sp+8h] [bp-Ch]@3
    unsigned __int8 v12; // [sp+20h] [bp+Ch]@1
    unsigned __int8 v13; // [sp+20h] [bp+Ch]@3

    v3 = a3;
    v4 = 0;
    result = *(BYTE *)(a3 + 256);
    v6 = *(BYTE *)(a3 + 257);
    v12 = *(BYTE *)(a3 + 256);
    if (a2 <= 0)
    {
        *(BYTE *)(v3 + 256) = result;
        *(BYTE *)(v3 + 257) = v6;
    }
    else
    {
        v7 = v12;
        v8 = v6;
        do
        {
            v13 = v7 + 1;
            v7 = v13;
            v9 = (BYTE *)(v13 + v3);
            v11 = v8 + *v9;
            v8 = v11;
            v10 = (BYTE *)(v3 + v11);
            unknown_libname_467(v9, v10);
            *(BYTE *)(v4++ + a1) ^= *(BYTE *)(((*v9 + *v10) & 0xFF) + v3);
        } while (v4 < a2);
        result = v11;
        *(BYTE *)(v3 + 256) = v13;
        *(BYTE *)(v3 + 257) = v11;
    }
    return result;
}
int main()
{
    //加密文件
    HANDLE hEntyrptFile = CreateFile(L"D:\\1.XiaoBa1", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    DWORD dwFileSize = GetFileSize(hEntyrptFile, NULL);
    PBYTE pFileBuffer = new BYTE[dwFileSize];
    ZeroMemory(pFileBuffer,dwFileSize);
    DWORD dwRead = 0;
    ReadFile(hEntyrptFile, pFileBuffer, dwFileSize, &dwRead, NULL);

    //CPU序列号
    char cpuid[] = "0FABFBFF000306A9";
    //序列号长度
    int length = 0x10;
    BYTE KeyTable[257] = { 0 };
    MakeKeyTable((int)cpuid, length, (int)KeyTable);
    Decrypt((int)pFileBuffer, dwFileSize, (int)KeyTable);

    HANDLE hDecryptFile = CreateFile(L"D:\\1.zip",GENERIC_WRITE|GENERIC_READ,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
    WriteFile(hDecryptFile, pFileBuffer, dwFileSize, &dwRead, NULL);

    CloseHandle(hEntyrptFile);
    CloseHandle(hDecryptFile);
    delete pFileBuffer;
    system("pause");
    return 0;
}
  • 大小:2,132,992 字节
  • MD5:671ec2f2b246113f65a0afd1c53c5c3b
  • 壳:UPX 0.89.6 - 1.02 / 1.05 - 2.90
  • 编写语言:易语言
  • 开机自启
  • 修改浏览器信息
  • 禁用UAC
  • 进程检测
  • 加密文件
  • 发送数据到指定邮箱
  • 采用UPX加壳,通过ESP定律脱壳
  • 脱壳后: 从入口特征判断为VC++6.0编译[易语言]
  • 程序插入了大量花指令
  • 用OD插件E Junk Code 轻松去除
  • 去除花指令后
  • 从病毒的行为判断所调用的API,在所调用的API下断点,然后通过栈回溯找到关键函数。
  • 程序所用到的API:
    病毒运行后会隐藏自身文件(SetFileAttributes)
    修改注册表信息(RegOpenKey、RegSetValue)
    遍历文件(FindFirstFile)等等
  • SetFileAttributes设置断点,然后查看调用堆栈,回溯到关键函数
  • 函数功能:设置程序开机启动、隐藏程序文件、修改浏览器信息、禁用UAC、生成解密KEY(30位随机值)、创建加密线程.


  • 加密所有文件后,会在Temp目录下生成Victim.tmp文件,程序运行后会判断Temp目录下是否有Victim.tmp文件,没有则创建加密线程,如果已经存在Victim.tmp文件,则直接加载勒索窗口.
  • 创建线程后,程序执行消息循环,然后系统会调用线程回调函数
  • 函数功能:遍历全盘文件,加密指定后缀文件
    *.zip.*.rar.*.7z.*.txt.*.doc.*.pptx.*.wps.*.jpg.*.jpeg.*.gif.*.bmp.*.png.*.swf.*.wav.*.mp3.*.mp4.*.avi.*.rmvb.*.xis.*.htm.*.html.*.e.*.ec.*.bak.*.docx.*.ico.*.rtf.*.xlsx.*.c.*.h.*.cpp.*.php.*.pps.*.pdf.*.fla.*.asm.*.dot.
  • 加密后会生成对应后缀的文件
    *.zip ----- *.XiaoBa1
    *.rar ----- *.XiaoBa2
    ……

  • 线程回调函数0x40F82B设置断点

  • 进入线程主函数0x4065D8


  • 加密完成后
  • 函数功能:把用户的IP、CPU信息、屏幕截图、系统信息、解密信息发送到指定邮箱
  • InternetOpen设置断点,通过回溯找到关键函数




  • 发送的数据格式
  • 函数功能:程序加载时,会创建一个定时器,每隔一秒调用一次进程检测的函数,通过CreateToolHelp32Snapshot创建进程快照的方式遍历进程,检测到指定进程后,会尝试结束进程。
  • SetTimer设置断点
  • Timerproc为NULL,说明调用的是系统默认的回调函数OnTimer(),DispatchMessage设置条件断点[[esp+4]+4](esp+4 是MSG对象的地址 [esp+4]+4是消息类型)
    WM_TIMER == 0x113
  • 断下时的堆栈如下:
  • 然后在代码段设置访问中断
  • F9运行,直接到窗口回调函数
  • 进入窗口回调继续分析,注意堆栈数据,
  • 跟进0x4AEDED
  • 跟进0x4AEE31
  • 继续跟踪分析onTimer,最终调用进程检测函数
  • 函数检测的进程列表:
    taskmgr.exe
    OllyDbg.exe
    吾爱破解[LCG].exe
    MSASCuiL.exe
    RAVmon.exe
    RAVtimer.exe
    rav.exe
    360Tray.exe
    360Safe.exe
    ZhuDongFangYu.exe
    360sd.exe
    KSafeSvc.exe
    KSafeTray.exe
    kxetray.exe
    kxescore.exe
    QQPCTray.exe
    QQPCRTP.exe
    BaiduSdSvc.exe
    BaiduSdTray.exe
    BaiduAnTray.exe
    BaiduAnSvc.exe
    avp.exe
    egui.exe
    ekrn.exe
    MsMpEng.exe
    msseces.exe
  • 用CPU序列号生成一个大小为0xFF的Key表
  • 通过计算得到一个Key表索引,取Key值异或数据
  • IDA分析生成Key表函数

  • IDA分析加密数据函数

  • 因为加密只采用了异或运算,所以加密算法也是解密算法。

  • 文件还原代码

  • 大小:2,132,992 字节
  • MD5:671ec2f2b246113f65a0afd1c53c5c3b
  • 壳:UPX 0.89.6 - 1.02 / 1.05 - 2.90
  • 编写语言:易语言
  • 开机自启
  • 修改浏览器信息
  • 禁用UAC
  • 进程检测
  • 加密文件
  • 发送数据到指定邮箱
  • 采用UPX加壳,通过ESP定律脱壳
  • 脱壳后: 从入口特征判断为VC++6.0编译[易语言]
  • 程序插入了大量花指令
  • 用OD插件E Junk Code 轻松去除

  • [注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

    上传的附件:
    收藏
    免费 1
    支持
    分享
    最新回复 (17)
    雪    币: 1176
    活跃值: (1264)
    能力值: ( LV12,RANK:380 )
    在线值:
    发帖
    回帖
    粉丝
    2
    不错  不错    居然直接用F5的代码也能对   
    ---

    这是我根据你的F5代码简单修改了下 没测试 你可以参考参考  龚老师说请我吃黄焖鸡米饭的 你帮我问问他什么时候请

    void exchange(char*kt1 ,char*kt2){
        char key =*kt1;
        *kt1 =*kt2;
        *kt2 = key;
    }
    void MakeKeyTable(char* cpuid ,int len ,char* KeyTable){
        for(int i =0; i<0x100; i++){
            KeyTable[i] = i;
        }
        KeyTable[0x100] =0;
        KeyTable[0x101] =0;
        if(len >0){
            for(int i =0, j =0, k =0; i <0x100; i++){
                j += KeyTable[i] + cpuid[k];
                exchange(&KeyTable[i] ,&KeyTable[j]);
                k =(k +1)% len;
            }
        }
    }
    void Decrypt(char*pFileBuffer ,int size ,char*KeyTable){
        char keyA = KeyTable[0x100] , keyB = KeyTable[0x101];
        for(int i =0; i < size; i++){
            keyB += KeyTable[++keyA];
            exchange(&KeyTable[keyA] ,&KeyTable[keyB]);
            pFileBuffer[i] ^= KeyTable[((KeyTable[keyA] + KeyTable[keyB])&0xff)];
        }
        KeyTable[0x100] = keyA;
        KeyTable[0x101] = keyB;
    }
    
    
    





    2017-10-19 15:31
    0
    雪    币: 1036
    活跃值: (1311)
    能力值: ( LV3,RANK:35 )
    在线值:
    发帖
    回帖
    粉丝
    3
    易语言的本身整数运算只有浮点数,  其他的都是调用库的,看看是哪个库的算法就行了.
                        /**********************************************************************/
                        /*                                                        ->开始分析<-                                                        */                  分析地址:0x400000  内存大小:0x8FD000
                        /**********************************************************************/
                                40106F  ->  文本相加
                                410B92  ->  字节集相加
                                401D9E  ->  文本比较
                                410AE6  ->  字节集比较
                                440EB0  ->  设置窗口组件内容
                                440E90  ->  获取窗口组件内容
                                440FE0  ->  内存申请
                                4410E0  ->  内存释放
                                440B40  ->  核心库命令调用
                                440B00  ->  三方库命令调用
                                440AC0  ->  数据表初始化
                                440FC0  ->  结束
                                440AF0  ->  Api调用
                                441020  ->  内存分配
                                440E70  ->  运行出错回调
                                403089  ->  整数运算结果
                                4010D3  ->  取数组成员
                                4010EC  ->  取数组成员内容
                        /*====================================================================*/
                        /*=====支持库调用命令分析=============================================*/
                        /*====================================================================*/
                        ----系统核心支持库  (d09f2340818511d396f6aaf844c7e325)
    00426640            -->  426640  (取运行目录)
    00426660            -->  426660  (取执行文件名)
    00428370            -->  428370  (取拼音)
    00428600            -->  428600  (销毁)
    00428440            -->  428440  (未知命令  该命令可能是更高版本易语言生成)
    00427B30            -->  427B30  (置文件属性)
    00427B10            -->  427B10  (删除目录)
    00427BC0            -->  427BC0  (写到文件)
    00426590            -->  426590  (载入)
    00426E60            -->  426E60  (子文本替换)
    00427990            -->  427990  (到文本)
    00426B00            -->  426B00  (取声母)
    004285A0            -->  4285A0  (取启动时间)
    004267D0            -->  4267D0  (字符)
    00426960            -->  426960  (取拼音)
    004285F0            -->  4285F0  (处理事件)
    00427290            -->  427290  (取空白文本)
    00427AA0            -->  427AA0  (取十六进制文本)
    00426600            -->  426600  (取文本长度)
    004272E0            -->  4272E0  (取重复文本)
    00426360            -->  426360  (求余数)
    004276C0            -->  4276C0  (取空白字节集)
    00427550            -->  427550  (取字节集左边)
    00427710            -->  427710  (分割字节集)
    004266E0            -->  4266E0  (取文本左边)
    00427B50            -->  427B50  (读入文件)
    00426720            -->  426720  (取文本右边)
    00426620            -->  426620  (取字节集长度)
    00428970            -->  428970  (写到内存)
    00428950            -->  428950  (指针到字节集)
    004273D0            -->  4273D0  (取字节集数据)
    00426E20            -->  426E20  (取韵母)
    00426B20            -->  426B20  (到整数)
    00427050            -->  427050  (分割文本)
    00426980            -->  426980  (取声母)
    00427AF0            -->  427AF0  (文件更名)
    00428780            -->  428780  (快照)
    00427AD0            -->  427AD0  (改变目录)
    004276A0            -->  4276A0  (取拼音)
    00426450            -->  426450  (位或)
    004271E0            -->  4271E0  (到字节集)
    00426770            -->  426770  (取文本中间)
    00426E40            -->  426E40  (到半角)
    00426430            -->  426430  (位与)
    00428350            -->  428350  (打开文件)
    004285B0            -->  4285B0  (停止播放)
    00428390            -->  428390  (删除注册项)
    00426470            -->  426470  (运行)
                        ----数据操作支持库一  (4BB4003860154917BC7D8230BF4FA58A)
    00485AD0            -->  485AD0  (加密数据)
    00485AF0            -->  485AF0  (解密数据)
                        ----多线程支持库  (5F99C1642A2F4e03850721B4F5D7C3F8)
    00487D80            -->  487D80  (启动线程)
                        ----应用接口支持库  (F7FC1AE45C5C4758AF03EF19F18A395D)
    00487ED0            -->  487ED0  (终止进程)
                        ----扩展界面支持库一  (27bb20fdd3e145e4bee3db39ddd6e64c)
                        ----互联网支持库  (707ca37322474f6ca841f0e224f4b620)
    0048AAB0            -->  48AAB0  (连接发信服务器)
    0048AB20            -->  48AB20  (添加附件文件)
    0048AB40            -->  48AB40  (发送邮件)
                        ----操作系统界面功能支持库  (52F260023059454187AF826A3C07AF2A)
    0048E860            -->  48E860  (取特定目录)
                        ----扩展界面支持库二  (AF6AD80AA4244A59AFB3D83ECF5173CC)
                            !!未找到EMap特征库文件
                        ----特殊功能支持库  (A512548E76954B6E92C21055517615B0)
    00499F50            -->  499F50  (延迟)
                        /*====================================================================*/
                        /*======Api命令分析===================================================*/
                        /*====================================================================*/
                            库:-->  NULL      Api:->  OpenEventA
    00401FE3            Api调用地址:401FE3
                            库:-->  Kernel32.dll      Api:->  CreateEventA
    00402165            Api调用地址:402165
                            库:-->  NULL      Api:->  CreateToolhelp32Snapshot
    004022FD            Api调用地址:4022FD
    0041873D            Api调用地址:41873D
                            库:-->  NULL      Api:->  Process32First
    00402412            Api调用地址:402412
    00418858            Api调用地址:418858
                            库:-->  kernel32      Api:->  CloseHandle
    004025B0            Api调用地址:4025B0
    004028CA            Api调用地址:4028CA
    00402AA7            Api调用地址:402AA7
    004036C2            Api调用地址:4036C2
    0040398C            Api调用地址:40398C
    004189F6            Api调用地址:4189F6
    00418D28            Api调用地址:418D28
    00418F02            Api调用地址:418F02
                            库:-->  NULL      Api:->  Process32Next
    0040268C            Api调用地址:40268C
    004029A5            Api调用地址:4029A5
    00418AD9            Api调用地址:418AD9
    00418DFA            Api调用地址:418DFA
                            库:-->  user32      Api:->  FindWindowExA
    00402CA6            Api调用地址:402CA6
                            库:-->  user32      Api:->  IsWindow
    00402D0D            Api调用地址:402D0D
                            库:-->  NULL      Api:->  IsWindowVisible
    00402D55            Api调用地址:402D55
                            库:-->  user32.dll      Api:->  GetWindowThreadProcessId
    00403053            Api调用地址:403053
                            库:-->  user32      Api:->  GetWindowTextLengthA
    004030D6            Api调用地址:4030D6
                            库:-->  NULL      Api:->  GetWindowTextA
    004031A0            Api调用地址:4031A0
                            库:-->  user32.dll      Api:->  GetClassNameA
    00403290            Api调用地址:403290
                            库:-->  user32.dll      Api:->  ShowWindow
    0040331A            Api调用地址:40331A
                            库:-->  user32.dll      Api:->  SetForegroundWindow
    0040334D            Api调用地址:40334D
                            库:-->  user32.dll      Api:->  SetWindowPos
    004033C6            Api调用地址:4033C6
    00403429            Api调用地址:403429
                            库:-->  kernel32.dll      Api:->  GetCurrentProcess
    00403592            Api调用地址:403592
                            库:-->  NULL      Api:->  OpenProcess
    004035DB            Api调用地址:4035DB
    004037D1            Api调用地址:4037D1
                            库:-->  kernel32      Api:->  SetPriorityClass
    00403683            Api调用地址:403683
                            库:-->  kernel32.dll      Api:->  GetCurrentProcessId
    00403779            Api调用地址:403779
                            库:-->  advapi32.dll      Api:->  OpenProcessToken
    00403828            Api调用地址:403828
                            库:-->  advapi32.dll      Api:->  LookupPrivilegeValueA
    00403864            Api调用地址:403864
                            库:-->  advapi32.dll      Api:->  AdjustTokenPrivileges
    00403944            Api调用地址:403944
                            库:-->  kernel32      Api:->  GetLogicalDriveStringsA
    0040456A            Api调用地址:40456A
                            库:-->  NULL      Api:->  SystemParametersInfoA
    00404ADD            Api调用地址:404ADD
                            库:-->  NULL      Api:->  SHGetSpecialFolderPathA
    00404CEB            Api调用地址:404CEB
    00404EC6            Api调用地址:404EC6
                            库:-->  kernel32.dll      Api:->  GetWindowsDirectoryA
    00404D4E            Api调用地址:404D4E
                            库:-->  kernel32      Api:->  GetSystemDirectoryA
    00404DC2            Api调用地址:404DC2
                            库:-->  kernel32.dll      Api:->  GetTempPathA
    00404E37            Api调用地址:404E37
                            库:-->  gdiplus.dll      Api:->  GdiplusStartup
    004051CC            Api调用地址:4051CC
                            库:-->  kernel32      Api:->  GlobalAlloc
    0040548F            Api调用地址:40548F
                            库:-->  Ole32.dll      Api:->  CreateStreamOnHGlobal
    004054E0            Api调用地址:4054E0
    0040583C            Api调用地址:40583C
                            库:-->  kernel32      Api:->  GlobalLock
    0040550B            Api调用地址:40550B
    00405B08            Api调用地址:405B08
                            库:-->  kernel32      Api:->  GlobalUnlock
    004055D4            Api调用地址:4055D4
    00405F70            Api调用地址:405F70
                            库:-->  kernel32.dll      Api:->  lstrcpyn
    00405621            Api调用地址:405621
    00405881            Api调用地址:405881
                            库:-->  gdiplus.dll      Api:->  GdipCreateBitmapFromStream
    00405763            Api调用地址:405763
                            库:-->  gdiplus.dll      Api:->  GdipCreateHBITMAPFromBitmap
    004057B8            Api调用地址:4057B8
                            库:-->  gdiplus.dll      Api:->  GdipCreateBitmapFromHBITMAP
    004057FD            Api调用地址:4057FD
                            库:-->  gdiplus.dll      Api:->  GdipSaveImageToStream
    00405A32            Api调用地址:405A32
                            库:-->  ole32.dll      Api:->  GetHGlobalFromStream
    00405ADB            Api调用地址:405ADB
                            库:-->  NULL      Api:->  GlobalSize
    00405B47            Api调用地址:405B47
                            库:-->  NULL      Api:->  RtlMoveMemory
    00405C0A            Api调用地址:405C0A
                            库:-->  NULL      Api:->  GlobalFree
    00405FA4            Api调用地址:405FA4
    00405FFE            Api调用地址:405FFE
                            库:-->  gdiplus.dll      Api:->  GdipDisposeImage
    00405FD1            Api调用地址:405FD1
                            库:-->  gdiplus.dll      Api:->  GdiplusShutdown
    0040602B            Api调用地址:40602B
                            库:-->  ole32      Api:->  CLSIDFromString
    004061AE            Api调用地址:4061AE
                            库:-->  NULL      Api:->  MultiByteToWideChar
    00406359            Api调用地址:406359
    00406456            Api调用地址:406456
                            库:-->  kernel32.dll      Api:->  lstrcpyn
    00408E01            Api调用地址:408E01
                            库:-->  wininet.dll      Api:->  InternetCheckConnectionA
    004108E7            Api调用地址:4108E7
                            库:-->  wininet.dll      Api:->  InternetOpenA
    0041113B            Api调用地址:41113B
    004111D4            Api调用地址:4111D4
    00411260            Api调用地址:411260
                            库:-->  wininet.dll      Api:->  InternetCloseHandle
    004112D1            Api调用地址:4112D1
    00411482            Api调用地址:411482
    004114AE            Api调用地址:4114AE
    004117F3            Api调用地址:4117F3
    00411820            Api调用地址:411820
    0041184D            Api调用地址:41184D
    0041223F            Api调用地址:41223F
    0041226C            Api调用地址:41226C
    00412298            Api调用地址:412298
                            库:-->  wininet.dll      Api:->  InternetConnectA
    00411401            Api调用地址:411401
                            库:-->  wininet.dll      Api:->  HttpOpenRequestA
    0041176B            Api调用地址:41176B
                            库:-->  wininet.dll      Api:->  HttpSendRequestA
    00411DEF            Api调用地址:411DEF
                            库:-->  wininet.dll      Api:->  HttpSendRequestA
    00411F6C            Api调用地址:411F6C
                            库:-->  wininet.dll      Api:->  InternetReadFile
    00412017            Api调用地址:412017
                            库:-->  wininet.dll      Api:->  HttpQueryInfoA
    00412176            Api调用地址:412176
                            库:-->  kernel32      Api:->  GetVersionExA
    00415C05            Api调用地址:415C05
                            库:-->  kernel32      Api:->  GetSystemInfo
    00415CFC            Api调用地址:415CFC
                            库:-->  kernel32.dll      Api:->  IsWow64Process
    00415D38            Api调用地址:415D38
                            库:-->  ntdll      Api:->  RtlGetNtVersionNumbers
    00415D8A            Api调用地址:415D8A
                            库:-->  User32.dll      Api:->  GetSystemMetrics
    00416582            Api调用地址:416582
                            库:-->  ntdll.dll      Api:->  RtlGetProductInfo
    004168CA            Api调用地址:4168CA
                            库:-->  advapi32.dll      Api:->  GetUserNameA
    0041787C            Api调用地址:41787C
                        /**********************************************************************/
                        /*                                                      ->结束分析<-                                                          */
                        /**********************************************************************/
                        Bug反馈:79884260  @qq.com
                        VERSION  :  E-Debug  2.0
                        Log  file  closed

    根据分析得出是  调用了  加密数据命令,然后去看下声明!
    调用格式:  〈字节集〉  加密数据  (字节集  字节集数据,文本型  密码文本,[整数型  加密算法])  -  数据操作支持库一->数据加解密
            英文名称:Encrypt
            加密一段字节集数据,返回加密后的结果字节集。如果失败,返回空字节集。本命令为初级命令。
            参数<1>的名称为“字节集数据”,类型为“字节集(bin)”。为命令提供所需的字节集数据。
            参数<2>的名称为“密码文本”,类型为“文本型(text)”。
            参数<3>的名称为“加密算法”,类型为“整数型(int)”,可以被省略。指定具体使用的加密算法,可以为以下常量值之一:1:  #DES算法;  2:  #RC4算法。加密和解密必须使用相同的算法,有关算法的具体说明请参阅有关文献。如果本参数被省略,则默认值为1,即DES算法。

    2017-10-19 16:36
    0
    雪    币: 545
    活跃值: (167)
    能力值: ( LV9,RANK:140 )
    在线值:
    发帖
    回帖
    粉丝
    4
    写的不错,支持下
    2017-10-20 09:08
    0
    雪    币: 7
    活跃值: (10)
    能力值: ( LV3,RANK:30 )
    在线值:
    发帖
    回帖
    粉丝
    5
    膜拜
    2017-10-25 10:10
    0
    雪    币:
    活跃值: (24)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    6
    您好,我是XiaoBa勒索病毒的开发者,现在变种有很多,如果要获取最新资讯,您可以联系QQ:*************
    2017-11-1 01:08
    0
    雪    币: 2
    活跃值: (10)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    7
    作者是个小孩,还挺有意思的。希望不要误入歧途
    2017-11-1 05:50
    0
    雪    币: 102
    活跃值: (50)
    能力值: ( LV3,RANK:20 )
    在线值:
    发帖
    回帖
    粉丝
    8
    我也觉得作者是个小孩,据说收了不少钱,希望走上正途
    2017-11-7 21:38
    0
    雪    币: 12848
    活跃值: (9147)
    能力值: ( LV9,RANK:280 )
    在线值:
    发帖
    回帖
    粉丝
    9
    还以为是什么高级大手子呢,都被挂城墙了
    https://bbs.ichunqiu.com/thread-28884-1-1.html
    2017-11-8 09:00
    0
    雪    币: 44
    活跃值: (10)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    10
    小把 您好,我是XiaoBa勒索病毒的开发者,现在变种有很多,如果要获取最新资讯,您可以联系QQ:3047861776 电子邮件:B32588601@163.com
    明文,弱壳,低级反调试,多在看雪学学吧
    2017-11-21 00:17
    0
    雪    币: 300
    活跃值: (2477)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    11
    mark
    2017-11-21 08:33
    0
    雪    币: 17
    活跃值: (10)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    12
    私我你是咱班的谁
    2017-11-28 09:04
    0
    雪    币: 5859
    活跃值: (748)
    能力值: ( LV8,RANK:130 )
    在线值:
    发帖
    回帖
    粉丝
    13
    孩子,有点能力挺好的,不过知识都被你用在歧途和装逼上了,希望走上正轨
    2017-11-28 14:53
    0
    雪    币: 104
    活跃值: (26)
    能力值: ( LV4,RANK:50 )
    在线值:
    发帖
    回帖
    粉丝
    14
    StriveXjun 易语言的本身整数运算只有浮点数, 其他的都是调用库的,看看是哪个库的算法就行了. /*********************************************** ...
    请问这个EDebug使用的是什么版本?
    2018-6-29 17:32
    0
    雪    币: 1270
    活跃值: (109)
    能力值: ( LV5,RANK:60 )
    在线值:
    发帖
    回帖
    粉丝
    15
    想勒索,希望在局子里思考一下人生。
    2019-3-16 19:17
    0
    雪    币:
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    17
    楼主可否借一步讲话?
    2019-12-26 01:13
    0
    雪    币:
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    18
    楼主可否帮忙分析个勒索病毒样本,学艺不精分析不出来的,谢谢。
    2019-12-28 09:14
    0
    游客
    登录 | 注册 方可回帖
    返回
    //