diff --git a/commander/Commander.cpp b/commander/Commander.cpp index eb357325b..8bedb92aa 100644 --- a/commander/Commander.cpp +++ b/commander/Commander.cpp @@ -45,7 +45,7 @@ Command* Commander::getCommand(const std::string& line) return cmd; } -bool Commander::addCommand(std::string name, Command *cmd, bool overwrite) +bool Commander::addCommand(const std::string& name, Command *cmd, bool overwrite) { if ( cmds.find(name) != cmds.end() ) { if (!overwrite) return false; // already exist @@ -59,7 +59,6 @@ bool Commander::addCommand(std::string name, Command *cmd, bool overwrite) void Commander::parseCommands() { const std::string PROMPT = "$ "; - Command *cmd = NULL; while (true) { if (this->context == NULL) throw CmdException("Uninitialized commander context!"); diff --git a/commander/Commander.h b/commander/Commander.h index 3c2840d52..faa88100a 100644 --- a/commander/Commander.h +++ b/commander/Commander.h @@ -39,7 +39,8 @@ friend class Commander; class Command { public: - Command(std::string v_desc = "") : desc(v_desc) {} + Command() {} + Command(const std::string& v_desc) : desc(v_desc) {} virtual ~Command() {} virtual std::string getDescription() { return desc; } @@ -76,7 +77,7 @@ class Commander virtual ~Commander() { clearCommands(); } void printHelp(); - bool addCommand(std::string name, Command *cmd, bool overwrite = true); + bool addCommand(const std::string& name, Command *cmd, bool overwrite = true); virtual void parseCommands(); // main loop diff --git a/commander/ExeCommander.cpp b/commander/ExeCommander.cpp index 566b73047..33dd595a2 100644 --- a/commander/ExeCommander.cpp +++ b/commander/ExeCommander.cpp @@ -49,7 +49,7 @@ offset_t cmd_util::readOffset(Executable::addr_type aType) return offset; } -size_t cmd_util::readNumber(std::string prompt, bool read_hex) +size_t cmd_util::readNumber(const std::string& prompt, bool read_hex) { unsigned int num = 0; std::cout << prompt.c_str() << ": "; diff --git a/commander/ExeCommander.h b/commander/ExeCommander.h index aed6b083d..1dd31f12c 100644 --- a/commander/ExeCommander.h +++ b/commander/ExeCommander.h @@ -19,7 +19,7 @@ namespace cmd_util { std::string addrTypeToStr(Executable::addr_type type); offset_t readOffset(Executable::addr_type aType); - size_t readNumber(std::string prompt, bool read_hex=false); + size_t readNumber(const std::string& prompt, bool read_hex=false); void fetch(Executable *exe, offset_t offset, Executable::addr_type aType, bool hex); void printWrapperNames(MappedExe *exe); @@ -60,7 +60,7 @@ class ExeCommander : public Commander class ConvertAddrCommand : public Command { public: - ConvertAddrCommand(Executable::addr_type v_from, Executable::addr_type v_to, std::string desc) + ConvertAddrCommand(Executable::addr_type v_from, Executable::addr_type v_to, const std::string& desc) : Command(desc), addrFrom(v_from), addrTo(v_to) {} virtual void execute(CmdParams *params, CmdContext *context); @@ -74,7 +74,7 @@ class ConvertAddrCommand : public Command class FetchCommand : public Command { public: - FetchCommand(bool v_isHex, Executable::addr_type v_addrType, std::string desc) + FetchCommand(bool v_isHex, Executable::addr_type v_addrType, const std::string& desc) : Command(desc), isHex(v_isHex), addrType(v_addrType) {} virtual void execute(CmdParams *params, CmdContext *context) @@ -92,7 +92,7 @@ class FetchCommand : public Command class ExeInfoCommand : public Command { public: - ExeInfoCommand(std::string desc = "Exe Info") + ExeInfoCommand(const std::string& desc = "Exe Info") : Command(desc) {} virtual void execute(CmdParams *params, CmdContext *context); @@ -101,7 +101,7 @@ class ExeInfoCommand : public Command class WrapperCommand : public Command { public: - WrapperCommand(std::string desc, size_t v_wrapperId = INVALID_WRAPPER) + WrapperCommand(const std::string& desc, size_t v_wrapperId = INVALID_WRAPPER) : Command(desc), wrapperId(v_wrapperId) {} virtual void wrapperAction(ExeElementWrapper *wrapper) = 0; @@ -130,7 +130,7 @@ class WrapperCommand : public Command class AddEntryCommand : public WrapperCommand { public: - AddEntryCommand(std::string desc, size_t v_wrapperId = INVALID_WRAPPER) + AddEntryCommand(const std::string& desc, size_t v_wrapperId = INVALID_WRAPPER) : WrapperCommand(desc, v_wrapperId) {} virtual void wrapperAction(ExeElementWrapper *wrapper) @@ -159,7 +159,7 @@ class AddEntryCommand : public WrapperCommand class DumpWrapperCommand : public WrapperCommand { public: - DumpWrapperCommand(std::string desc, size_t v_wrapperId = INVALID_WRAPPER) + DumpWrapperCommand(const std::string& desc, size_t v_wrapperId = INVALID_WRAPPER) : WrapperCommand(desc, v_wrapperId) {} virtual void wrapperAction(ExeElementWrapper *wrapper) @@ -173,8 +173,8 @@ class DumpWrapperCommand : public WrapperCommand class DumpWrapperEntriesCommand : public WrapperCommand { public: - DumpWrapperEntriesCommand(std::string desc, size_t v_wrapperId = INVALID_WRAPPER) - : WrapperCommand(desc), wrapperId(v_wrapperId) {} + DumpWrapperEntriesCommand(const std::string& desc, size_t v_wrapperId = INVALID_WRAPPER) + : WrapperCommand(desc, v_wrapperId) {} virtual void wrapperAction(ExeElementWrapper *wrapper) { @@ -196,16 +196,13 @@ class DumpWrapperEntriesCommand : public WrapperCommand cmd_util::dumpEntryInfo(lib); cmd_util::dumpNodeInfo(lib); } - -protected: - size_t wrapperId; //TODO: fetch it from params! }; class ClearWrapperCommand : public WrapperCommand { public: - ClearWrapperCommand(std::string desc, size_t v_wrapperId = INVALID_WRAPPER) + ClearWrapperCommand(const std::string& desc, size_t v_wrapperId = INVALID_WRAPPER) : WrapperCommand(desc, v_wrapperId) {} virtual void wrapperAction(ExeElementWrapper *wrapper) @@ -228,7 +225,7 @@ class ClearWrapperCommand : public WrapperCommand class DumpWrapperToFileCommand : public WrapperCommand { public: - DumpWrapperToFileCommand(std::string desc, size_t v_wrapperId = INVALID_WRAPPER) + DumpWrapperToFileCommand(const std::string& desc, size_t v_wrapperId = INVALID_WRAPPER) : WrapperCommand(desc, v_wrapperId) { } @@ -261,7 +258,7 @@ class DumpWrapperToFileCommand : public WrapperCommand class SaveExeToFileCommand : public Command { public: - SaveExeToFileCommand(std::string desc = "Save exe to file") + SaveExeToFileCommand(const std::string& desc = "Save exe to file") : Command(desc) { } diff --git a/commander/PECommander.cpp b/commander/PECommander.cpp index 3185ea9d2..842e4a76c 100644 --- a/commander/PECommander.cpp +++ b/commander/PECommander.cpp @@ -74,10 +74,10 @@ void cmd_util::printStrings(PEFile *pe, size_t limit) } size_t count = wrapper->getResStringsCount(); - for (size_t i = 0; i < count; i++) { + for (size_t j = 0; j < count; j++) { if (limit != 0 && limCount >= limit) return; - ResString *resStr = wrapper->getResStringAt(i); + ResString *resStr = wrapper->getResStringAt(j); if (resStr != NULL) { OUT_PADDED_OFFSET(std::cout, resStr->offset); std::cout << " [" << std::dec << resStr->getSize() << "]" << std::endl; diff --git a/commander/PECommander.h b/commander/PECommander.h index e62eda74e..df22f662c 100644 --- a/commander/PECommander.h +++ b/commander/PECommander.h @@ -29,7 +29,7 @@ class PECommander : public ExeCommander class SectionByAddrCommand : public Command { public: - SectionByAddrCommand(Executable::addr_type v_addrType, std::string desc) + SectionByAddrCommand(Executable::addr_type v_addrType, const std::string& desc) : Command(desc), addrType(v_addrType) {} virtual void execute(CmdParams *params, CmdContext *context) @@ -79,7 +79,7 @@ class SectionByAddrCommand : public Command class PrintStringsCommand : public Command { public: - PrintStringsCommand(std::string desc) + PrintStringsCommand(const std::string& desc) : Command(desc) {} virtual void execute(CmdParams *params, CmdContext *context) @@ -101,14 +101,12 @@ class PrintStringsCommand : public Command cmd_util::printStrings(pe, limit); } -protected: - int wrapperId; //TODO: fetch it from params! }; class PrintWrapperTypesCommand : public Command { public: - PrintWrapperTypesCommand(std::string desc) + PrintWrapperTypesCommand(const std::string& desc) : Command(desc) {} virtual void execute(CmdParams *params, CmdContext *context) @@ -125,7 +123,7 @@ class PrintWrapperTypesCommand : public Command class WrapperInfoCommand : public Command { public: - WrapperInfoCommand(std::string desc) + WrapperInfoCommand(const std::string& desc) : Command(desc) {} virtual void execute(CmdParams *params, CmdContext *context) @@ -166,7 +164,7 @@ class WrapperInfoCommand : public Command class MoveDataDirEntryCommand : public Command { public: - MoveDataDirEntryCommand(std::string desc) + MoveDataDirEntryCommand(const std::string& desc) : Command(desc) {} virtual void execute(CmdParams *params, CmdContext *context) @@ -200,7 +198,7 @@ class MoveDataDirEntryCommand : public Command class SectionDumpCommand : public Command { public: - SectionDumpCommand(std::string desc, bool v_saveToFile = false) + SectionDumpCommand(const std::string& desc, bool v_saveToFile = false) : Command(desc), saveToFile(v_saveToFile) { } @@ -210,7 +208,6 @@ class SectionDumpCommand : public Command PEFile *pe = cmd_util::getPEFromContext(context); if (!pe) return; - size_t sectHdrCount = pe->getSectionsCount(false); size_t sectCount = pe->getSectionsCount(true); std:: cout << "Sections count = " << std::dec << sectCount << "\n"; if (sectCount == 0) { @@ -274,7 +271,7 @@ class SectionDumpCommand : public Command class ExportsListCommand : public Command { public: - ExportsListCommand(std::string desc) + ExportsListCommand(const std::string& desc) : Command(desc) {} virtual void execute(CmdParams *params, CmdContext *context) @@ -310,7 +307,7 @@ class ExportsListCommand : public Command class ImportsListCommand : public Command { public: - ImportsListCommand(std::string desc) + ImportsListCommand(const std::string& desc) : Command(desc) {} virtual void execute(CmdParams *params, CmdContext *context) diff --git a/parser/pe/ExportDirWrapper.cpp b/parser/pe/ExportDirWrapper.cpp index b4f43a47b..0bb879514 100644 --- a/parser/pe/ExportDirWrapper.cpp +++ b/parser/pe/ExportDirWrapper.cpp @@ -63,7 +63,6 @@ size_t ExportDirWrapper::mapNames() bool ExportDirWrapper::wrap() { clear(); - size_t mapNum = mapNames(); IMAGE_EXPORT_DIRECTORY* exp = exportDir(); if (exp == NULL) return 0; diff --git a/parser/pe/ImportBaseDirWrapper.cpp b/parser/pe/ImportBaseDirWrapper.cpp index b1d776d08..e6e8a6945 100644 --- a/parser/pe/ImportBaseDirWrapper.cpp +++ b/parser/pe/ImportBaseDirWrapper.cpp @@ -64,7 +64,6 @@ void ImportBaseDirWrapper::reloadMapping() for (size_t i = 0; i < entriesCount; i++) { ImportBaseEntryWrapper* lib = dynamic_cast (this->getEntryAt(i)); if (lib == NULL) continue; - size_t libId = lib->entryNum; size_t funcCount = lib->getEntriesCount(); for (size_t fI = 0; fI < funcCount; fI++) { @@ -254,7 +253,7 @@ bool ImportBaseFuncWrapper::isValid() if (!isByOrdinal()) { char *fName = this->getFunctionName(); - if (!imports_util::isNameValid(m_Exe, libName)) return false; + if (!imports_util::isNameValid(m_Exe, fName)) return false; } return true; } diff --git a/parser/pe/ImportDirWrapper.cpp b/parser/pe/ImportDirWrapper.cpp index 25b055192..057cd9d2a 100644 --- a/parser/pe/ImportDirWrapper.cpp +++ b/parser/pe/ImportDirWrapper.cpp @@ -87,8 +87,6 @@ uint64_t ImportedFuncWrapper::getThunkValue() bool ImportedFuncWrapper::isByOrdinal() { - bool isOk = false; - void *p = getValuePtr(ImportEntryWrapper::ORIG_FIRST_THUNK); if (!p) p = getValuePtr(ImportEntryWrapper::FIRST_THUNK); if (!p) return false; @@ -122,13 +120,9 @@ bufsize_t ImportedFuncWrapper::getSize() void* ImportedFuncWrapper::getFieldPtr(size_t fId, size_t subField) { - bool is64 = isBit64(); void *entryPtr = this->getPtr(); if (entryPtr == NULL) return NULL; - IMAGE_THUNK_DATA32* en32 = is64 ? NULL : (IMAGE_THUNK_DATA32*) entryPtr; - IMAGE_THUNK_DATA64* en64 = is64 ? (IMAGE_THUNK_DATA64*) entryPtr : NULL; - switch (fId) { case ORIG_THUNK: return (void*) getValuePtr(ImportEntryWrapper::ORIG_FIRST_THUNK); case THUNK: return (void*) getValuePtr(ImportEntryWrapper::FIRST_THUNK); diff --git a/parser/pe/SectHdrsWrapper.cpp b/parser/pe/SectHdrsWrapper.cpp index c8681fa1a..ad4bc9ba2 100644 --- a/parser/pe/SectHdrsWrapper.cpp +++ b/parser/pe/SectHdrsWrapper.cpp @@ -283,7 +283,7 @@ bufsize_t SectionHdrWrapper::getMappedRawSize() if (secEnd > peSize) { const bufsize_t trimmedSize = peSize - secOffset; // trim to the file size if (virtualSize) { - bufsize_t unit = m_PE->getAlignment(Executable::RVA); + unit = m_PE->getAlignment(Executable::RVA); if (unit != 0) { virtualSize = roundupToUnit(virtualSize, unit); } @@ -534,7 +534,6 @@ QString SectHdrsWrapper::getFieldName(size_t fieldId) SectionHdrWrapper* SectHdrsWrapper::getSecHdrAtOffset(offset_t offset, Executable::addr_type addrType, bool recalculate, bool verbose) { - size_t size = this->entries.size(); std::map *secMap = NULL; if (addrType == Executable::RAW) {