⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dederes.pas

📁 dede 的源代码 3.10b
💻 PAS
字号:
unit DeDeRes;


interface

uses Classes, DeDeConstants, INIFiles, SysUtils, CRC32, Dialogs;

procedure LoadResourcesFromIniFile(sFileName : String);
function GetCRC32OfValueNames(sFileName : String) : LongWord;

const CURRENT_CRC32_VAL = $DF6B82D4;

var

{MAIN MENU ITEMS}
mm_file : String = '&File';
mm_file_process : String = '&Process';
mm_file_open_project : String = '&Open Project';
mm_file_save_project : String = '&Save Project';
mm_file_save_project_as : String = 'Save Project &As ...';
mm_file_loadsym : String = '&Load symbol file';
mm_file_loaddoi : String = 'Load &DOI File';
mm_file_exit : String = 'E&xit';
mm_dumpers : String = '&Dumpers';
mm_dumpers_bpl : String = '&DSF builder';
mm_dumpers_dcu : String = '&DCU dumper';
mm_tools : String = '&Tools';
mm_tools_peedit : String = 'PE &Editor';
mm_tools_peheadcon : String = 'PE &Header Converter';
mm_tools_dump_active : String = '&Dump Active Process';
mm_tools_doibuild : String = 'DOI &Builder';
mm_tools_rvaconv : String = '&RVA Converter';
mm_tools_opcodeasm : String = '&Opcode to asm';
mm_options : String = '&Options';
mm_options_symbols : String = '&Symbols';
mm_options_config : String = '&Configuration';
mm_options_languages : String = '&Languages';
mm_about : String = '&About';

{POPUP MENU ITEMS}
pm_svrvspu_1 : String = 'Save events RVA''s as text';
pm_rvapu_copy_rva : String = 'Copy current RVA to clipboard';
pm_rvapu_showadddata : String = 'Show additional data';
pm_rvapu_disassemble : String = 'Disassemble';
pm_DFMListPopUp_0 : String = 'Open with Notepad';
pm_DFMListPopUp_2 : String = 'Save as TXT';
pm_DFMListPopUp_3 : String = 'Save as DFM';
pm_DFMListPopUp_4 : String = 'Save as RES';

{TAB CONTROLS}
tab_mpc_uts : String = 'Classes Info';
tab_mps_fmts : String = 'Forms';
tab_mps_dts : String = 'Procedures';
tab_mps_fts : String = 'Project';
tab_mps_xp : String = 'Exports';
tab_2_ev : String = 'Events';
tab_2_ctrl : String = 'Controls';

{LISTVIEW CONTROLS}
lv_ClassesLV_col0 : String = 'Class Name';
lv_ClassesLV_col1 : String = 'Unit Name';
lv_ClassesLV_col2 : String = 'SelfPrt';
lv_ClassesLV_col3 : String = 'DFM Offset';
lv_DFMList_col0 : String = 'Class Name';
lv_DFMList_col1 : String = 'Offset';
lv_DCULV_col0 : String = 'Unit Name';
lv_DCULV_col1 : String = 'Class Name';
lv_EventLV_col0 : String = 'Event';
lv_EventLV_col1 : String = 'RVA';
lv_EventLV_col2 : String = 'Hint';
lv_ControlsLV_col0 : String = 'Control';
lv_ControlsLV_col1 : String = 'ID';

{LABELS}
lbl_MainForm_Label2 : String = 'Save Delphi Project Space';
lbl_MainForm_cbDFM : String = 'Include DFM files for all forms';
lbl_MainForm_cbPAS : String = 'Include PAS files';
lbl_MainForm_cbDPR : String = 'Include DPR project file';
lbl_MainForm_cbTXT : String = 'Include TXT event handler RVA description';
lbl_MainForm_Label1 : String = 'Project directory:';
lbl_MainForm_PrcsBtn : String = 'Process';
lbl_MainForm_ctrBtn : String = 'Create files';
lbl_MainForm_Label3 : String = 'Export DeDe References in ...';
lbl_MainForm_REF : String = 'W32DASM WPJ/ALF File';
lbl_MainForm_IDAMAP : String = 'MAP/SYM File for IDA/SoftIce';
lbl_MainForm_AllStrCB : String = 'Add non English string references';
lbl_MainForm_AllCallsCB : String = 'Seek DSF references for *all* CALLs in ALF file (need lots of time)';
lbl_MainForm_CustomCB : String = 'Custom settings (recommended)';
lbl_MainForm_RVACB : String = 'Include event handlers';
lbl_MainForm_ControlCB : String = 'Include control references';
lbl_MainForm_Label4 : String = 'Export File:';
lbl_MainForm_Button1 : String = 'Create Export File';
lbl_MainForm_Label5 : String = 'Unit List (from PACKAGEINFO)';

