要处理的dump成千上万,每个都用眼睛去看也太累了,不如用耳朵听好了.相信经过一段时间适应,一定可以做到凭听就解决dump分析.(逃

DumpMusican

这个小exe只需要把dump路径作为参数传进去,就会把dump转成一个wav音频,好了,我相信足够的训练集可以帮你以后听声辨位识dump的.



PS:这是神功,一定要刻苦训练,功成之日天下无敌...

如果缺少crt无法运行,可以直接编译:

#include <Windows.h>
#include <cstdio>
#pragma pack(push)
#pragma pack(1)
struct WAVHeader
{
char RIFF[4] = { 'R','I','F','F' };
DWORD FileSize;
char WAVE[4] = { 'W','A','V','E' };
char FMT[4] = { 'f','m','t',' ' };
DWORD BitLenth = 16;
WORD Format = 1;
WORD Channel = 2;
DWORD SampleRate = 44100;
DWORD BandWidth = 176400;
WORD Type = 4;
WORD BitPerSample = 16;
char DatHeader[4] = { 'd','a','t','a' };
DWORD DatSize;
};
#pragma pack(pop) int main(int argc, char *argv[])
{
HANDLE pFile;
DWORD fileSize;
char *buffer, *tmpBuf;
DWORD dwBytesRead, dwBytesToRead; if (argc == 0)
return 1; pFile = CreateFileA(argv[0], GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL); if (pFile == INVALID_HANDLE_VALUE)
{
CloseHandle(pFile);
return FALSE;
} fileSize = GetFileSize(pFile, NULL); WAVHeader WavHader;
WavHader.FileSize = fileSize - 4;
WavHader.DatSize = fileSize - 44; buffer = (char *)malloc(fileSize); memset(buffer, 0, fileSize);
dwBytesToRead = fileSize;
dwBytesRead = 0;
tmpBuf = buffer; do { ReadFile(pFile, tmpBuf, dwBytesToRead, &dwBytesRead, NULL); if (dwBytesRead == 0)
break; dwBytesToRead -= dwBytesRead;
tmpBuf += dwBytesRead; } while (dwBytesToRead > 0); CloseHandle(pFile); {
char *tmpBuf;
DWORD dwBytesWrite, dwBytesToWrite;
char namebufp[256];
sprintf(namebufp, "%s.wav", argv[0]);
pFile = CreateFileA(namebufp, GENERIC_WRITE,
FILE_SHARE_WRITE,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL); if (pFile == INVALID_HANDLE_VALUE)
{ CloseHandle(pFile);
return FALSE;
} dwBytesToWrite = fileSize + sizeof(WAVHeader);
dwBytesWrite = 0; tmpBuf = buffer; BOOL bOK = WriteFile(pFile, &WavHader, sizeof(WAVHeader), &dwBytesWrite, NULL);
bOK = WriteFile(pFile, buffer, fileSize, &dwBytesWrite, NULL); free(buffer);
CloseHandle(pFile);
} return 0;
}

最新文章

  1. 硬件升级win8.1重新安装系统
  2. Problem list
  3. CKplayer功能配置
  4. dalvik虚拟内存管理之二——垃圾收集
  5. UVa 1638 (递推) Pole Arrangement
  6. (转载)关于ArrayList的5道面试题
  7. inet address example(socket)
  8. CentOS下nginx php mysql 环境搭建
  9. 格式化输出&amp;初始编码&amp;运算符
  10. 4.93Python数据类型之(8)集合
  11. 如何把JS对象转成数组
  12. angular2项目关于主页结构分析
  13. steam Depot 生成与应用脚本
  14. CSS 实例之滚动的图片栏
  15. GDCPC 2008:B Reading books
  16. bash if 表达式含义
  17. Hadoop学习:Map/Reduce初探与小Demo实现
  18. ProGuard代码混淆详细攻略
  19. Extracting and composing robust features with denosing autoencoders 论文
  20. 原生js实现ajax的文件异步提交功能、图片预览功能.实例

热门文章

  1. linux开发神器--Tmux
  2. QT210 Android4.0源码编译和烧录文档整理
  3. Puppet Openstack Mitaka Design Summit小结
  4. 制作6寸 kindle pdf
  5. 在Servlet中出现一个输出中文乱码的问题(已经解)。
  6. 线程互斥与析构函数中mutex的销毁
  7. 查看mysql版本的四种方法
  8. 使用Gradle自动发布Java Web到SAE
  9. 使用Fragment应用放置后台很久,被系统回收,出现crash
  10. Android应用中动态更改主题的实现