Hot answers tagged

3

MIPS instructions are 4 bytes (32 bit) in size. Hence it's not possible to load a 32 bit constant using a single instruction. The li $gp, 0x18B00 instruction is indeed a pseudo instruction. It's composed of two instructions. lui gp, 0x2 addiu gp,gp,-29952 Screenshot from Online Disassembler The lui (Load Upper Immediate) instruction loads a 16-bit ...


2

You can modify the code in IDA. IDA saves internally the original as well as the patched content. Make your modifications using the sub menu commands of Edit -> Patch program If your modifications are completed you can apply the modifications on an external file. To do so use menu Edit -> Patch program -> Apply patches to input file. It allows you to ...


1

BinnDiff and Diaphora do eactly what you ask.


1

You can use the ask_* functions from the ida_kernwin module. For example: ask_long: Display a dialog box and wait for the user to input an number ask_str: Display a dialog box and wait for the user to input a text string ask_file: Display a dialog box and wait for the user to input a file name ask_form: Display a dialog box and wait for the user There are ...


1

offset = idaapi.get_fileregion_offset(ea) ea = idaapi.get_fileregion_ea(offset) ref:How to extract the input file offset of a byte in idapython?


1

You can try copy-pasting the following code into the built-in Python interpreter: import idautils for s in idautils.Strings(): ida_bytes.create_strlit(s.ea, 0, ida_nalt.STRTYPE_TERMCHR) This will create string literals for all the entries in the Strings window.


1

Open Hex View. Right-click on the data. Choose "Edit..." (Alternatively, press F2). Now you can change the string in rdata. Don't forget to add null terminator. You can just leave the rest of the unused bytes of the original string. Patch the program, go to "Edit", choose "Patch program" and than "Apply patches to input file".


Only top voted, non community-wiki answers of a minimum length are eligible