This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Tony Hawk's Underground 2 Remix - ULUS10014
#15
OK, the self-modification can be confirmed. This is the code that is being modified (already 46 times at that moment):
Code:
11:19:18 DEBUG compiler - user_main - Compiling _S1_46_886554C
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile  > 0x886554C - addiu      $sp, $sp, -64
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865550 - sv.q       C700.q, 0($sp)
11:19:18 DEBUG compiler - user_main - sv.q sequence 0x08865550-0x0886555C
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865560 - addiu      $t1, $a2, 1
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865564 - andi       $t1, $t1, -2
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865568 - addu       $t1, $t1, $a0
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x886556C - lv.q       C400.q, 0($a3)
11:19:18 DEBUG compiler - user_main - lv.q sequence 0x0886556C-0x0886558C
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile  > 0x8865590 - lv.q       C030.q, 0($a1)
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865594 - lv.q       C230.q, 16($a1)
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865598 - cache      0x1E, 95($a1)
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x886559C - vh2f.p     C000.p, C030.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655A0 - vh2f.p     C010.p, C032.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655A4 - vh2f.p     C020.p, C032.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655A8 - vh2f.p     C030.p, C030.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655AC - vh2f.p     C200.p, C230.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655B0 - vh2f.p     C210.p, C232.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655B4 - vh2f.p     C220.p, C232.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655B8 - vh2f.p     C230.p, C230.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655BC - addiu      $a1, $a1, 32
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655C0 - addiu      $a0, $a0, 2
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655C4 - vmin.q     C620.q, C620.q, C630.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655C8 - vmin.q     C700.q, C700.q, C710.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655CC - vmov.p     R022.p, R002.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655D0 - vmin.p     C620.p, C620.p, C720.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655D4 - vmov.q     R100.q, R020.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655D8 - VPFXD      [x, y, 0:1, 0:1]
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655DC - vmin.q     C720.q, C620.q, C700.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655E0 - vmov.q     R101.q, R001.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655E4 - vmov.q     R102.q, R002.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655E8 - vmin.p     C720.p, C720.p, C722.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655EC - vmov.p     R222.p, R202.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655F0 - vmov.q     R300.q, R220.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655F4 - vi2c.q     S733.s, C720.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655F8 - vmov.q     R301.q, R201.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x88655FC - vmov.q     R302.q, R202.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865600 - vhdp.q     S620.s, C100.q, C400.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865604 - vhdp.q     S630.s, C010.q, C410.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865608 - vhdp.q     S700.s, C020.q, C420.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x886560C - vhdp.q     S710.s, C010.q, C430.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865610 - vhdp.q     S720.s, C010.q, C500.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865614 - vhdp.q     S621.s, C300.q, C400.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865618 - vhdp.q     S631.s, C210.q, C410.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x886561C - vhdp.q     S701.s, C220.q, C420.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865620 - vhdp.q     S711.s, C210.q, C430.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865624 - vhdp.q     S721.s, C210.q, C500.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865628 - vhdp.q     S622.s, C000.q, C510.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x886562C - vhdp.q     S632.s, C000.q, C520.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865630 - vhdp.q     S702.s, C030.q, C530.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865634 - vhdp.q     S712.s, C000.q, C600.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865638 - vhdp.q     S623.s, C200.q, C510.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x886563C - vhdp.q     S633.s, C200.q, C520.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865640 - vhdp.q     S703.s, C230.q, C530.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865644 - vhdp.q     S713.s, C200.q, C600.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865648 - mfv.s      $t0, S733.s
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile ^  0x886564C - bne        $a0, $t1, 0x08865590
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865650 - sh         $t0, -2($a0)
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865654 - vmin.q     C620.q, C620.q, C630.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865658 - vmin.q     C700.q, C700.q, C710.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x886565C - vmin.p     C620.p, C620.p, C720.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865660 - VPFXD      [x, y, 0:1, 0:1]
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865664 - vmin.q     C720.q, C620.q, C700.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865668 - vmin.p     C720.p, C720.p, C722.p
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x886566C - vi2c.q     S733.s, C720.q
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865670 - mfv.s      $t0, S733.s
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865674 - sh         $t0, 0($a0)
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865678 - lv.q       C700.q, 0($sp)
11:19:18 DEBUG compiler - user_main - lv.q sequence 0x08865678-0x08865684
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x8865688 - jr         $ra
11:19:18 DEBUG compiler - user_main - CodeInstruction.compile    0x886568C - addiu      $sp, $sp, 64

