吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7851|回复: 10
收起左侧

[其他原创] 区段更名工具(SectionFucker)-SDK写的

  [复制链接]
yangjt 发表于 2010-2-19 09:06
本帖最后由 yangjt 于 2010-2-19 09:07 编辑

嗯……看到z叔写的东西突然想到了我这个,U盘坏了,从U盘恢复的那砣没文件名的垃圾里找出来的。
我想这些代码对初学SDK的同学一定有很大帮助,写文件用的是文件映射,这样便于大文件的操作。考虑到代码和z叔的有很大不同,还是放出来了……
1.jpg 2.jpg 这个是运行效果图,使用方法为填写好区段名把程序拽上去即可……
BOOL CALLBACK DialogProc(HWND hDlg, UINT message,WPARAM wParam, LPARAM lParam)
{
char strPath[MAX_PATH] ={NULL}; 
switch(message)
{
case WM_INITDIALOG:
  SendMessage(hDlg,WM_SETICON,1,(LONG)LoadIcon(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI_MAIN)));
  SetDlgItemText(hDlg,IDC_Info," Ready.");
  break;
case WM_DROPFILES:
  DragQueryFile((HDROP)wParam,0,strPath,MAX_PATH);
  DragFinish((HDROP)wParam);
  HANDLE hFile;
  hFile= CreateFile(strPath,GENERIC_READ|GENERIC_WRITE,
   0,0,OPEN_EXISTING,
  FILE_ATTRIBUTE_NORMAL,0);
  if (hFile == INVALID_HANDLE_VALUE)
  {
   MessageBox(NULL,"打开文件错误!","错误",MB_ICONERROR);
   return false;
  }
  HANDLE hFileMap;
  LPVOID lpFile;
  PIMAGE_DOS_HEADER pDH;
  PIMAGE_NT_HEADERS pNtH;
  pNtH=NULL;
  pDH=NULL;
  lpFile=hFileMap=NULL;
  hFileMap= CreateFileMapping(hFile,NULL,PAGE_READWRITE,0,0,NULL);
  lpFile= MapViewOfFile(hFileMap,FILE_MAP_ALL_ACCESS,NULL,NULL,0x200);
  if (!lpFile)
  {
   return false;
  }
  pDH = (PIMAGE_DOS_HEADER)lpFile;
  if (pDH->e_magic!=IMAGE_DOS_SIGNATURE)
  {
   return false;
  }
  pNtH = (PIMAGE_NT_HEADERS32)((DWORD)pDH+pDH->e_lfanew);
  if (pNtH->Signature!=IMAGE_NT_SIGNATURE)
  {
   return false;
  }
  int iSection;
  iSection= pNtH->FileHeader.NumberOfSections;
  char SectionName[9];
  GetDlgItemText(hDlg,IDC_EDIT1,SectionName,8);
  PIMAGE_SECTION_HEADER pSH;
  pSH= IMAGE_FIRST_SECTION(pNtH);
  int i;
  for (i=0;i<iSection;i++)
  {
   memcpy(pSH,SectionName,8);
   pSH++;
  }
  UnmapViewOfFile(lpFile);
  CloseHandle(hFileMap);
  CloseHandle(hFile);
  SetDlgItemText(hDlg,IDC_Info," Job Done!");
  case WM_COMMAND:
//   itoa(wParam,strPath,10);
//   MessageBox(NULL,strPath,"",NULL);
  switch(LOWORD(wParam))
  {
  case IDExit:
  case WM_DESTROY:
   EndDialog(hDlg,0);
   return true;
  }
}
return false;
}
上为核心代码

Section Fucker.rar

10 KB, 下载次数: 40, 下载积分: 吾爱币 -1 CB

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

坏小子 发表于 2010-2-19 10:06
收下了
谢谢楼主
哈哈
Alar30 发表于 2010-2-19 15:40
ps520 发表于 2010-2-20 01:27
ithurricane 发表于 2010-2-21 09:46
收下了,学习中~~~
亚尔迪 发表于 2010-2-21 11:32
不错,支持学习
过客 发表于 2010-6-17 01:08
学习学习。。。谢谢了。
nsso 发表于 2010-7-7 16:14
好东西...才看到...收下了 ...
angsou168 发表于 2010-7-8 07:34
支持了!!!我也在学习呢
love5599 发表于 2010-8-3 12:44
好东西。要下载也要继续支持楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 23:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表