/*==================================================================================*/ int main(void) { FileHandle = fopen("junkcode.bin", "rb"); (void)fseek(FileHandle,0,SEEK_END); FileSize = ftell(FileHandle); (void)rewind(FileHandle); pBuffer = malloc(FileSize); (void)fread(pBuffer,1,FileSize, FileHandle); (void)fclose(FileHandle); /* ============================= Init the Disasm structure (important !)*/ for (i=0;i<100;i++) { (void) memset (&MyDisasm[i], 0, sizeof(DISASM)); } (void) printf("******************************************************* \n"); (void) printf("Looking for obfuscation in junkcode.bin - simple pattern :\nadd X, Y\nsub X, Y\n"); (void) printf("******************************************************* \n"); /* ============================= Disassemble code located in that buffer */ DisassembleCode (pBuffer, (char*) pBuffer + 0x600, 0x0); AnalyzeCode(); return 0; }
bool TAsmAnalyze::Make(String Name, TListView *Box) { DestFileName = Name; DestFile.open(Name.c_str(),std::ios_base::out | std::ios_base::binary); // declare input and output streams pHash = new HashTable; IDList = new TStringList; //IDList = new TList; ErrorList = Box; Analyze(); AnalyzeCode(); if (CodeError == 0) LinkCode(); delete IDList; //delete IDList; delete pHash; return true; }