91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-17
  • 語(yǔ)言: 其他
  • 標(biāo)簽: img??

資源簡(jiǎn)介

ubuntu下的unyaffs工具,unyaffs.c 和unyaffs.h 兩個(gè)文件打包zip。用gcc -o unyaffs unyaffs.c編譯,產(chǎn)生可執(zhí)行的unyaffs命令。

資源截圖

代碼片段和文件信息

/*
?*?unyaffs:?extract?files?from?yaffs2?file?system?image?to?current?directory
?*
?*?Created?by?Kai?Wei?
?*?This?program?is?free?software;?you?can?redistribute?it?and/or?modify
?*?it?under?the?terms?of?the?GNU?General?Public?License?version?2?as
?*?published?by?the?Free?Software?Foundation.
?*/

#include?
#include?
#include?
#include?
#include?
#include?
#include?

#include?“unyaffs.h“

#define?CHUNK_SIZE?2048
#define?SPARE_SIZE?64
#define?MAX_objectS?10000
#define?YAFFS_objectID_ROOT?????1


unsigned?char?data[CHUNK_SIZE?+?SPARE_SIZE];
unsigned?char?*chunk_data?=?data;
unsigned?char?*spare_data?=?data?+?CHUNK_SIZE;
int?img_file;

char?*obj_list[MAX_objectS];
int?process_chunk()
{
int?out_file?remain?s;
char?*full_path_name;

yaffs_PackedTags2?*pt?=?(yaffs_PackedTags2?*)spare_data;
if?(pt->t.byteCount?==?0xffff)??{ //a?new?object?

yaffs_objectHeader?*oh?=?(yaffs_objectHeader?*)malloc(sizeof(yaffs_objectHeader));
memcpy(oh?chunk_data?sizeof(yaffs_objectHeader));

full_path_name?=?(char?*)malloc(strlen(oh->name)?+?strlen(obj_list[oh->parentobjectId])?+?2);
if?(full_path_name?==?NULL)?{
perror(“malloc?full?path?name\n“);
}
strcpy(full_path_name?obj_list[oh->parentobjectId]);
strcat(full_path_name?“/“);
strcat(full_path_name?oh->name);
obj_list[pt->t.objectId]?=?full_path_name;

switch(oh->type)?{
case?YAFFS_object_TYPE_FILE:
remain?=?oh->fileSize;
out_file?=?creat(full_path_name?oh->yst_mode);
while(remain?>?0)?{
if?(read_chunk())
return?-1;
s?=?(remain?t.byteCount)???remain?:?pt->t.byteCount;
if?(write(out_file?chunk_data?s)?==?-1)
return?-1;
remain?-=?s;
}
close(out_file);
break;
case?YAFFS_object_TYPE_SYMlink:
symlink(oh->alias?full_path_name);
break;
case?YAFFS_object_TYPE_DIRECTORY:
mkdir(full_path_name?0777);
break;
case?YAFFS_object_TYPE_HARDlink:
link(obj_list[oh->equivalentobjectId]?full_path_name);
break;
}
}
}


int?read_chunk()
{
ssize_t?s;
int?ret?=?-1;
memset(chunk_data?0xff?sizeof(chunk_data));
s?=?read(img_file?data?CHUNK_SIZE?+?SPARE_SIZE);
if?(s?==?-1)?{
perror(“read?image?file\n“);
}?else?if?(s?==?0)?{
printf(“end?of?image\n“);
}?else?if?((s?==?(CHUNK_SIZE?+?SPARE_SIZE)))?{
ret?=?0;
}?else?{
fprintf(stderr?“broken?image?file\n“);
}
return?ret;
}

int?main(int?argc?char?**argv)
{
if?(argc?!=?2)?{
printf(“Usage:?unyaffs?image_file_name\n“);
exit(1);
}
img_file?=?open(argv[1]?O_RDONLY);
if?(img_file?==?-1)?{
printf(“open?image?file?failed\n“);
exit(1);
}

obj_list[YAFFS_objectID_ROOT]?=?“.“;
while(1)?{
if?(read_chunk()?==?-1)
break;
process_chunk();
}
close(img_file);
return?0;
}

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????2827??2013-03-10?11:32??unyaffs.c
?????文件????????3729??2013-03-10?11:32??unyaffs.h
?????文件???????10179??2013-03-10?11:32??unyaffs?(1)

評(píng)論

共有 條評(píng)論