{LISTVIEW CONTROLS}
lv_PLV_col0 : String = 'PID';
lv_PLV_col1 : String = 'Name';
lv_PLV_col2 : String = 'Image Size';
lv_PLV_col3 : String = 'EP';
lv_PLV_col4 : String = 'Base';

{LABELS}
lbl_MemDmpForm_Label1 : String = 'Processes';
lbl_MemDmpForm_Label2 : String = 'Description:';
lbl_MemDmpForm_ProcDescrLbl : String = '<no process selected>';
lbl_MemDmpForm_Label3 : String = 'NOTE: DeDe will not seek for import references in a dumped processes !';
lbl_MemDmpForm_DumpBtn : String = '&Dump';
lbl_MemDmpForm_RVABtn : String = '&Get RVA Entry Point';
lbl_MemDmpForm_CancelBtn : String = '&Close';
lbl_MemDmpForm_Button1 : String = '&Refresh';

{TAB CONTROLS}
tab_pc_tsh1 : String = 'General';
tab_pc_tsh2 : String = 'References';
tab_pc_tsh3 : String = 'Symbols';
grp_SRTypeRG : String = 'String References';

{LABELS}
lbl_PrefsForm_o1 : String = 'Do not allow report to be saved in existing folder';
lbl_PrefsForm_o2 : String = 'Warn before overwriting files';
lbl_PrefsForm_DumpALLCB : String = 'Dump additional non event handler procedures';
lbl_PrefsForm_ObjPropCB : String = 'Dump extra data and search for obj/prop references';
lbl_PrefsForm_Label1 : String = 'At startup load these symbol files:';
lbl_PrefsForm_AllDSFCb : String = 'Show all found DSF references';
lbl_SmartEmulation : String = 'Smart emulation';
lbl_PrefsForm_okBtn : String = '&OK';
lbl_PrefsForm_cancelBtn : String = '&Cancel';
lbl_PrefsForm_Button3 : String = '&Add';
lbl_PrefsForm_rmvBtn : String = '&Remove';


{MESSAGES}
msg_processing : String = 'Processing ';
msg_loadingtarget : String = 'Loading Target...';
msg_dumpingdsfdata : String = 'Dumping DFM data...';
msg_dumpingprocs : String = 'Dumping procs...';
msg_initpointers : String = 'Initializing pointers...';
msg_done : String = 'Done.';
msg_done1 : String = ' done.';
msg_analizefile : String = 'Analizing file ...';
msg_dumping_unit_data : String = 'Dumping units data ...';
msg_dump_success : String = 'Dump successfull ! :)';
msg_ready_secs : String = 'Ready %s sec.';
msg_filesaved : String = ' saved.';
msg_notepad_offer : String = 'Text is too large to be displayed.'#13#10' Do you want to open it with notepad ?';
msg_novice_delphi_programmer : String = '  Published method %s does not handle any event. It is'#13#10+
                         'possible this method to be windows message handler. ';
