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
Screenshot from Online Disassembler
The lui (Load Upper Immediate) instruction loads a 16-bit ...
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 ...
You can use the ask_* functions from the ida_kernwin module.
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 ...
You can try copy-pasting the following code into the built-in Python interpreter:
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.
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".