and this seems to be the code responsible for the self-modifications as this is the only place where a "cache 0x08" is being done (in sub 0x0886358C):
Code:
11:14:54 DEBUG compiler - user_main - Compiling _S1_2_8863BB8
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile  > 0x8863BB8 - addiu      $sp, $sp, -48
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BBC - sw         $s0, 28($sp)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BC0 - or         $a1, $a0, $zr <=> move $a1, $a0
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BC4 - addiu      $s0, $sp, 16
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BC8 - or         $a0, $s0, $zr <=> move $a0, $s0
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BCC - sw         $ra, 32($sp)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile <  0x8863BD0 - jal        0x08863B50
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BD4 - ori        $a2, $zr, 9 <=> li $a2, 9
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BD8 - lui        $a0, 0x0886 <=> li $a0, 0x08860000
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BDC - addiu      $a0, $a0, 21836
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BE0 - lw         $a1, 0($a0)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BE4 - addiu      $a2, $zr, -32513 <=> li $a2, -32513
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BE8 - lui        $a3, 0x6611 <=> li $a3, 0x66110000
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BEC - and        $t0, $a1, $a2
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BF0 - addiu      $a1, $a3, -32614
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile v  0x8863BF4 - beq        $t0, $a1, 0x08863C10
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863BF8 - nop
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile  > 0x8863BFC - addiu      $a0, $a0, 4
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C00 - lw         $a3, 0($a0)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C04 - and        $a3, $a3, $a2
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile ^  0x8863C08 - bne        $a3, $a1, 0x08863BFC
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C0C - nop
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile  > 0x8863C10 - or         $a1, $a0, $zr <=> move $a1, $a0
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C14 - ori        $a3, $zr, 0 <=> li $a3, 0
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile  > 0x8863C18 - lbu        $a2, 0($s0)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C1C - slti       $t0, $a2, 8
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile v  0x8863C20 - bne        $t0, $zr, 0x08863C2C
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C24 - nop
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C28 - break      0x00000
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile  > 0x8863C2C - xori       $a2, $a2, 129
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C30 - sb         $a2, 1($a1)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C34 - lbu        $a2, 0($s0)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C38 - addiu      $a3, $a3, 1
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C3C - xori       $a2, $a2, 137
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C40 - sb         $a2, 21($a1)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C44 - addiu      $s0, $s0, 1
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C48 - slti       $a2, $a3, 5
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile ^  0x8863C4C - bne        $a2, $zr, 0x08863C18
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C50 - addiu      $a1, $a1, 4
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C54 - addiu      $a1, $a1, 20
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C58 - ori        $a3, $zr, 0 <=> li $a3, 0
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile  > 0x8863C5C - lbu        $a2, 0($s0)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C60 - slti       $t0, $a2, 8
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile v  0x8863C64 - bne        $t0, $zr, 0x08863C70
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C68 - nop
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C6C - break      0x00000
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile  > 0x8863C70 - xori       $a2, $a2, 128
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C74 - sb         $a2, 1($a1)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C78 - lbu        $a2, 0($s0)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C7C - addiu      $a3, $a3, 1
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C80 - xori       $a2, $a2, 136
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C84 - sb         $a2, 17($a1)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C88 - addiu      $s0, $s0, 1
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C8C - slti       $a2, $a3, 4
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile ^  0x8863C90 - bne        $a2, $zr, 0x08863C5C
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C94 - addiu      $a1, $a1, 4
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile <  0x8863C98 - jal        0x0886358C
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863C9C - ori        $a1, $zr, 72 <=> li $a1, 72
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863CA0 - lw         $s0, 28($sp)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863CA0 - lw         $s0/$ra, 28/32($sp)
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863CA8 - jr         $ra
11:14:54 DEBUG compiler - user_main - CodeInstruction.compile    0x8863CAC - addiu      $sp, $sp, 48
Let me analyse what is being done here...
Always include a complete log file at INFO level in your reports. Thanks! How to post a log
Reply


Messages In This Thread
RE: Tony Hawk's Underground 2 Remix - ULUS10014 - by gid15 - 05-17-2017, 03:53 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)