msg_saving_project : String = 'Saving project ...';
msg_save_complete : String = 'Save completed!';
msg_peedit_offer : String = 'Do you want to open in PE editor the current project ?';
msg_thinking : String = 'Thinking ...';
msg_loading_idata : String = 'Loading idata ...';
msg_dsf_loaded : String = 'Symbol File %s "%s" Loaded !';
msg_exit_dede_confirm : String = 'Exit DeDe ?';
msg_creating_exports : String = 'Creating export ...';
msg_file_created : String = '"%s" created!';
msg_open_files : String = 'Opening files ...';
msg_dis_bepatient : String = 'Disassembling ... be patient';
msg_process_calls : String = 'Processing calls ... ';
msg_save_alfwpj : String = 'Proceeding ... be patient';
msg_wpjalf_ready : String = '%s'#13'%s'#13'Created!'#13#13'%d lines added';
msg_reload_symbols_ask : String = 'Reload all symbols?';
msg_symbols_reloaded : String = ' Symbols Reloaded!';
msg_load_exp_names : String = 'Loading Export Names ...';
msg_load_package : String = 'Loading Package ...';
msg_load_exp_sym : String = 'Loading Export Symbols ...';
msg_unload_package : String = 'Unloading Package ...';
msg_dasm_exp : String = 'Disassembling %s Exports ...';
msg_saveing_file : String = 'Saving File ...';
msg_dsf_success : String = 'DSF Created Successfully.';
msg_peh_corrsaved : String = 'PE Header corrected and file saved !';
msg_save_succ : String = 'Save successfull !';
msg_save_not_succ : String = 'Save not successfull !';
msg_load_dsf_now : String = 'Do you want to load selected DSF files now ?';
msg_load_status : String = '%d Symbol Files Loaded '#13'%d Symbol Files Loading Failed!';
msg_load_status1 : String = '%d Symbol Files Loaded '#13;
msg_ok_when_loaded : String = 'Press OK when target is fully loaded';

{TEXTS}
txt_copyright : String = 'This file is generated by DeDe Ver '+GlobsCurrDeDeVersion+' Copyright (c) 1999-2001 DaFixer';
txt_delphi_version : String = 'Version: ';
txt_disassemble_proc : String = 'Disassemble Procedure';
txt_begin_rva : String = 'Enter begin RVA:';
txt_rightclick4more : String = 'Right-click for more functions';
txt_sect8 : String = 'Section should not be padded to next boundary.'#13;
txt_sect20 : String = 'Section contains executable code.'#13;
txt_sect40 : String = 'Section contains initialized data.'#13;
txt_sect80 : String = 'Section contains uninitialized data.'#13;
txt_sect200 : String = 'Section contains comments or ther information.'#13;
txt_sect800 : String = 'Section will not become part of the image.'#13;
txt_sect1000 : String = 'Section contains COMDAT data.'#13;
txt_sect1000000 : String = 'Section contains extended relocations.'#13;
txt_sect2000000 : String = 'Section can be discarded as needed.'#13;
txt_sect4000000 : String = 'Section cannot be cached.'#13;
txt_sect8000000 : String = 'Section is not pageable.'#13;
txt_sect10000000 : String = 'Section can be shared in memory.'#13;
txt_sect20000000 : String = 'Section can be executed as code.'#13;
txt_sect40000000 : String = 'Section can be read.'#13;
txt_sect80000000 : String = 'Section can be written to.'#13;
txt_align_on_a : String = 'Align data on a ';
txt_boundary : String = ' boundary.';
txt_program : String = 'program';
txt_program_sup_soon : String = 'program (will be supported soon)';
txt_not_available : String = 'Not available';
txt_old_version : String = 'Old Delphi version or runtime packages';
txt_unk_ver : String = 'Unknown version';
txt_epf_version : String = 'DeDe EP-Finder v0.2';
txt_Remove : String = 'Remove ';
txt_from_list : String = ' from list?';
txt_files_from_list : String = ' files from list?';
txt_dede_loader : String = 'DeDe Target Loader';


{WANINGS}
wrn_fileexists : String = 'File %s already exists. Overwrite it?';
wrn_not_using_vcl : String = 'This application do not use VCL and no events will be assigned. Use "Show DPR" to see the code!';
wrn_runtime_pkcg : String = ' application compiled with runtime packages found !';
wrn_w32dasm_active : String = 'W32DASM is active! '#13'Make sure the project is not open in W32DASM. Press OK when you are ready!';
wrn_upx : String = 'This process appears to be packed with UPX. Continue?';
wrn_neolit : String = 'This process appears to be packed with Neolit. Continue?';
wrn_change_file : String = 'This will change original file. Continue?';

