write more of preprocess_calltrick, needs check
This commit is contained in:
16
kpack_c.c
16
kpack_c.c
@@ -41,7 +41,7 @@ unsigned pack_lzma(unsigned char *infile, unsigned char *outfile, unsigned insiz
|
|||||||
return outsize - 1;
|
return outsize - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned preprocess_calltrick(unsigned char *infile, unsigned insize, unsigned char ct1[256], unsigned *ct, unsigned char *ctn)
|
unsigned preprocess_calltrick(unsigned char *infile, unsigned insize, unsigned char ct1[256], unsigned *ctn, unsigned char *cti)
|
||||||
{
|
{
|
||||||
// TODO: check
|
// TODO: check
|
||||||
unsigned char *buf = malloc(2*insize);
|
unsigned char *buf = malloc(2*insize);
|
||||||
@@ -81,10 +81,20 @@ unsigned preprocess_calltrick(unsigned char *infile, unsigned insize, unsigned c
|
|||||||
|
|
||||||
} while(count > 0);
|
} while(count > 0);
|
||||||
|
|
||||||
|
*ctn = edx;
|
||||||
|
unsigned idx = 0;
|
||||||
|
while (idx < 256 && ct1[idx] != 0) {
|
||||||
|
idx++;
|
||||||
|
}
|
||||||
|
if (idx >= 256) {
|
||||||
|
goto pack_calltrick_fail;
|
||||||
|
}
|
||||||
|
*cti = ~(unsigned char)256;
|
||||||
|
|
||||||
// TODO !
|
// TODO !
|
||||||
|
|
||||||
pack_calltrick_fail:
|
pack_calltrick_fail:
|
||||||
// ...
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -216,7 +226,7 @@ int main(int argc, char *argv[])
|
|||||||
outfilebest = outfile;
|
outfilebest = outfile;
|
||||||
unsigned method = METHOD_LZMA;
|
unsigned method = METHOD_LZMA;
|
||||||
|
|
||||||
unsigned char ct1[256];
|
unsigned char ct1[256]; // TODO zero out or place it zeroable space
|
||||||
unsigned ctn;
|
unsigned ctn;
|
||||||
unsigned char cti;
|
unsigned char cti;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user