diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-04-02 11:58:42 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-04-02 12:39:30 (GMT) |
commit | 1db4ef323b7a76093356ae76268132f3760e1631 (patch) | |
tree | fec36ee0ec1b6b2010b62ca4177edca0e31e2114 /plugins/dalvik/v35/opdefs | |
parent | 1bc80837dde03a32b5ab185067f7bd4c499a9850 (diff) |
Rewritten the whole instruction definition format.
Diffstat (limited to 'plugins/dalvik/v35/opdefs')
257 files changed, 10351 insertions, 0 deletions
diff --git a/plugins/dalvik/v35/opdefs/Makefile.am b/plugins/dalvik/v35/opdefs/Makefile.am new file mode 100644 index 0000000..f660e3d --- /dev/null +++ b/plugins/dalvik/v35/opdefs/Makefile.am @@ -0,0 +1,325 @@ + +include $(top_srcdir)/tools/d2c/d2c.mk + + +D2C_BIN = $(top_srcdir)/tools/d2c/d2c +GEN_BIN = $(top_srcdir)/tools/d2c/d2c_genmakefile.sh + + +D2C_OUTDIR = $(PWD)/../opcodes/ + +D2C_TYPE = format + +D2C_ARCH = "Dalvik v35" +D2C_ARCH_CN = Dalvik35 +D2C_GUARD = PLUGINS_DALVIK_V35_OPCODES + +D2C_ENCODINGS = \ + -e none + +D2C_ID_PREFIX = DOP35 +D2C_ID_COUNT = 255 + +D2C_SPECIFIC = --op-prefix=DALVIK_OPT_ + + +FIXED_C_INCLUDES = \ + \#include <stdint.h> \ + \n \ + \n\#include "../instruction.h" \ + \n\#include "../operand.h" \ + \n\#include "../../fetch.h" \ + \n\#include "../../helpers.h" \ + \n\#include "../../link.h" \ + \n\#include "../../post.h" + +FIXED_H_INCLUDES = \ + \#include <stdint.h> \ + \n \ + \n\#include <analysis/content.h> \ + \n\#include <arch/context.h> \ + \n\#include <format/executable.h> \ + \n \ + \n\#include "../processor.h" + + +# for (( i = 0; i < 256; i++)); do def=$(ls `printf "*_%02x.d" $i` 2> /dev/null); test -z "$def" || echo -e "\t$def\t\t\t\t\t\t\t\\" ; done +DALVIK_DEFS = \ + nop_00.d \ + move_01.d \ + move_02.d \ + move_03.d \ + move_04.d \ + move_05.d \ + move_06.d \ + move_07.d \ + move_08.d \ + move_09.d \ + move_0a.d \ + move_0b.d \ + move_0c.d \ + move_0d.d \ + return_0e.d \ + return_0f.d \ + return_10.d \ + return_11.d \ + const_12.d \ + const_13.d \ + const_14.d \ + const_15.d \ + const_16.d \ + const_17.d \ + const_18.d \ + const_19.d \ + const_1a.d \ + const_1b.d \ + const_1c.d \ + monitor_1d.d \ + monitor_1e.d \ + check_1f.d \ + instanceof_20.d \ + array_21.d \ + new_22.d \ + new_23.d \ + array_24.d \ + filled_25.d \ + array_26.d \ + throw_27.d \ + goto_28.d \ + goto_29.d \ + goto_2a.d \ + switch_2b.d \ + switch_2c.d \ + cmpl_2d.d \ + cmpg_2e.d \ + cmpl_2f.d \ + cmpg_30.d \ + cmp_31.d \ + if_32.d \ + if_33.d \ + if_34.d \ + if_35.d \ + if_36.d \ + if_37.d \ + if_38.d \ + if_39.d \ + if_3a.d \ + if_3b.d \ + if_3c.d \ + if_3d.d \ + unused_3e.d \ + unused_3f.d \ + unused_40.d \ + unused_41.d \ + unused_42.d \ + unused_43.d \ + aget_44.d \ + aget_45.d \ + aget_46.d \ + aget_47.d \ + aget_48.d \ + aget_49.d \ + aget_4a.d \ + aput_4b.d \ + aput_4c.d \ + aput_4d.d \ + aput_4e.d \ + aput_4f.d \ + aput_50.d \ + aput_51.d \ + iget_52.d \ + iget_53.d \ + iget_54.d \ + iget_55.d \ + iget_56.d \ + iget_57.d \ + iget_58.d \ + iput_59.d \ + iput_5a.d \ + iput_5b.d \ + iput_5c.d \ + iput_5d.d \ + iput_5e.d \ + iput_5f.d \ + sget_60.d \ + sget_61.d \ + sget_62.d \ + sget_63.d \ + sget_64.d \ + sget_65.d \ + sget_66.d \ + sput_67.d \ + sput_68.d \ + sput_69.d \ + sput_6a.d \ + sput_6b.d \ + sput_6c.d \ + sput_6d.d \ + invoke_6e.d \ + invoke_6f.d \ + invoke_70.d \ + invoke_71.d \ + invoke_72.d \ + unused_73.d \ + invoke_74.d \ + invoke_75.d \ + invoke_76.d \ + invoke_77.d \ + invoke_78.d \ + unused_79.d \ + unused_7a.d \ + neg_7b.d \ + not_7c.d \ + neg_7d.d \ + not_7e.d \ + neg_7f.d \ + neg_80.d \ + to_81.d \ + to_82.d \ + to_83.d \ + to_84.d \ + to_85.d \ + to_86.d \ + to_87.d \ + to_88.d \ + to_89.d \ + to_8a.d \ + to_8b.d \ + to_8c.d \ + to_8d.d \ + to_8e.d \ + to_8f.d \ + add_90.d \ + sub_91.d \ + mul_92.d \ + div_93.d \ + rem_94.d \ + and_95.d \ + or_96.d \ + xor_97.d \ + shl_98.d \ + shr_99.d \ + ushr_9a.d \ + add_9b.d \ + sub_9c.d \ + mul_9d.d \ + div_9e.d \ + rem_9f.d \ + and_a0.d \ + or_a1.d \ + xor_a2.d \ + shl_a3.d \ + shr_a4.d \ + ushr_a5.d \ + add_a6.d \ + sub_a7.d \ + mul_a8.d \ + div_a9.d \ + rem_aa.d \ + add_ab.d \ + sub_ac.d \ + mul_ad.d \ + div_ae.d \ + rem_af.d \ + add_b0.d \ + sub_b1.d \ + mul_b2.d \ + div_b3.d \ + rem_b4.d \ + and_b5.d \ + or_b6.d \ + xor_b7.d \ + shl_b8.d \ + shr_b9.d \ + ushr_ba.d \ + add_bb.d \ + sub_bc.d \ + mul_bd.d \ + div_be.d \ + rem_bf.d \ + and_c0.d \ + or_c1.d \ + xor_c2.d \ + shl_c3.d \ + shr_c4.d \ + ushr_c5.d \ + add_c6.d \ + sub_c7.d \ + mul_c8.d \ + div_c9.d \ + rem_ca.d \ + add_cb.d \ + sub_cc.d \ + mul_cd.d \ + div_ce.d \ + rem_cf.d \ + add_d0.d \ + rsub_d1.d \ + mul_d2.d \ + div_d3.d \ + rem_d4.d \ + and_d5.d \ + or_d6.d \ + xor_d7.d \ + add_d8.d \ + rsub_d9.d \ + mul_da.d \ + div_db.d \ + rem_dc.d \ + and_dd.d \ + or_de.d \ + xor_df.d \ + shl_e0.d \ + shr_e1.d \ + ushr_e2.d \ + unused_e3.d \ + unused_e4.d \ + unused_e5.d \ + unused_e6.d \ + unused_e7.d \ + unused_e8.d \ + unused_e9.d \ + unused_ea.d \ + unused_eb.d \ + unused_ec.d \ + unused_ed.d \ + unused_ee.d \ + unused_ef.d \ + unused_f0.d \ + unused_f1.d \ + unused_f2.d \ + unused_f3.d \ + unused_f4.d \ + unused_f5.d \ + unused_f6.d \ + unused_f7.d \ + unused_f8.d \ + unused_f9.d \ + unused_fa.d \ + unused_fb.d \ + unused_fc.d \ + unused_fd.d \ + unused_fe.d \ + unused_ff.d + + +# make dist procède répertoire par répertoire. Or le répertoire opcodes utilise +# le contenu du répertoire opdefs. Il faut donc générer les fichiers nécessaires +# au répertoire opcodes. Et comme on ne peut pas compléter la règle dist, on +# ajoute à la distribution les cibles marquant la génération. (1/2) + +EXTRA_DIST = $(DALVIK_DEFS) $(DALVIK_DEFS:.d=.g) + +# Après coup, on supprime les fichiers inutiles de la distribution/ (2/2) + +dist-hook: + cd $(distdir) && rm $(DALVIK_DEFS:.d=.g) + +all: $(DALVIK_DEFS:.d=.g) fmk.done d2c_final_rules + +fmk.done: $(DALVIK_DEFS) + $(GEN_BIN) $(D2C_OUTDIR) - + touch $@ + +clean: + rm -rf $(DALVIK_DEFS:.d=.g) .gen fmk.done diff --git a/plugins/dalvik/v35/opdefs/add_90.d b/plugins/dalvik/v35/opdefs/add_90.d new file mode 100644 index 0000000..a4eae0d --- /dev/null +++ b/plugins/dalvik/v35/opdefs/add_90.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title add-int + +@id 144 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/add_9b.d b/plugins/dalvik/v35/opdefs/add_9b.d new file mode 100644 index 0000000..c26a453 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/add_9b.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title add-long + +@id 155 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/add_a6.d b/plugins/dalvik/v35/opdefs/add_a6.d new file mode 100644 index 0000000..16b95f1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/add_a6.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title add-float + +@id 166 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/add_ab.d b/plugins/dalvik/v35/opdefs/add_ab.d new file mode 100644 index 0000000..20670ad --- /dev/null +++ b/plugins/dalvik/v35/opdefs/add_ab.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title add-double + +@id 171 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/add_b0.d b/plugins/dalvik/v35/opdefs/add_b0.d new file mode 100644 index 0000000..11a415e --- /dev/null +++ b/plugins/dalvik/v35/opdefs/add_b0.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title add-int/2addr + +@id 176 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/add_bb.d b/plugins/dalvik/v35/opdefs/add_bb.d new file mode 100644 index 0000000..05f471d --- /dev/null +++ b/plugins/dalvik/v35/opdefs/add_bb.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title add-long/2addr + +@id 187 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/add_c6.d b/plugins/dalvik/v35/opdefs/add_c6.d new file mode 100644 index 0000000..46a5025 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/add_c6.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title add-float/2addr + +@id 198 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/add_cb.d b/plugins/dalvik/v35/opdefs/add_cb.d new file mode 100644 index 0000000..4b12d63 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/add_cb.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title add-double/2addr + +@id 203 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/add_d0.d b/plugins/dalvik/v35/opdefs/add_d0.d new file mode 100644 index 0000000..383d25c --- /dev/null +++ b/plugins/dalvik/v35/opdefs/add_d0.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title add-int/lit16 + +@id 208 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> <b>rsub-int</b> does not have a suffix since this version is the main opb of its family. Also, see below for details on its semantics. + +} + +@encoding() { + + @format 22s + +} diff --git a/plugins/dalvik/v35/opdefs/add_d8.d b/plugins/dalvik/v35/opdefs/add_d8.d new file mode 100644 index 0000000..e88a5c9 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/add_d8.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title add-int/lit8 + +@id 216 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} diff --git a/plugins/dalvik/v35/opdefs/aget_44.d b/plugins/dalvik/v35/opdefs/aget_44.d new file mode 100644 index 0000000..6931af6 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aget_44.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aget + +@id 68 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aget_45.d b/plugins/dalvik/v35/opdefs/aget_45.d new file mode 100644 index 0000000..9268f6f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aget_45.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aget-wide + +@id 69 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aget_46.d b/plugins/dalvik/v35/opdefs/aget_46.d new file mode 100644 index 0000000..0d2185e --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aget_46.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aget-object + +@id 70 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aget_47.d b/plugins/dalvik/v35/opdefs/aget_47.d new file mode 100644 index 0000000..5b75c11 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aget_47.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aget-boolean + +@id 71 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aget_48.d b/plugins/dalvik/v35/opdefs/aget_48.d new file mode 100644 index 0000000..8765831 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aget_48.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aget-byte + +@id 72 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aget_49.d b/plugins/dalvik/v35/opdefs/aget_49.d new file mode 100644 index 0000000..24e0fa9 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aget_49.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aget-char + +@id 73 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aget_4a.d b/plugins/dalvik/v35/opdefs/aget_4a.d new file mode 100644 index 0000000..841ec31 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aget_4a.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aget-short + +@id 74 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/and_95.d b/plugins/dalvik/v35/opdefs/and_95.d new file mode 100644 index 0000000..a75999d --- /dev/null +++ b/plugins/dalvik/v35/opdefs/and_95.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title and-int + +@id 149 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/and_a0.d b/plugins/dalvik/v35/opdefs/and_a0.d new file mode 100644 index 0000000..488233e --- /dev/null +++ b/plugins/dalvik/v35/opdefs/and_a0.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title and-long + +@id 160 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/and_b5.d b/plugins/dalvik/v35/opdefs/and_b5.d new file mode 100644 index 0000000..34547da --- /dev/null +++ b/plugins/dalvik/v35/opdefs/and_b5.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title and-int/2addr + +@id 181 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/and_c0.d b/plugins/dalvik/v35/opdefs/and_c0.d new file mode 100644 index 0000000..17bf2c6 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/and_c0.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title and-long/2addr + +@id 192 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/and_d5.d b/plugins/dalvik/v35/opdefs/and_d5.d new file mode 100644 index 0000000..84c88c8 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/and_d5.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title and-int/lit16 + +@id 213 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> <b>rsub-int</b> does not have a suffix since this version is the main opb of its family. Also, see below for details on its semantics. + +} + +@encoding() { + + @format 22s + +} diff --git a/plugins/dalvik/v35/opdefs/and_dd.d b/plugins/dalvik/v35/opdefs/and_dd.d new file mode 100644 index 0000000..0296b07 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/and_dd.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title and-int/lit8 + +@id 221 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} diff --git a/plugins/dalvik/v35/opdefs/aput_4b.d b/plugins/dalvik/v35/opdefs/aput_4b.d new file mode 100644 index 0000000..dc6a820 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aput_4b.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aput + +@id 75 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aput_4c.d b/plugins/dalvik/v35/opdefs/aput_4c.d new file mode 100644 index 0000000..83c38ac --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aput_4c.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aput-wide + +@id 76 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aput_4d.d b/plugins/dalvik/v35/opdefs/aput_4d.d new file mode 100644 index 0000000..8c1a9d1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aput_4d.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aput-object + +@id 77 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aput_4e.d b/plugins/dalvik/v35/opdefs/aput_4e.d new file mode 100644 index 0000000..5c7c923 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aput_4e.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aput-boolean + +@id 78 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aput_4f.d b/plugins/dalvik/v35/opdefs/aput_4f.d new file mode 100644 index 0000000..29a4c70 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aput_4f.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aput-byte + +@id 79 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aput_50.d b/plugins/dalvik/v35/opdefs/aput_50.d new file mode 100644 index 0000000..2c093ec --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aput_50.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aput-char + +@id 80 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/aput_51.d b/plugins/dalvik/v35/opdefs/aput_51.d new file mode 100644 index 0000000..aeb9dd6 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/aput_51.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title aput-short + +@id 81 + +@desc { + + Perform the identified array operation at the identified index of the given array, loading or storing into the value register. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/array_21.d b/plugins/dalvik/v35/opdefs/array_21.d new file mode 100644 index 0000000..56f5c4f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/array_21.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title array-length + +@id 33 + +@desc { + + Store in the given destination register the length of the indicated array, in entries + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/array_24.d b/plugins/dalvik/v35/opdefs/array_24.d new file mode 100644 index 0000000..5c5be4f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/array_24.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title filled-new-array + +@id 36 + +@desc { + + Construct an array of the given type and size, filling it with the supplied contents. The type must be an array type. The array's contents must be single-word (that is, no arrays of <b>long</b> or <b>double</b>, but reference types are acceptable). The constructed instance is stored as a "result" in the same way that the method invocation instructions store their results, so the constructed instance must be moved to a register with an immediately subsequent <b>move-result-object</b> instruction (if it is to be used). + +} + +@encoding() { + + @format 35c | pool_type + +} diff --git a/plugins/dalvik/v35/opdefs/array_26.d b/plugins/dalvik/v35/opdefs/array_26.d new file mode 100644 index 0000000..adceb24 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/array_26.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title fill-array-data + +@id 38 + +@desc { + + Fill the given array with the indicated data. The reference must be to an array of primitives, and the data table must match it in type and must contain no more elements than will fit in the array. That is, the array may be larger than the table, and if so, only the initial elements of the array are set, leaving the remainder alone. + +} + +@encoding() { + + @format 31t + +} diff --git a/plugins/dalvik/v35/opdefs/check_1f.d b/plugins/dalvik/v35/opdefs/check_1f.d new file mode 100644 index 0000000..4be9fef --- /dev/null +++ b/plugins/dalvik/v35/opdefs/check_1f.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title check-cast + +@id 31 + +@desc { + + Throw a <b>ClassCastException</b> if the reference in the given register cannot be cast to the indicated type. + +<b>Note:</b> Since <b>A</b> must always be a reference (and not a primitive value), this will necessarily fail at runtime (that is, it will throw an exception) if <b>B</b> refers to a primitive type. + +} + +@encoding() { + + @format 21c | pool_type + +} diff --git a/plugins/dalvik/v35/opdefs/cmp_31.d b/plugins/dalvik/v35/opdefs/cmp_31.d new file mode 100644 index 0000000..aeea00a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/cmp_31.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title cmp-long + +@id 49 + +@desc { + + Perform the indicated floating point or <b>long</b> comparison, setting <b>a</b> to <b>0</b> if <b>b == c</b>, <b>1</b> if <b>b > c</b>, or <b>-1</b> if <b>b < c</b>. The "bias" listed for the floating point operations indicates how <b>NaN</b> comparisons are treated: "gt bias" instructions return <b>1</b> for <b>NaN</b> comparisons, and "lt bias" instructions return <b>-1</b>. + +For example, to check to see if floating point <b>x < y</b> it is advisable to use <b>cmpg-float</b>; a result of <b>-1</b> indicates that the test was true, and the other values indicate it was false either due to a valid comparison or because one of the values was <b>NaN</b>. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/cmpg_2e.d b/plugins/dalvik/v35/opdefs/cmpg_2e.d new file mode 100644 index 0000000..c06be47 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/cmpg_2e.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title cmpg-float + +@id 46 + +@desc { + + Perform the indicated floating point or <b>long</b> comparison, setting <b>a</b> to <b>0</b> if <b>b == c</b>, <b>1</b> if <b>b > c</b>, or <b>-1</b> if <b>b < c</b>. The "bias" listed for the floating point operations indicates how <b>NaN</b> comparisons are treated: "gt bias" instructions return <b>1</b> for <b>NaN</b> comparisons, and "lt bias" instructions return <b>-1</b>. + +For example, to check to see if floating point <b>x < y</b> it is advisable to use <b>cmpg-float</b>; a result of <b>-1</b> indicates that the test was true, and the other values indicate it was false either due to a valid comparison or because one of the values was <b>NaN</b>. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/cmpg_30.d b/plugins/dalvik/v35/opdefs/cmpg_30.d new file mode 100644 index 0000000..40917d4 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/cmpg_30.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title cmpg-double + +@id 48 + +@desc { + + Perform the indicated floating point or <b>long</b> comparison, setting <b>a</b> to <b>0</b> if <b>b == c</b>, <b>1</b> if <b>b > c</b>, or <b>-1</b> if <b>b < c</b>. The "bias" listed for the floating point operations indicates how <b>NaN</b> comparisons are treated: "gt bias" instructions return <b>1</b> for <b>NaN</b> comparisons, and "lt bias" instructions return <b>-1</b>. + +For example, to check to see if floating point <b>x < y</b> it is advisable to use <b>cmpg-float</b>; a result of <b>-1</b> indicates that the test was true, and the other values indicate it was false either due to a valid comparison or because one of the values was <b>NaN</b>. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/cmpl_2d.d b/plugins/dalvik/v35/opdefs/cmpl_2d.d new file mode 100644 index 0000000..9b9e883 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/cmpl_2d.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title cmpl-float + +@id 45 + +@desc { + + Perform the indicated floating point or <b>long</b> comparison, setting <b>a</b> to <b>0</b> if <b>b == c</b>, <b>1</b> if <b>b > c</b>, or <b>-1</b> if <b>b < c</b>. The "bias" listed for the floating point operations indicates how <b>NaN</b> comparisons are treated: "gt bias" instructions return <b>1</b> for <b>NaN</b> comparisons, and "lt bias" instructions return <b>-1</b>. + +For example, to check to see if floating point <b>x < y</b> it is advisable to use <b>cmpg-float</b>; a result of <b>-1</b> indicates that the test was true, and the other values indicate it was false either due to a valid comparison or because one of the values was <b>NaN</b>. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/cmpl_2f.d b/plugins/dalvik/v35/opdefs/cmpl_2f.d new file mode 100644 index 0000000..4429977 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/cmpl_2f.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title cmpl-double + +@id 47 + +@desc { + + Perform the indicated floating point or <b>long</b> comparison, setting <b>a</b> to <b>0</b> if <b>b == c</b>, <b>1</b> if <b>b > c</b>, or <b>-1</b> if <b>b < c</b>. The "bias" listed for the floating point operations indicates how <b>NaN</b> comparisons are treated: "gt bias" instructions return <b>1</b> for <b>NaN</b> comparisons, and "lt bias" instructions return <b>-1</b>. + +For example, to check to see if floating point <b>x < y</b> it is advisable to use <b>cmpg-float</b>; a result of <b>-1</b> indicates that the test was true, and the other values indicate it was false either due to a valid comparison or because one of the values was <b>NaN</b>. + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/const_12.d b/plugins/dalvik/v35/opdefs/const_12.d new file mode 100644 index 0000000..963738a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_12.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const/4 + +@id 18 + +@desc { + + Move the given literal value (sign-extended to 32 bits) into the specified register. + +} + +@encoding() { + + @format 11n + +} diff --git a/plugins/dalvik/v35/opdefs/const_13.d b/plugins/dalvik/v35/opdefs/const_13.d new file mode 100644 index 0000000..32c09df --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_13.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const/16 + +@id 19 + +@desc { + + Move the given literal value (sign-extended to 32 bits) into the specified register. + +} + +@encoding() { + + @format 21s + +} diff --git a/plugins/dalvik/v35/opdefs/const_14.d b/plugins/dalvik/v35/opdefs/const_14.d new file mode 100644 index 0000000..402a889 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_14.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const + +@id 20 + +@desc { + + Move the given literal value into the specified register. + +} + +@encoding() { + + @format 31i + +} diff --git a/plugins/dalvik/v35/opdefs/const_15.d b/plugins/dalvik/v35/opdefs/const_15.d new file mode 100644 index 0000000..a9d6f98 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_15.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const/high16 + +@id 21 + +@desc { + + Move the given literal value (right-zero-extended to 32 bits) into the specified register. + +} + +@encoding() { + + @format 21h + +} diff --git a/plugins/dalvik/v35/opdefs/const_16.d b/plugins/dalvik/v35/opdefs/const_16.d new file mode 100644 index 0000000..3dcc25a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_16.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const-wide/16 + +@id 22 + +@desc { + + Move the given literal value (sign-extended to 64 bits) into the specified register-pair. + +} + +@encoding() { + + @format 21s + +} diff --git a/plugins/dalvik/v35/opdefs/const_17.d b/plugins/dalvik/v35/opdefs/const_17.d new file mode 100644 index 0000000..093f6d6 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_17.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const-wide/32 + +@id 23 + +@desc { + + Move the given literal value (sign-extended to 64 bits) into the specified register-pair. + +} + +@encoding() { + + @format 31i + +} diff --git a/plugins/dalvik/v35/opdefs/const_18.d b/plugins/dalvik/v35/opdefs/const_18.d new file mode 100644 index 0000000..b77fad9 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_18.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const-wide + +@id 24 + +@desc { + + Move the given literal value into the specified register-pair. + +} + +@encoding() { + + @format 51l + +} diff --git a/plugins/dalvik/v35/opdefs/const_19.d b/plugins/dalvik/v35/opdefs/const_19.d new file mode 100644 index 0000000..731797c --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_19.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const-wide/high16 + +@id 25 + +@desc { + + Move the given literal value (right-zero-extended to 64 bits) into the specified register-pair. + +} + +@encoding() { + + @format 21h + +} diff --git a/plugins/dalvik/v35/opdefs/const_1a.d b/plugins/dalvik/v35/opdefs/const_1a.d new file mode 100644 index 0000000..a019a08 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_1a.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const-string + +@id 26 + +@desc { + + Move a reference to the string specified by the given index into the specified register. + +} + +@encoding() { + + @format 21c | pool_string + +} diff --git a/plugins/dalvik/v35/opdefs/const_1b.d b/plugins/dalvik/v35/opdefs/const_1b.d new file mode 100644 index 0000000..65323bc --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_1b.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const-string/jumbo + +@id 27 + +@desc { + + Move a reference to the string specified by the given index into the specified register. + +} + +@encoding() { + + @format 31c | pool_string + +} diff --git a/plugins/dalvik/v35/opdefs/const_1c.d b/plugins/dalvik/v35/opdefs/const_1c.d new file mode 100644 index 0000000..ff7d1ae --- /dev/null +++ b/plugins/dalvik/v35/opdefs/const_1c.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title const-class + +@id 28 + +@desc { + + Move a reference to the class specified by the given index into the specified register. In the case where the indicated type is primitive, this will store a reference to the primitive type's degenerate class. + +} + +@encoding() { + + @format 21c | pool_type + +} diff --git a/plugins/dalvik/v35/opdefs/div_93.d b/plugins/dalvik/v35/opdefs/div_93.d new file mode 100644 index 0000000..096a084 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/div_93.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title div-int + +@id 147 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/div_9e.d b/plugins/dalvik/v35/opdefs/div_9e.d new file mode 100644 index 0000000..cbe850a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/div_9e.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title div-long + +@id 158 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/div_a9.d b/plugins/dalvik/v35/opdefs/div_a9.d new file mode 100644 index 0000000..728eec5 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/div_a9.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title div-float + +@id 169 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/div_ae.d b/plugins/dalvik/v35/opdefs/div_ae.d new file mode 100644 index 0000000..aaf9952 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/div_ae.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title div-double + +@id 174 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/div_b3.d b/plugins/dalvik/v35/opdefs/div_b3.d new file mode 100644 index 0000000..30c3092 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/div_b3.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title div-int/2addr + +@id 179 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/div_be.d b/plugins/dalvik/v35/opdefs/div_be.d new file mode 100644 index 0000000..3506db1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/div_be.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title div-long/2addr + +@id 190 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/div_c9.d b/plugins/dalvik/v35/opdefs/div_c9.d new file mode 100644 index 0000000..9585edf --- /dev/null +++ b/plugins/dalvik/v35/opdefs/div_c9.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title div-float/2addr + +@id 201 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/div_ce.d b/plugins/dalvik/v35/opdefs/div_ce.d new file mode 100644 index 0000000..96e7196 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/div_ce.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title div-double/2addr + +@id 206 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/div_d3.d b/plugins/dalvik/v35/opdefs/div_d3.d new file mode 100644 index 0000000..a669a66 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/div_d3.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title div-int/lit16 + +@id 211 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> <b>rsub-int</b> does not have a suffix since this version is the main opb of its family. Also, see below for details on its semantics. + +} + +@encoding() { + + @format 22s + +} diff --git a/plugins/dalvik/v35/opdefs/div_db.d b/plugins/dalvik/v35/opdefs/div_db.d new file mode 100644 index 0000000..6c6ee91 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/div_db.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title div-int/lit8 + +@id 219 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} diff --git a/plugins/dalvik/v35/opdefs/filled_25.d b/plugins/dalvik/v35/opdefs/filled_25.d new file mode 100644 index 0000000..aabc19f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/filled_25.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title filled-new-array/range + +@id 37 + +@desc { + + Construct an array of the given type and size, filling it with the supplied contents. Clarifications and restrictions are the same as <b>filled-new-array</b>, described above. + +} + +@encoding() { + + @format 3rc | pool_type + +} diff --git a/plugins/dalvik/v35/opdefs/goto_28.d b/plugins/dalvik/v35/opdefs/goto_28.d new file mode 100644 index 0000000..1d99514 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/goto_28.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title goto + +@id 40 + +@desc { + + Unconditionally jump to the indicated instruction. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either with <b>goto/32</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 10t + + @hooks { + + fetch = help_fetching_with_dalvik_goto_instruction + link = handle_jump_as_link + post = post_process_dalvik_goto_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/goto_29.d b/plugins/dalvik/v35/opdefs/goto_29.d new file mode 100644 index 0000000..6a19c84 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/goto_29.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title goto/16 + +@id 41 + +@desc { + + Unconditionally jump to the indicated instruction. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either with <b>goto/32</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 20t + + @hooks { + + fetch = help_fetching_with_dalvik_goto_instruction + link = handle_jump_as_link + post = post_process_dalvik_goto_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/goto_2a.d b/plugins/dalvik/v35/opdefs/goto_2a.d new file mode 100644 index 0000000..f9108ea --- /dev/null +++ b/plugins/dalvik/v35/opdefs/goto_2a.d @@ -0,0 +1,46 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title goto/32 + +@id 42 + +@desc { + + Unconditionally jump to the indicated instruction. + +} + +@encoding() { + + @format 30t + + @hooks { + + fetch = help_fetching_with_dalvik_goto_instruction + link = handle_jump_as_link + post = post_process_dalvik_goto_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_32.d b/plugins/dalvik/v35/opdefs/if_32.d new file mode 100644 index 0000000..5fe3e80 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_32.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-eq + +@id 50 + +@desc { + + Branch to the given destination if the given two registers' values compare as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 22t + + @hooks { + + fetch = help_fetching_with_dalvik_if_instruction + link = handle_dalvik_if_branch_as_link + post = post_process_dalvik_if_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_33.d b/plugins/dalvik/v35/opdefs/if_33.d new file mode 100644 index 0000000..de20c7f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_33.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-ne + +@id 51 + +@desc { + + Branch to the given destination if the given two registers' values compare as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 22t + + @hooks { + + fetch = help_fetching_with_dalvik_if_instruction + link = handle_dalvik_if_branch_as_link + post = post_process_dalvik_if_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_34.d b/plugins/dalvik/v35/opdefs/if_34.d new file mode 100644 index 0000000..d571c47 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_34.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-lt + +@id 52 + +@desc { + + Branch to the given destination if the given two registers' values compare as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 22t + + @hooks { + + fetch = help_fetching_with_dalvik_if_instruction + link = handle_dalvik_if_branch_as_link + post = post_process_dalvik_if_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_35.d b/plugins/dalvik/v35/opdefs/if_35.d new file mode 100644 index 0000000..2467a6d --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_35.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-ge + +@id 53 + +@desc { + + Branch to the given destination if the given two registers' values compare as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 22t + + @hooks { + + fetch = help_fetching_with_dalvik_if_instruction + link = handle_dalvik_if_branch_as_link + post = post_process_dalvik_if_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_36.d b/plugins/dalvik/v35/opdefs/if_36.d new file mode 100644 index 0000000..d4142d8 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_36.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-gt + +@id 54 + +@desc { + + Branch to the given destination if the given two registers' values compare as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 22t + + @hooks { + + fetch = help_fetching_with_dalvik_if_instruction + link = handle_dalvik_if_branch_as_link + post = post_process_dalvik_if_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_37.d b/plugins/dalvik/v35/opdefs/if_37.d new file mode 100644 index 0000000..8097bff --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_37.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-le + +@id 55 + +@desc { + + Branch to the given destination if the given two registers' values compare as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 22t + + @hooks { + + fetch = help_fetching_with_dalvik_if_instruction + link = handle_dalvik_if_branch_as_link + post = post_process_dalvik_if_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_38.d b/plugins/dalvik/v35/opdefs/if_38.d new file mode 100644 index 0000000..54680c2 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_38.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-eqz + +@id 56 + +@desc { + + Branch to the given destination if the given register's value compares with 0 as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 21t + + @hooks { + + fetch = help_fetching_with_dalvik_ifz_instruction + link = handle_dalvik_ifz_branch_as_link + post = post_process_dalvik_ifz_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_39.d b/plugins/dalvik/v35/opdefs/if_39.d new file mode 100644 index 0000000..d74191e --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_39.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-nez + +@id 57 + +@desc { + + Branch to the given destination if the given register's value compares with 0 as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 21t + + @hooks { + + fetch = help_fetching_with_dalvik_ifz_instruction + link = handle_dalvik_ifz_branch_as_link + post = post_process_dalvik_ifz_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_3a.d b/plugins/dalvik/v35/opdefs/if_3a.d new file mode 100644 index 0000000..ded0257 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_3a.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-ltz + +@id 58 + +@desc { + + Branch to the given destination if the given register's value compares with 0 as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 21t + + @hooks { + + fetch = help_fetching_with_dalvik_ifz_instruction + link = handle_dalvik_ifz_branch_as_link + post = post_process_dalvik_ifz_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_3b.d b/plugins/dalvik/v35/opdefs/if_3b.d new file mode 100644 index 0000000..bd0591f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_3b.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-gez + +@id 59 + +@desc { + + Branch to the given destination if the given register's value compares with 0 as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 21t + + @hooks { + + fetch = help_fetching_with_dalvik_ifz_instruction + link = handle_dalvik_ifz_branch_as_link + post = post_process_dalvik_ifz_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_3c.d b/plugins/dalvik/v35/opdefs/if_3c.d new file mode 100644 index 0000000..9f0e622 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_3c.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-gtz + +@id 60 + +@desc { + + Branch to the given destination if the given register's value compares with 0 as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 21t + + @hooks { + + fetch = help_fetching_with_dalvik_ifz_instruction + link = handle_dalvik_ifz_branch_as_link + post = post_process_dalvik_ifz_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/if_3d.d b/plugins/dalvik/v35/opdefs/if_3d.d new file mode 100644 index 0000000..92eaeb9 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/if_3d.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title if-lez + +@id 61 + +@desc { + + Branch to the given destination if the given register's value compares with 0 as specified. + +<b>Note:</b> The branch offset must not be <b>0</b>. (A spin loop may be legally constructed either by branching around a backward <b>goto</b> or by including a <b>nop</b> as a target before the branch.) + +} + +@encoding() { + + @format 21t + + @hooks { + + fetch = help_fetching_with_dalvik_ifz_instruction + link = handle_dalvik_ifz_branch_as_link + post = post_process_dalvik_ifz_target_resolution + + } + +} diff --git a/plugins/dalvik/v35/opdefs/iget_52.d b/plugins/dalvik/v35/opdefs/iget_52.d new file mode 100644 index 0000000..b88bb18 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iget_52.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iget + +@id 82 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iget_53.d b/plugins/dalvik/v35/opdefs/iget_53.d new file mode 100644 index 0000000..878a108 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iget_53.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iget-wide + +@id 83 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iget_54.d b/plugins/dalvik/v35/opdefs/iget_54.d new file mode 100644 index 0000000..6eb1235 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iget_54.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iget-object + +@id 84 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iget_55.d b/plugins/dalvik/v35/opdefs/iget_55.d new file mode 100644 index 0000000..fa65812 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iget_55.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iget-boolean + +@id 85 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iget_56.d b/plugins/dalvik/v35/opdefs/iget_56.d new file mode 100644 index 0000000..d77ef24 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iget_56.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iget-byte + +@id 86 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iget_57.d b/plugins/dalvik/v35/opdefs/iget_57.d new file mode 100644 index 0000000..acde802 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iget_57.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iget-char + +@id 87 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iget_58.d b/plugins/dalvik/v35/opdefs/iget_58.d new file mode 100644 index 0000000..7a0ac96 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iget_58.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iget-short + +@id 88 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/instanceof_20.d b/plugins/dalvik/v35/opdefs/instanceof_20.d new file mode 100644 index 0000000..3e84fb7 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/instanceof_20.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title instance-of + +@id 32 + +@desc { + + Store in the given destination register <b>1</b> if the indicated reference is an instance of the given type, or <b>0</b> if not. + +<b>Note:</b> Since <b>B</b> must always be a reference (and not a primitive value), this will always result in <b>0</b> being stored if <b>C</b> refers to a primitive type. + +} + +@encoding() { + + @format 22c | pool_type + +} diff --git a/plugins/dalvik/v35/opdefs/invoke_6e.d b/plugins/dalvik/v35/opdefs/invoke_6e.d new file mode 100644 index 0000000..a045be8 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/invoke_6e.d @@ -0,0 +1,52 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title invoke-virtual + +@id 110 + +@desc { + + Call the indicated method. The result (if any) may be stored with an appropriate <b>move-result*</b> variant as the immediately subsequent instruction. + +<b>invoke-virtual</b> is used to invoke a normal virtual method (a method that is not <b>private</b>, <b>static</b>, or <b>final</b>, and is also not a constructor). + +When the <b>method_id</b> references a method of a non-interface class, <b>invoke-super</b> is used to invoke the closest superclass's virtual method (as opposed to the one with the same <b>method_id</b> in the calling class). The same method restrictions hold as for <b>invoke-virtual</b>. + +In Dex files version <b>037</b> or later, if the <b>method_id</b> refers to an interface method, <b>invoke-super</b> is used to invoke the most specific, non-overridden version of that method defined on that interface. The same method restrictions hold as for <b>invoke-virtual</b>. In Dex files prior to version <b>037</b>, having an interface <b>method_id</b> is illegal and undefined. + +<b>invoke-direct</b> is used to invoke a non-<b>static</b> direct method (that is, an instance method that is by its nature non-overridable, namely either a <b>private</b> instance method or a constructor). + +<b>invoke-static</b> is used to invoke a <b>static</b> method (which is always considered a direct method). + +<b>invoke-interface</b> is used to invoke an <b>interface</b> method, that is, on an object whose concrete class isn't known, using a <b>method_id</b> that refers to an <b>interface</b>. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the method argument to be a more direct offset (or pair thereof). + +} + +@encoding() { + + @format 35c | pool_meth + +} diff --git a/plugins/dalvik/v35/opdefs/invoke_6f.d b/plugins/dalvik/v35/opdefs/invoke_6f.d new file mode 100644 index 0000000..804f2d1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/invoke_6f.d @@ -0,0 +1,52 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title invoke-super + +@id 111 + +@desc { + + Call the indicated method. The result (if any) may be stored with an appropriate <b>move-result*</b> variant as the immediately subsequent instruction. + +<b>invoke-virtual</b> is used to invoke a normal virtual method (a method that is not <b>private</b>, <b>static</b>, or <b>final</b>, and is also not a constructor). + +When the <b>method_id</b> references a method of a non-interface class, <b>invoke-super</b> is used to invoke the closest superclass's virtual method (as opposed to the one with the same <b>method_id</b> in the calling class). The same method restrictions hold as for <b>invoke-virtual</b>. + +In Dex files version <b>037</b> or later, if the <b>method_id</b> refers to an interface method, <b>invoke-super</b> is used to invoke the most specific, non-overridden version of that method defined on that interface. The same method restrictions hold as for <b>invoke-virtual</b>. In Dex files prior to version <b>037</b>, having an interface <b>method_id</b> is illegal and undefined. + +<b>invoke-direct</b> is used to invoke a non-<b>static</b> direct method (that is, an instance method that is by its nature non-overridable, namely either a <b>private</b> instance method or a constructor). + +<b>invoke-static</b> is used to invoke a <b>static</b> method (which is always considered a direct method). + +<b>invoke-interface</b> is used to invoke an <b>interface</b> method, that is, on an object whose concrete class isn't known, using a <b>method_id</b> that refers to an <b>interface</b>. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the method argument to be a more direct offset (or pair thereof). + +} + +@encoding() { + + @format 35c | pool_meth + +} diff --git a/plugins/dalvik/v35/opdefs/invoke_70.d b/plugins/dalvik/v35/opdefs/invoke_70.d new file mode 100644 index 0000000..f383427 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/invoke_70.d @@ -0,0 +1,52 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title invoke-direct + +@id 112 + +@desc { + + Call the indicated method. The result (if any) may be stored with an appropriate <b>move-result*</b> variant as the immediately subsequent instruction. + +<b>invoke-virtual</b> is used to invoke a normal virtual method (a method that is not <b>private</b>, <b>static</b>, or <b>final</b>, and is also not a constructor). + +When the <b>method_id</b> references a method of a non-interface class, <b>invoke-super</b> is used to invoke the closest superclass's virtual method (as opposed to the one with the same <b>method_id</b> in the calling class). The same method restrictions hold as for <b>invoke-virtual</b>. + +In Dex files version <b>037</b> or later, if the <b>method_id</b> refers to an interface method, <b>invoke-super</b> is used to invoke the most specific, non-overridden version of that method defined on that interface. The same method restrictions hold as for <b>invoke-virtual</b>. In Dex files prior to version <b>037</b>, having an interface <b>method_id</b> is illegal and undefined. + +<b>invoke-direct</b> is used to invoke a non-<b>static</b> direct method (that is, an instance method that is by its nature non-overridable, namely either a <b>private</b> instance method or a constructor). + +<b>invoke-static</b> is used to invoke a <b>static</b> method (which is always considered a direct method). + +<b>invoke-interface</b> is used to invoke an <b>interface</b> method, that is, on an object whose concrete class isn't known, using a <b>method_id</b> that refers to an <b>interface</b>. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the method argument to be a more direct offset (or pair thereof). + +} + +@encoding() { + + @format 35c | pool_meth + +} diff --git a/plugins/dalvik/v35/opdefs/invoke_71.d b/plugins/dalvik/v35/opdefs/invoke_71.d new file mode 100644 index 0000000..b21eca3 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/invoke_71.d @@ -0,0 +1,52 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title invoke-static + +@id 113 + +@desc { + + Call the indicated method. The result (if any) may be stored with an appropriate <b>move-result*</b> variant as the immediately subsequent instruction. + +<b>invoke-virtual</b> is used to invoke a normal virtual method (a method that is not <b>private</b>, <b>static</b>, or <b>final</b>, and is also not a constructor). + +When the <b>method_id</b> references a method of a non-interface class, <b>invoke-super</b> is used to invoke the closest superclass's virtual method (as opposed to the one with the same <b>method_id</b> in the calling class). The same method restrictions hold as for <b>invoke-virtual</b>. + +In Dex files version <b>037</b> or later, if the <b>method_id</b> refers to an interface method, <b>invoke-super</b> is used to invoke the most specific, non-overridden version of that method defined on that interface. The same method restrictions hold as for <b>invoke-virtual</b>. In Dex files prior to version <b>037</b>, having an interface <b>method_id</b> is illegal and undefined. + +<b>invoke-direct</b> is used to invoke a non-<b>static</b> direct method (that is, an instance method that is by its nature non-overridable, namely either a <b>private</b> instance method or a constructor). + +<b>invoke-static</b> is used to invoke a <b>static</b> method (which is always considered a direct method). + +<b>invoke-interface</b> is used to invoke an <b>interface</b> method, that is, on an object whose concrete class isn't known, using a <b>method_id</b> that refers to an <b>interface</b>. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the method argument to be a more direct offset (or pair thereof). + +} + +@encoding() { + + @format 35c | pool_meth + +} diff --git a/plugins/dalvik/v35/opdefs/invoke_72.d b/plugins/dalvik/v35/opdefs/invoke_72.d new file mode 100644 index 0000000..74cca2b --- /dev/null +++ b/plugins/dalvik/v35/opdefs/invoke_72.d @@ -0,0 +1,52 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title invoke-interface + +@id 114 + +@desc { + + Call the indicated method. The result (if any) may be stored with an appropriate <b>move-result*</b> variant as the immediately subsequent instruction. + +<b>invoke-virtual</b> is used to invoke a normal virtual method (a method that is not <b>private</b>, <b>static</b>, or <b>final</b>, and is also not a constructor). + +When the <b>method_id</b> references a method of a non-interface class, <b>invoke-super</b> is used to invoke the closest superclass's virtual method (as opposed to the one with the same <b>method_id</b> in the calling class). The same method restrictions hold as for <b>invoke-virtual</b>. + +In Dex files version <b>037</b> or later, if the <b>method_id</b> refers to an interface method, <b>invoke-super</b> is used to invoke the most specific, non-overridden version of that method defined on that interface. The same method restrictions hold as for <b>invoke-virtual</b>. In Dex files prior to version <b>037</b>, having an interface <b>method_id</b> is illegal and undefined. + +<b>invoke-direct</b> is used to invoke a non-<b>static</b> direct method (that is, an instance method that is by its nature non-overridable, namely either a <b>private</b> instance method or a constructor). + +<b>invoke-static</b> is used to invoke a <b>static</b> method (which is always considered a direct method). + +<b>invoke-interface</b> is used to invoke an <b>interface</b> method, that is, on an object whose concrete class isn't known, using a <b>method_id</b> that refers to an <b>interface</b>. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the method argument to be a more direct offset (or pair thereof). + +} + +@encoding() { + + @format 35c | pool_meth + +} diff --git a/plugins/dalvik/v35/opdefs/invoke_74.d b/plugins/dalvik/v35/opdefs/invoke_74.d new file mode 100644 index 0000000..e8275fc --- /dev/null +++ b/plugins/dalvik/v35/opdefs/invoke_74.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title invoke-virtual/range + +@id 116 + +@desc { + + Call the indicated method. See first <b>invoke-<i>kind</i></b> description above for details, caveats, and suggestions. + +} + +@encoding() { + + @format 3rc | pool_meth + +} diff --git a/plugins/dalvik/v35/opdefs/invoke_75.d b/plugins/dalvik/v35/opdefs/invoke_75.d new file mode 100644 index 0000000..5802f05 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/invoke_75.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title invoke-super/range + +@id 117 + +@desc { + + Call the indicated method. See first <b>invoke-<i>kind</i></b> description above for details, caveats, and suggestions. + +} + +@encoding() { + + @format 3rc | pool_meth + +} diff --git a/plugins/dalvik/v35/opdefs/invoke_76.d b/plugins/dalvik/v35/opdefs/invoke_76.d new file mode 100644 index 0000000..ac1a7b0 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/invoke_76.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title invoke-direct/range + +@id 118 + +@desc { + + Call the indicated method. See first <b>invoke-<i>kind</i></b> description above for details, caveats, and suggestions. + +} + +@encoding() { + + @format 3rc | pool_meth + +} diff --git a/plugins/dalvik/v35/opdefs/invoke_77.d b/plugins/dalvik/v35/opdefs/invoke_77.d new file mode 100644 index 0000000..64d6075 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/invoke_77.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title invoke-static/range + +@id 119 + +@desc { + + Call the indicated method. See first <b>invoke-<i>kind</i></b> description above for details, caveats, and suggestions. + +} + +@encoding() { + + @format 3rc | pool_meth + +} diff --git a/plugins/dalvik/v35/opdefs/invoke_78.d b/plugins/dalvik/v35/opdefs/invoke_78.d new file mode 100644 index 0000000..f3e8839 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/invoke_78.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title invoke-interface/range + +@id 120 + +@desc { + + Call the indicated method. See first <b>invoke-<i>kind</i></b> description above for details, caveats, and suggestions. + +} + +@encoding() { + + @format 3rc | pool_meth + +} diff --git a/plugins/dalvik/v35/opdefs/iput_59.d b/plugins/dalvik/v35/opdefs/iput_59.d new file mode 100644 index 0000000..b11da8b --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iput_59.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iput + +@id 89 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iput_5a.d b/plugins/dalvik/v35/opdefs/iput_5a.d new file mode 100644 index 0000000..f2e8311 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iput_5a.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iput-wide + +@id 90 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iput_5b.d b/plugins/dalvik/v35/opdefs/iput_5b.d new file mode 100644 index 0000000..631892c --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iput_5b.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iput-object + +@id 91 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iput_5c.d b/plugins/dalvik/v35/opdefs/iput_5c.d new file mode 100644 index 0000000..8cc1fb6 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iput_5c.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iput-boolean + +@id 92 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iput_5d.d b/plugins/dalvik/v35/opdefs/iput_5d.d new file mode 100644 index 0000000..93edb58 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iput_5d.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iput-byte + +@id 93 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iput_5e.d b/plugins/dalvik/v35/opdefs/iput_5e.d new file mode 100644 index 0000000..48cb4f6 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iput_5e.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iput-char + +@id 94 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/iput_5f.d b/plugins/dalvik/v35/opdefs/iput_5f.d new file mode 100644 index 0000000..9bbd72a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/iput_5f.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title iput-short + +@id 95 + +@desc { + + Perform the identified object instance field operation with the identified field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 22c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/monitor_1d.d b/plugins/dalvik/v35/opdefs/monitor_1d.d new file mode 100644 index 0000000..101ffad --- /dev/null +++ b/plugins/dalvik/v35/opdefs/monitor_1d.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title monitor-enter + +@id 29 + +@desc { + + Acquire the monitor for the indicated object. + +} + +@encoding() { + + @format 11x + +} diff --git a/plugins/dalvik/v35/opdefs/monitor_1e.d b/plugins/dalvik/v35/opdefs/monitor_1e.d new file mode 100644 index 0000000..b54af35 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/monitor_1e.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title monitor-exit + +@id 30 + +@desc { + + Release the monitor for the indicated object. + +<b>Note:</b> If this instruction needs to throw an exception, it must do so as if the pc has already advanced past the instruction. It may be useful to think of this as the instruction successfully executing (in a sense), and the exception getting thrown <i>after</i> the instruction but <i>before</i> the next one gets a chance to run. This definition makes it possible for a method to use a monitor cleanup catch-all (e.g., <b>finally</b>) block as the monitor cleanup for that block itself, as a way to handle the arbitrary exceptions that might get thrown due to the historical implementation of <b>Thread.stop()</b>, while still managing to have proper monitor hygiene. + +} + +@encoding() { + + @format 11x + +} diff --git a/plugins/dalvik/v35/opdefs/move_01.d b/plugins/dalvik/v35/opdefs/move_01.d new file mode 100644 index 0000000..788a359 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_01.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move + +@id 1 + +@desc { + + Move the contents of one non-object register to another. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/move_02.d b/plugins/dalvik/v35/opdefs/move_02.d new file mode 100644 index 0000000..8453561 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_02.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move/from16 + +@id 2 + +@desc { + + Move the contents of one non-object register to another. + +} + +@encoding() { + + @format 22x + +} diff --git a/plugins/dalvik/v35/opdefs/move_03.d b/plugins/dalvik/v35/opdefs/move_03.d new file mode 100644 index 0000000..a665ccd --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_03.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move/16 + +@id 3 + +@desc { + + Move the contents of one non-object register to another. + +} + +@encoding() { + + @format 32x + +} diff --git a/plugins/dalvik/v35/opdefs/move_04.d b/plugins/dalvik/v35/opdefs/move_04.d new file mode 100644 index 0000000..d4f9395 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_04.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move-wide + +@id 4 + +@desc { + + Move the contents of one register-pair to another. + +<b>Note:</b> It is legal to move from <b>v<i>N</i></b> to either <b>v<i>N-1</i></b> or <b>v<i>N+1</i></b>, so implementations must arrange for both halves of a register pair to be read before anything is written. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/move_05.d b/plugins/dalvik/v35/opdefs/move_05.d new file mode 100644 index 0000000..36b276c --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_05.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move-wide/from16 + +@id 5 + +@desc { + + Move the contents of one register-pair to another. + +<b>Note:</b> Implementation considerations are the same as <b>move-wide</b>, above. + +} + +@encoding() { + + @format 22x + +} diff --git a/plugins/dalvik/v35/opdefs/move_06.d b/plugins/dalvik/v35/opdefs/move_06.d new file mode 100644 index 0000000..2b40adb --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_06.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move-wide/16 + +@id 6 + +@desc { + + Move the contents of one register-pair to another. + +<b>Note:</b> Implementation considerations are the same as <b>move-wide</b>, above. + +} + +@encoding() { + + @format 32x + +} diff --git a/plugins/dalvik/v35/opdefs/move_07.d b/plugins/dalvik/v35/opdefs/move_07.d new file mode 100644 index 0000000..8d982e5 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_07.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move-object + +@id 7 + +@desc { + + Move the contents of one object-bearing register to another. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/move_08.d b/plugins/dalvik/v35/opdefs/move_08.d new file mode 100644 index 0000000..d58d356 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_08.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move-object/from16 + +@id 8 + +@desc { + + Move the contents of one object-bearing register to another. + +} + +@encoding() { + + @format 22x + +} diff --git a/plugins/dalvik/v35/opdefs/move_09.d b/plugins/dalvik/v35/opdefs/move_09.d new file mode 100644 index 0000000..520c03e --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_09.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move-object/16 + +@id 9 + +@desc { + + Move the contents of one object-bearing register to another. + +} + +@encoding() { + + @format 32x + +} diff --git a/plugins/dalvik/v35/opdefs/move_0a.d b/plugins/dalvik/v35/opdefs/move_0a.d new file mode 100644 index 0000000..250b8fc --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_0a.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move-result + +@id 10 + +@desc { + + Move the single-word non-object result of the most recent <b>invoke-<i>kind</i></b> into the indicated register. This must be done as the instruction immediately after an <b>invoke-<i>kind</i></b> whose (single-word, non-object) result is not to be ignored; anywhere else is invalid. + +} + +@encoding() { + + @format 11x + +} diff --git a/plugins/dalvik/v35/opdefs/move_0b.d b/plugins/dalvik/v35/opdefs/move_0b.d new file mode 100644 index 0000000..35b6270 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_0b.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move-result-wide + +@id 11 + +@desc { + + Move the double-word result of the most recent <b>invoke-<i>kind</i></b> into the indicated register pair. This must be done as the instruction immediately after an <b>invoke-<i>kind</i></b> whose (double-word) result is not to be ignored; anywhere else is invalid. + +} + +@encoding() { + + @format 11x + +} diff --git a/plugins/dalvik/v35/opdefs/move_0c.d b/plugins/dalvik/v35/opdefs/move_0c.d new file mode 100644 index 0000000..4109578 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_0c.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move-result-object + +@id 12 + +@desc { + + Move the object result of the most recent <b>invoke-<i>kind</i></b> into the indicated register. This must be done as the instruction immediately after an <b>invoke-<i>kind</i></b> or <b>filled-new-array</b> whose (object) result is not to be ignored; anywhere else is invalid. + +} + +@encoding() { + + @format 11x + +} diff --git a/plugins/dalvik/v35/opdefs/move_0d.d b/plugins/dalvik/v35/opdefs/move_0d.d new file mode 100644 index 0000000..155e585 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/move_0d.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title move-exception + +@id 13 + +@desc { + + Save a just-caught exception into the given register. This must be the first instruction of any exception handler whose caught exception is not to be ignored, and this instruction must <i>only</i> ever occur as the first instruction of an exception handler; anywhere else is invalid. + +} + +@encoding() { + + @format 11x + +} diff --git a/plugins/dalvik/v35/opdefs/mul_92.d b/plugins/dalvik/v35/opdefs/mul_92.d new file mode 100644 index 0000000..7de6f1a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/mul_92.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title mul-int + +@id 146 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/mul_9d.d b/plugins/dalvik/v35/opdefs/mul_9d.d new file mode 100644 index 0000000..0f62e22 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/mul_9d.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title mul-long + +@id 157 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/mul_a8.d b/plugins/dalvik/v35/opdefs/mul_a8.d new file mode 100644 index 0000000..0a77ac1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/mul_a8.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title mul-float + +@id 168 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/mul_ad.d b/plugins/dalvik/v35/opdefs/mul_ad.d new file mode 100644 index 0000000..8f43825 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/mul_ad.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title mul-double + +@id 173 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/mul_b2.d b/plugins/dalvik/v35/opdefs/mul_b2.d new file mode 100644 index 0000000..b82d948 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/mul_b2.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title mul-int/2addr + +@id 178 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/mul_bd.d b/plugins/dalvik/v35/opdefs/mul_bd.d new file mode 100644 index 0000000..622dd61 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/mul_bd.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title mul-long/2addr + +@id 189 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/mul_c8.d b/plugins/dalvik/v35/opdefs/mul_c8.d new file mode 100644 index 0000000..04a1ac1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/mul_c8.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title mul-float/2addr + +@id 200 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/mul_cd.d b/plugins/dalvik/v35/opdefs/mul_cd.d new file mode 100644 index 0000000..3622c1a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/mul_cd.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title mul-double/2addr + +@id 205 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/mul_d2.d b/plugins/dalvik/v35/opdefs/mul_d2.d new file mode 100644 index 0000000..b7f44a0 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/mul_d2.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title mul-int/lit16 + +@id 210 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> <b>rsub-int</b> does not have a suffix since this version is the main opb of its family. Also, see below for details on its semantics. + +} + +@encoding() { + + @format 22s + +} diff --git a/plugins/dalvik/v35/opdefs/mul_da.d b/plugins/dalvik/v35/opdefs/mul_da.d new file mode 100644 index 0000000..ac7fba2 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/mul_da.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title mul-int/lit8 + +@id 218 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} diff --git a/plugins/dalvik/v35/opdefs/neg_7b.d b/plugins/dalvik/v35/opdefs/neg_7b.d new file mode 100644 index 0000000..1e518e2 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/neg_7b.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title neg-int + +@id 123 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/neg_7d.d b/plugins/dalvik/v35/opdefs/neg_7d.d new file mode 100644 index 0000000..370aa5f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/neg_7d.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title neg-long + +@id 125 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/neg_7f.d b/plugins/dalvik/v35/opdefs/neg_7f.d new file mode 100644 index 0000000..39b8dcd --- /dev/null +++ b/plugins/dalvik/v35/opdefs/neg_7f.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title neg-float + +@id 127 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/neg_80.d b/plugins/dalvik/v35/opdefs/neg_80.d new file mode 100644 index 0000000..e0faa70 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/neg_80.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title neg-double + +@id 128 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/new_22.d b/plugins/dalvik/v35/opdefs/new_22.d new file mode 100644 index 0000000..f23307f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/new_22.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title new-instance + +@id 34 + +@desc { + + Construct a new instance of the indicated type, storing a reference to it in the destination. The type must refer to a non-array class. + +} + +@encoding() { + + @format 21c | pool_type + +} diff --git a/plugins/dalvik/v35/opdefs/new_23.d b/plugins/dalvik/v35/opdefs/new_23.d new file mode 100644 index 0000000..7639e2c --- /dev/null +++ b/plugins/dalvik/v35/opdefs/new_23.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title new-array + +@id 35 + +@desc { + + Construct a new array of the indicated type and size. The type must be an array type. + +} + +@encoding() { + + @format 22c | pool_type + +} diff --git a/plugins/dalvik/v35/opdefs/nop_00.d b/plugins/dalvik/v35/opdefs/nop_00.d new file mode 100644 index 0000000..b48d883 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/nop_00.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title nop + +@id 0 + +@desc { + + Waste cycles. + +<b>Note:</b> Data-bearing pseudo-instructions are tagged with this opb, in which case the high-order byte of the opb unit indicates the nature of the data. See "<b>packed-switch-payload</b> Format", "<b>sparse-switch-payload</b> Format", and "<b>fill-array-data-payload</b> Format" below. + +} + +@encoding() { + + @format 10x + +} diff --git a/plugins/dalvik/v35/opdefs/not_7c.d b/plugins/dalvik/v35/opdefs/not_7c.d new file mode 100644 index 0000000..395dcb1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/not_7c.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title not-int + +@id 124 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/not_7e.d b/plugins/dalvik/v35/opdefs/not_7e.d new file mode 100644 index 0000000..0a50102 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/not_7e.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title not-long + +@id 126 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/or_96.d b/plugins/dalvik/v35/opdefs/or_96.d new file mode 100644 index 0000000..cbdfd0b --- /dev/null +++ b/plugins/dalvik/v35/opdefs/or_96.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title or-int + +@id 150 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/or_a1.d b/plugins/dalvik/v35/opdefs/or_a1.d new file mode 100644 index 0000000..b5ec103 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/or_a1.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title or-long + +@id 161 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/or_b6.d b/plugins/dalvik/v35/opdefs/or_b6.d new file mode 100644 index 0000000..8dd878a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/or_b6.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title or-int/2addr + +@id 182 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/or_c1.d b/plugins/dalvik/v35/opdefs/or_c1.d new file mode 100644 index 0000000..d7224a4 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/or_c1.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title or-long/2addr + +@id 193 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/or_d6.d b/plugins/dalvik/v35/opdefs/or_d6.d new file mode 100644 index 0000000..3543093 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/or_d6.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title or-int/lit16 + +@id 214 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> <b>rsub-int</b> does not have a suffix since this version is the main opb of its family. Also, see below for details on its semantics. + +} + +@encoding() { + + @format 22s + +} diff --git a/plugins/dalvik/v35/opdefs/or_de.d b/plugins/dalvik/v35/opdefs/or_de.d new file mode 100644 index 0000000..582ed6a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/or_de.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title or-int/lit8 + +@id 222 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} diff --git a/plugins/dalvik/v35/opdefs/rem_94.d b/plugins/dalvik/v35/opdefs/rem_94.d new file mode 100644 index 0000000..54aeaa6 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rem_94.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rem-int + +@id 148 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/rem_9f.d b/plugins/dalvik/v35/opdefs/rem_9f.d new file mode 100644 index 0000000..1fe7291 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rem_9f.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rem-long + +@id 159 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/rem_aa.d b/plugins/dalvik/v35/opdefs/rem_aa.d new file mode 100644 index 0000000..54f6f08 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rem_aa.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rem-float + +@id 170 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/rem_af.d b/plugins/dalvik/v35/opdefs/rem_af.d new file mode 100644 index 0000000..8441dad --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rem_af.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rem-double + +@id 175 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/rem_b4.d b/plugins/dalvik/v35/opdefs/rem_b4.d new file mode 100644 index 0000000..8c904c7 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rem_b4.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rem-int/2addr + +@id 180 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/rem_bf.d b/plugins/dalvik/v35/opdefs/rem_bf.d new file mode 100644 index 0000000..85863b9 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rem_bf.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rem-long/2addr + +@id 191 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/rem_ca.d b/plugins/dalvik/v35/opdefs/rem_ca.d new file mode 100644 index 0000000..6d69082 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rem_ca.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rem-float/2addr + +@id 202 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/rem_cf.d b/plugins/dalvik/v35/opdefs/rem_cf.d new file mode 100644 index 0000000..502baad --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rem_cf.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rem-double/2addr + +@id 207 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/rem_d4.d b/plugins/dalvik/v35/opdefs/rem_d4.d new file mode 100644 index 0000000..faf7390 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rem_d4.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rem-int/lit16 + +@id 212 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> <b>rsub-int</b> does not have a suffix since this version is the main opb of its family. Also, see below for details on its semantics. + +} + +@encoding() { + + @format 22s + +} diff --git a/plugins/dalvik/v35/opdefs/rem_dc.d b/plugins/dalvik/v35/opdefs/rem_dc.d new file mode 100644 index 0000000..a19c7df --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rem_dc.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rem-int/lit8 + +@id 220 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} diff --git a/plugins/dalvik/v35/opdefs/return_0e.d b/plugins/dalvik/v35/opdefs/return_0e.d new file mode 100644 index 0000000..7c42cb7 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/return_0e.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title return-void + +@id 14 + +@desc { + + Return from a <b>void</b> method. + +} + +@encoding() { + + @format 10x + + @syntax { + + @rules { + + call g_arch_instruction_set_flag(AIF_RETURN_POINT) + + } + + } + +} diff --git a/plugins/dalvik/v35/opdefs/return_0f.d b/plugins/dalvik/v35/opdefs/return_0f.d new file mode 100644 index 0000000..2051443 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/return_0f.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title return + +@id 15 + +@desc { + + Return from a single-width (32-bit) non-object value-returning method. + +} + +@encoding() { + + @format 11x + + @syntax { + + @rules { + + call g_arch_instruction_set_flag(AIF_RETURN_POINT) + + } + + } + +} diff --git a/plugins/dalvik/v35/opdefs/return_10.d b/plugins/dalvik/v35/opdefs/return_10.d new file mode 100644 index 0000000..7cf1ce3 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/return_10.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title return-wide + +@id 16 + +@desc { + + Return from a double-width (64-bit) value-returning method. + +} + +@encoding() { + + @format 11x + + @syntax { + + @rules { + + call g_arch_instruction_set_flag(AIF_RETURN_POINT) + + } + + } + +} diff --git a/plugins/dalvik/v35/opdefs/return_11.d b/plugins/dalvik/v35/opdefs/return_11.d new file mode 100644 index 0000000..4023de7 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/return_11.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title return-object + +@id 17 + +@desc { + + Return from an object-returning method. + +} + +@encoding() { + + @format 11x + + @syntax { + + @rules { + + call g_arch_instruction_set_flag(AIF_RETURN_POINT) + + } + + } + +} diff --git a/plugins/dalvik/v35/opdefs/rsub_d1.d b/plugins/dalvik/v35/opdefs/rsub_d1.d new file mode 100644 index 0000000..4385967 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rsub_d1.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rsub-int + +@id 209 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> <b>rsub-int</b> does not have a suffix since this version is the main opb of its family. Also, see below for details on its semantics. + +} + +@encoding() { + + @format 22s + +} diff --git a/plugins/dalvik/v35/opdefs/rsub_d9.d b/plugins/dalvik/v35/opdefs/rsub_d9.d new file mode 100644 index 0000000..890846c --- /dev/null +++ b/plugins/dalvik/v35/opdefs/rsub_d9.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title rsub-int/lit8 + +@id 217 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} diff --git a/plugins/dalvik/v35/opdefs/sget_60.d b/plugins/dalvik/v35/opdefs/sget_60.d new file mode 100644 index 0000000..e017ff8 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sget_60.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sget + +@id 96 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sget_61.d b/plugins/dalvik/v35/opdefs/sget_61.d new file mode 100644 index 0000000..faa94e4 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sget_61.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sget-wide + +@id 97 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sget_62.d b/plugins/dalvik/v35/opdefs/sget_62.d new file mode 100644 index 0000000..310c7a1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sget_62.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sget-object + +@id 98 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sget_63.d b/plugins/dalvik/v35/opdefs/sget_63.d new file mode 100644 index 0000000..3027a44 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sget_63.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sget-boolean + +@id 99 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sget_64.d b/plugins/dalvik/v35/opdefs/sget_64.d new file mode 100644 index 0000000..307572d --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sget_64.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sget-byte + +@id 100 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sget_65.d b/plugins/dalvik/v35/opdefs/sget_65.d new file mode 100644 index 0000000..488c1ab --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sget_65.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sget-char + +@id 101 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sget_66.d b/plugins/dalvik/v35/opdefs/sget_66.d new file mode 100644 index 0000000..fb0f2ab --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sget_66.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sget-short + +@id 102 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/shl_98.d b/plugins/dalvik/v35/opdefs/shl_98.d new file mode 100644 index 0000000..ed1ec68 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/shl_98.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title shl-int + +@id 152 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/shl_a3.d b/plugins/dalvik/v35/opdefs/shl_a3.d new file mode 100644 index 0000000..bc485a4 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/shl_a3.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title shl-long + +@id 163 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/shl_b8.d b/plugins/dalvik/v35/opdefs/shl_b8.d new file mode 100644 index 0000000..800398a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/shl_b8.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title shl-int/2addr + +@id 184 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/shl_c3.d b/plugins/dalvik/v35/opdefs/shl_c3.d new file mode 100644 index 0000000..3b07705 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/shl_c3.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title shl-long/2addr + +@id 195 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/shl_e0.d b/plugins/dalvik/v35/opdefs/shl_e0.d new file mode 100644 index 0000000..a419946 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/shl_e0.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title shl-int/lit8 + +@id 224 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} diff --git a/plugins/dalvik/v35/opdefs/shr_99.d b/plugins/dalvik/v35/opdefs/shr_99.d new file mode 100644 index 0000000..d8658bc --- /dev/null +++ b/plugins/dalvik/v35/opdefs/shr_99.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title shr-int + +@id 153 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/shr_a4.d b/plugins/dalvik/v35/opdefs/shr_a4.d new file mode 100644 index 0000000..d12821b --- /dev/null +++ b/plugins/dalvik/v35/opdefs/shr_a4.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title shr-long + +@id 164 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/shr_b9.d b/plugins/dalvik/v35/opdefs/shr_b9.d new file mode 100644 index 0000000..55c3e77 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/shr_b9.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title shr-int/2addr + +@id 185 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/shr_c4.d b/plugins/dalvik/v35/opdefs/shr_c4.d new file mode 100644 index 0000000..6f6862f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/shr_c4.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title shr-long/2addr + +@id 196 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/shr_e1.d b/plugins/dalvik/v35/opdefs/shr_e1.d new file mode 100644 index 0000000..728798a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/shr_e1.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title shr-int/lit8 + +@id 225 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} diff --git a/plugins/dalvik/v35/opdefs/sput_67.d b/plugins/dalvik/v35/opdefs/sput_67.d new file mode 100644 index 0000000..11c3faa --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sput_67.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sput + +@id 103 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sput_68.d b/plugins/dalvik/v35/opdefs/sput_68.d new file mode 100644 index 0000000..4009b2f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sput_68.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sput-wide + +@id 104 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sput_69.d b/plugins/dalvik/v35/opdefs/sput_69.d new file mode 100644 index 0000000..323a72e --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sput_69.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sput-object + +@id 105 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sput_6a.d b/plugins/dalvik/v35/opdefs/sput_6a.d new file mode 100644 index 0000000..62a0aa6 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sput_6a.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sput-boolean + +@id 106 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sput_6b.d b/plugins/dalvik/v35/opdefs/sput_6b.d new file mode 100644 index 0000000..104e75e --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sput_6b.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sput-byte + +@id 107 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sput_6c.d b/plugins/dalvik/v35/opdefs/sput_6c.d new file mode 100644 index 0000000..26814c5 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sput_6c.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sput-char + +@id 108 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sput_6d.d b/plugins/dalvik/v35/opdefs/sput_6d.d new file mode 100644 index 0000000..ab9f6ee --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sput_6d.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sput-short + +@id 109 + +@desc { + + Perform the identified object static field operation with the identified static field, loading or storing into the value register. + +<b>Note:</b> These opbs are reasonable candidates for static linking, altering the field argument to be a more direct offset. + +} + +@encoding() { + + @format 21c | pool_field + +} diff --git a/plugins/dalvik/v35/opdefs/sub_91.d b/plugins/dalvik/v35/opdefs/sub_91.d new file mode 100644 index 0000000..1c64a8e --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sub_91.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sub-int + +@id 145 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/sub_9c.d b/plugins/dalvik/v35/opdefs/sub_9c.d new file mode 100644 index 0000000..98c4032 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sub_9c.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sub-long + +@id 156 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/sub_a7.d b/plugins/dalvik/v35/opdefs/sub_a7.d new file mode 100644 index 0000000..eb148cd --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sub_a7.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sub-float + +@id 167 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/sub_ac.d b/plugins/dalvik/v35/opdefs/sub_ac.d new file mode 100644 index 0000000..9af3ef9 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sub_ac.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sub-double + +@id 172 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/sub_b1.d b/plugins/dalvik/v35/opdefs/sub_b1.d new file mode 100644 index 0000000..a6edde2 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sub_b1.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sub-int/2addr + +@id 177 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/sub_bc.d b/plugins/dalvik/v35/opdefs/sub_bc.d new file mode 100644 index 0000000..62a7f80 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sub_bc.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sub-long/2addr + +@id 188 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/sub_c7.d b/plugins/dalvik/v35/opdefs/sub_c7.d new file mode 100644 index 0000000..072f960 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sub_c7.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sub-float/2addr + +@id 199 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/sub_cc.d b/plugins/dalvik/v35/opdefs/sub_cc.d new file mode 100644 index 0000000..6d68bf1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/sub_cc.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sub-double/2addr + +@id 204 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/switch_2b.d b/plugins/dalvik/v35/opdefs/switch_2b.d new file mode 100644 index 0000000..21111d7 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/switch_2b.d @@ -0,0 +1,44 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title packed-switch + +@id 43 + +@desc { + + Jump to a new instruction based on the value in the given register, using a table of offsets corresponding to each value in a particular integral range, or fall through to the next instruction if there is no match. + +} + +@encoding() { + + @format 31t + + @hooks { + + link = handle_dalvik_packed_switch_links + + } + +} diff --git a/plugins/dalvik/v35/opdefs/switch_2c.d b/plugins/dalvik/v35/opdefs/switch_2c.d new file mode 100644 index 0000000..66b6052 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/switch_2c.d @@ -0,0 +1,44 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title sparse-switch + +@id 44 + +@desc { + + Jump to a new instruction based on the value in the given register, using an ordered table of value-offset pairs, or fall through to the next instruction if there is no match. + +} + +@encoding() { + + @format 31t + + @hooks { + + link = handle_dalvik_packed_switch_links + + } + +} diff --git a/plugins/dalvik/v35/opdefs/throw_27.d b/plugins/dalvik/v35/opdefs/throw_27.d new file mode 100644 index 0000000..91c176f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/throw_27.d @@ -0,0 +1,48 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title throw + +@id 39 + +@desc { + + Throw the indicated exception. + +} + +@encoding() { + + @format 11x + + @syntax { + + @rules { + + call g_arch_instruction_set_flag(AIF_RETURN_POINT) + + } + + } + +} diff --git a/plugins/dalvik/v35/opdefs/to_81.d b/plugins/dalvik/v35/opdefs/to_81.d new file mode 100644 index 0000000..6e87d13 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_81.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title int-to-long + +@id 129 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_82.d b/plugins/dalvik/v35/opdefs/to_82.d new file mode 100644 index 0000000..a0c2500 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_82.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title int-to-float + +@id 130 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_83.d b/plugins/dalvik/v35/opdefs/to_83.d new file mode 100644 index 0000000..81931e4 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_83.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title int-to-double + +@id 131 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_84.d b/plugins/dalvik/v35/opdefs/to_84.d new file mode 100644 index 0000000..2694224 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_84.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title long-to-int + +@id 132 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_85.d b/plugins/dalvik/v35/opdefs/to_85.d new file mode 100644 index 0000000..81a572b --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_85.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title long-to-float + +@id 133 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_86.d b/plugins/dalvik/v35/opdefs/to_86.d new file mode 100644 index 0000000..34df6de --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_86.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title long-to-double + +@id 134 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_87.d b/plugins/dalvik/v35/opdefs/to_87.d new file mode 100644 index 0000000..06fb58f --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_87.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title float-to-int + +@id 135 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_88.d b/plugins/dalvik/v35/opdefs/to_88.d new file mode 100644 index 0000000..c0d2306 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_88.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title float-to-long + +@id 136 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_89.d b/plugins/dalvik/v35/opdefs/to_89.d new file mode 100644 index 0000000..5f6a64c --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_89.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title float-to-double + +@id 137 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_8a.d b/plugins/dalvik/v35/opdefs/to_8a.d new file mode 100644 index 0000000..263c51d --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_8a.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title double-to-int + +@id 138 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_8b.d b/plugins/dalvik/v35/opdefs/to_8b.d new file mode 100644 index 0000000..def5dc1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_8b.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title double-to-long + +@id 139 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_8c.d b/plugins/dalvik/v35/opdefs/to_8c.d new file mode 100644 index 0000000..4af8de3 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_8c.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title double-to-float + +@id 140 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_8d.d b/plugins/dalvik/v35/opdefs/to_8d.d new file mode 100644 index 0000000..fb70951 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_8d.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title int-to-byte + +@id 141 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_8e.d b/plugins/dalvik/v35/opdefs/to_8e.d new file mode 100644 index 0000000..bea9c71 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_8e.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title int-to-char + +@id 142 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/to_8f.d b/plugins/dalvik/v35/opdefs/to_8f.d new file mode 100644 index 0000000..82e25d1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/to_8f.d @@ -0,0 +1,38 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title int-to-short + +@id 143 + +@desc { + + Perform the identified unary operation on the source register, storing the result in the destination register. + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_3e.d b/plugins/dalvik/v35/opdefs/unused_3e.d new file mode 100644 index 0000000..2833fbb --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_3e.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-3e + +@id 62 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_3f.d b/plugins/dalvik/v35/opdefs/unused_3f.d new file mode 100644 index 0000000..5f6a66d --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_3f.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-3f + +@id 63 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_40.d b/plugins/dalvik/v35/opdefs/unused_40.d new file mode 100644 index 0000000..3c93565 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_40.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-40 + +@id 64 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_41.d b/plugins/dalvik/v35/opdefs/unused_41.d new file mode 100644 index 0000000..cad2943 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_41.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-41 + +@id 65 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_42.d b/plugins/dalvik/v35/opdefs/unused_42.d new file mode 100644 index 0000000..5e4b2c0 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_42.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-42 + +@id 66 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_43.d b/plugins/dalvik/v35/opdefs/unused_43.d new file mode 100644 index 0000000..c339cec --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_43.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-43 + +@id 67 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_73.d b/plugins/dalvik/v35/opdefs/unused_73.d new file mode 100644 index 0000000..09caa65 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_73.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-73 + +@id 115 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_79.d b/plugins/dalvik/v35/opdefs/unused_79.d new file mode 100644 index 0000000..063bbfb --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_79.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-79 + +@id 121 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_7a.d b/plugins/dalvik/v35/opdefs/unused_7a.d new file mode 100644 index 0000000..50f2d95 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_7a.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-7a + +@id 122 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_e3.d b/plugins/dalvik/v35/opdefs/unused_e3.d new file mode 100644 index 0000000..e27f926 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_e3.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-e3 + +@id 227 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_e4.d b/plugins/dalvik/v35/opdefs/unused_e4.d new file mode 100644 index 0000000..4c90e6a --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_e4.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-e4 + +@id 228 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_e5.d b/plugins/dalvik/v35/opdefs/unused_e5.d new file mode 100644 index 0000000..e780c20 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_e5.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-e5 + +@id 229 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_e6.d b/plugins/dalvik/v35/opdefs/unused_e6.d new file mode 100644 index 0000000..44d6e29 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_e6.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-e6 + +@id 230 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_e7.d b/plugins/dalvik/v35/opdefs/unused_e7.d new file mode 100644 index 0000000..6d3fff7 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_e7.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-e7 + +@id 231 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_e8.d b/plugins/dalvik/v35/opdefs/unused_e8.d new file mode 100644 index 0000000..f91c2e9 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_e8.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-e8 + +@id 232 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_e9.d b/plugins/dalvik/v35/opdefs/unused_e9.d new file mode 100644 index 0000000..6304670 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_e9.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-e9 + +@id 233 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_ea.d b/plugins/dalvik/v35/opdefs/unused_ea.d new file mode 100644 index 0000000..055a5e0 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_ea.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-ea + +@id 234 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_eb.d b/plugins/dalvik/v35/opdefs/unused_eb.d new file mode 100644 index 0000000..12cfd34 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_eb.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-eb + +@id 235 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_ec.d b/plugins/dalvik/v35/opdefs/unused_ec.d new file mode 100644 index 0000000..b00c7bf --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_ec.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-ec + +@id 236 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_ed.d b/plugins/dalvik/v35/opdefs/unused_ed.d new file mode 100644 index 0000000..94e7627 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_ed.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-ed + +@id 237 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_ee.d b/plugins/dalvik/v35/opdefs/unused_ee.d new file mode 100644 index 0000000..580cbe8 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_ee.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-ee + +@id 238 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_ef.d b/plugins/dalvik/v35/opdefs/unused_ef.d new file mode 100644 index 0000000..a04663b --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_ef.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-ef + +@id 239 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_f0.d b/plugins/dalvik/v35/opdefs/unused_f0.d new file mode 100644 index 0000000..c238d44 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_f0.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-f0 + +@id 240 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_f1.d b/plugins/dalvik/v35/opdefs/unused_f1.d new file mode 100644 index 0000000..405a792 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_f1.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-f1 + +@id 241 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_f2.d b/plugins/dalvik/v35/opdefs/unused_f2.d new file mode 100644 index 0000000..58df50c --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_f2.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-f2 + +@id 242 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_f3.d b/plugins/dalvik/v35/opdefs/unused_f3.d new file mode 100644 index 0000000..51280d7 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_f3.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-f3 + +@id 243 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_f4.d b/plugins/dalvik/v35/opdefs/unused_f4.d new file mode 100644 index 0000000..015d988 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_f4.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-f4 + +@id 244 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_f5.d b/plugins/dalvik/v35/opdefs/unused_f5.d new file mode 100644 index 0000000..63c6fd1 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_f5.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-f5 + +@id 245 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_f6.d b/plugins/dalvik/v35/opdefs/unused_f6.d new file mode 100644 index 0000000..405c363 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_f6.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-f6 + +@id 246 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_f7.d b/plugins/dalvik/v35/opdefs/unused_f7.d new file mode 100644 index 0000000..67ded78 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_f7.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-f7 + +@id 247 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_f8.d b/plugins/dalvik/v35/opdefs/unused_f8.d new file mode 100644 index 0000000..aadd8a8 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_f8.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-f8 + +@id 248 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_f9.d b/plugins/dalvik/v35/opdefs/unused_f9.d new file mode 100644 index 0000000..84c8855 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_f9.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-f9 + +@id 249 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_fa.d b/plugins/dalvik/v35/opdefs/unused_fa.d new file mode 100644 index 0000000..66053c7 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_fa.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-fa + +@id 250 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_fb.d b/plugins/dalvik/v35/opdefs/unused_fb.d new file mode 100644 index 0000000..e0521e6 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_fb.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-fb + +@id 251 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_fc.d b/plugins/dalvik/v35/opdefs/unused_fc.d new file mode 100644 index 0000000..3b58e64 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_fc.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-fc + +@id 252 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_fd.d b/plugins/dalvik/v35/opdefs/unused_fd.d new file mode 100644 index 0000000..7c2a0f2 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_fd.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-fd + +@id 253 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_fe.d b/plugins/dalvik/v35/opdefs/unused_fe.d new file mode 100644 index 0000000..e470bae --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_fe.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-fe + +@id 254 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/unused_ff.d b/plugins/dalvik/v35/opdefs/unused_ff.d new file mode 100644 index 0000000..ef0126d --- /dev/null +++ b/plugins/dalvik/v35/opdefs/unused_ff.d @@ -0,0 +1,32 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title unused-ff + +@id 255 + +@encoding() { + + @unused 10x + +} diff --git a/plugins/dalvik/v35/opdefs/ushr_9a.d b/plugins/dalvik/v35/opdefs/ushr_9a.d new file mode 100644 index 0000000..234ad7b --- /dev/null +++ b/plugins/dalvik/v35/opdefs/ushr_9a.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title ushr-int + +@id 154 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/ushr_a5.d b/plugins/dalvik/v35/opdefs/ushr_a5.d new file mode 100644 index 0000000..8ada091 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/ushr_a5.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title ushr-long + +@id 165 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/ushr_ba.d b/plugins/dalvik/v35/opdefs/ushr_ba.d new file mode 100644 index 0000000..f5061e2 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/ushr_ba.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title ushr-int/2addr + +@id 186 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/ushr_c5.d b/plugins/dalvik/v35/opdefs/ushr_c5.d new file mode 100644 index 0000000..322591b --- /dev/null +++ b/plugins/dalvik/v35/opdefs/ushr_c5.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title ushr-long/2addr + +@id 197 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/ushr_e2.d b/plugins/dalvik/v35/opdefs/ushr_e2.d new file mode 100644 index 0000000..06fcdc7 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/ushr_e2.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title ushr-int/lit8 + +@id 226 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} diff --git a/plugins/dalvik/v35/opdefs/xor_97.d b/plugins/dalvik/v35/opdefs/xor_97.d new file mode 100644 index 0000000..c813a50 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/xor_97.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title xor-int + +@id 151 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/xor_a2.d b/plugins/dalvik/v35/opdefs/xor_a2.d new file mode 100644 index 0000000..045aa47 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/xor_a2.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title xor-long + +@id 162 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the destination register. + +<b>Note:</b> Contrary to other <b>-long</b> mathematical operations (which take register pairs for both their first and their second source), <b>shl-long</b>, <b>shr-long</b>, and <b>ushr-long</b> take a register pair for their first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 23x + +} diff --git a/plugins/dalvik/v35/opdefs/xor_b7.d b/plugins/dalvik/v35/opdefs/xor_b7.d new file mode 100644 index 0000000..0425e1d --- /dev/null +++ b/plugins/dalvik/v35/opdefs/xor_b7.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title xor-int/2addr + +@id 183 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/xor_c2.d b/plugins/dalvik/v35/opdefs/xor_c2.d new file mode 100644 index 0000000..76b6a05 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/xor_c2.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title xor-long/2addr + +@id 194 + +@desc { + + Perform the identified binary operation on the two source registers, storing the result in the first source register. + +<b>Note:</b> Contrary to other <b>-long/2addr</b> mathematical operations (which take register pairs for both their destination/first source and their second source), <b>shl-long/2addr</b>, <b>shr-long/2addr</b>, and <b>ushr-long/2addr</b> take a register pair for their destination/first source (the value to be shifted), but a single register for their second source (the shifting distance). + +} + +@encoding() { + + @format 12x + +} diff --git a/plugins/dalvik/v35/opdefs/xor_d7.d b/plugins/dalvik/v35/opdefs/xor_d7.d new file mode 100644 index 0000000..5b2c637 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/xor_d7.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title xor-int/lit16 + +@id 215 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> <b>rsub-int</b> does not have a suffix since this version is the main opb of its family. Also, see below for details on its semantics. + +} + +@encoding() { + + @format 22s + +} diff --git a/plugins/dalvik/v35/opdefs/xor_df.d b/plugins/dalvik/v35/opdefs/xor_df.d new file mode 100644 index 0000000..cd0d5d3 --- /dev/null +++ b/plugins/dalvik/v35/opdefs/xor_df.d @@ -0,0 +1,40 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * ##FILE## - traduction d'instructions Dalvik + * + * Copyright (C) 2018 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * Chrysalide is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Chrysalide is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +@title xor-int/lit8 + +@id 223 + +@desc { + + Perform the indicated binary op on the indicated register (first argument) and literal value (second argument), storing the result in the destination register. + +<b>Note:</b> See below for details on the semantics of <b>rsub-int</b>. + +} + +@encoding() { + + @format 22b + +} |