{ERRORS}
err_classdump : String = 'Class Dump Engine Error! ClassName: %s  FieldTblPos: %x';
err_classes_same_name : String = 'Two classes with the same name found - %s'#13#10+
                      'Press OK to unassign DFM resources from the class from unit %s'#13#10+
                      'or Calnel to unassign DFM resources from the class from unit %s'#13#10;
err_specifyfilename : String = 'Specify a file name!';
err_filenotfound : String = 'File Not Found';
err_d2_app : String = 'This appears to be a D2 application.'#13#10+
           'DeDe can process only D3, D4 and D5 applications!';
err_might_not_delphi_app : String = '  This not appears to be a Delphi application or CODE section might be crypted!'#13#10+
                         'This also can be Delphi application compiled with run-time packages. Continue '#13#10+
                         'analizing of this file may result DeDe to stop responding !';
err_not_delphi_app : String = 'This is not a Delphi application or executable file might be cripted/packed !!!';
err_cantload : String = 'Can not load %s';
err_text_exceeds : String = 'Text exceeds memo capacity';
err_invalid_dfm_index : String = 'Invalid DFM index';
err_unabletogenproj : String = '  Unable to generate project space from loaded project.'#13#10+
                    'Please process the target firts !';
err_dir_not_found : String = 'Directory "%s" Not Found';
err_dir_not_exist : String = 'Directory "%s" Exists. Please specify different directory!';
err_class_not_found : String = 'Class not found!';
err_nothing_processed : String = 'There is no processed project';
err_rva_not_in_CODE : String = 'RVA not in CODE section';
err_nothing_to_save : String = 'No project to save';
err_dsf_ver_not_supp : String = 'DSF Version Not Supported';
err_dsf_ver_not_supp_1 : String = '  (DSF version not supported)';
err_dsf_unabletoload : String = 'Unable To Load Symol File';
err_dsf_failedtoload : String = 'Failed To Load These Symbol Files:';
err_dsf_invalid_index : String = 'Invalid DSF index';
err_only_one_w32dasm_export : String = 'This file has already been processed by DeDe W32DASM export!';
err_disasm_first : String = 'Disassemble target with W32DASM first';
err_process1st : String = 'Process a target first';
err_symbol_loaded : String = 'Symbol Already Loaded !';
err_cant_open_file : String = 'Can''t open "%s"';
err_read_beyond : String = 'Read beyond the stream. Position: ';
err_proj_header_incorrect : String = 'Project Header Incorrect or Missing';
err_invalid_unit_flag : String = 'Invalid Unit Flag';
err_bad_signature : String = 'This is not a PE file! Signature: ';
err_d1_not_supported : String = 'D1 files are not supported!';
err_no_pefile_assigned : String = 'PEFile not assigned !';
err_import_ref : String = 'Import Ref Engine Error';
err_dasm_err : String = 'Disassembler Engine Error';
err_load_symfile : String = 'Error loading symbol file "';
err_invalid_process : String = 'Invalid Process!';
err_select_dsf_name : String = 'Select a filename for the symbol file';
err_no_exports : String = 'this file does not contains exports';
err_invalid_file : String = 'Invalid File: %s';
err_not_delphi_app1 : String = 'This is not a delphi application !';
err_failed_enum_proc : String = 'Failed to enumerate processes';
err_epf_failed : String = 'RVA Entry Point Finder Failed ! :(';
err_has_no_import : String = 'This File Has No Imports !';
err_has_no_export : String = 'This File Has No Exports !';
err_invalid_rva_interval : String = 'Invalid RVA interval entered!';
err_unk_dcu_flag : String = 'Unknown show flag: "%s"';
err_2nd_ast_notallow : String = '2nd "*" is not allowed';
err_not_enuff_code : String = 'Not enough code.';
err_invalid_operand : String = 'Invalid AddrMethod and OperandType combination';
err_invalid_operand_size : String = 'Invalid OperandSize';


{SHORT DESCRIPTIONS}
dscr_o1 : String =        'Image only, Windows CE, Windows'#13+
               'NT and above. Indicates that the'#13+
               'file does not contain base'#13+
               'relocations and must therefore be'#13+
               'loaded at its preferred base'#13+
               'address. If the base address is not'#13+
               'available, the loader reports an'#13+
               'error. Operating systems running on'#13+
               'top of MS-DOS (Win32s

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -