Jump to content

saiaapiz

Ascended
  • Content Count

    144
  • Donations

    $0.00 
  • Joined

  • Last visited

  • Days Won

    3

saiaapiz last won the day on July 4

saiaapiz had the most liked content!

Community Reputation

153 Pro

About saiaapiz

  • Rank
    0xDEADBEEF

Additional Information

  • Android
    2.3.x (Gingerbread)
  • Device
    Goldfish
  • Service provider
    Other

Recent Profile Visitors

13,815 profile views
  1. Currently, only one way i know possible for that. Use 0 ~ 255 for unknown byte pattern. and add it with known pattern. So it will become 0~255;0~255;C8h;42h ...
  2. Thanks ! Really usefull feature to analyse script.
  3. I see, There alot of work need to do. Handling, hiding, lot more thing to cover up. So i stayed with trampoline. Thank you.
  4. Not watchpoint support. Backtrace ? I only can find LR (Address of current function caller.) I've created shellcode that save R0-R12, LR into stack. Then copy the stack address into my allocated region, so i can read it with script. ROM:00000000 STMFD SP!, {R0-R12,LR} ROM:00000004 LDR R0, =0xBBBBBBBB ROM:00000008 STR SP, [R0] ROM:0000000C ROM:0000000C isLocked ; CODE XREF: ROM:00000014↓j ROM:0000000C LDR R0, =0 ROM:00000010 CMP R0, #1 ROM:00000014 BNE isLocked ROM:00000018 LDMFD SP!, {R0-R12,LR} ROM:0000001C LDR PC, =0xAAAAAAAA ROM:0000001C ; --------------------------------------------------------------------------- ROM:00000020 _returnaddress DCD 0xAAAAAAAA ; DATA XREF: ROM:0000001C↑r ROM:00000024 _stackaddress DCD 0xBBBBBBBB ; DATA XREF: ROM:00000004↑r ROM:00000028 _spinlockctl DCD 0 ; DATA XREF: ROM:isLocked↑r It work like this, Firstly, i hooked an address that contain interesting info. Then, i make it jump into this shellcode, After it jump.. Shellcode will save R0-R12, LR into stack. then write the stack address at _stackaddress. this shellcode will wait for spinlock before continuing execution.
  5. Yes, it look like when you setting up breakpoint with gdb, where you can view/change register in realtime. In short terms, can you add api for PTRACE_SETREGS and PTRACE_GETREGS into GG, So we can view register on any address. Nope, Chainer was used to find pointer chain.
  6. Yep, u can change any value inside register.
  7. I wish enyby would add this feature into GG, so i can avoid compatibility issue with shellcode. We can get dynamic pointer by viewing its register, and make cheating more advanced.
  8. I've tried hacking this game too, which i stopping hacking cuz time consuming.. this game based on Corona Engine which all files can be pulled from *.car archive. Inside *.car archive there alot lua script handling how the games work. Maybe you should try to mod the apk.
  9. Read this, there also answer for question about PC + 8. https://azeria-labs.com/memory-instructions-load-and-store-part-4/
  10. Sorry, my bad. It only failed when i enabled 'Hide from game 4'. Latest GG work just fine.
  11. I see, so the problem was from GG after 76.1 ?
  12. When i tried to modified .text region on PUBG Mobile, GG was failed to alter its memory. Maybe they utilize like this technique https://github.com/changeofpace/Self-Remapping-Code or something else ? What do you think ?
  13. Idk, it just works. I didn't read hundred pages of arm documentation.
  14. Let me explain this real quick. How they load offset, and calculate address ? Explanation: * PC = (Current Instruction Address + 0x8) 00000000 LDR R0, [PC, 0x1C]; Its calculated like this, R0 = (PC:00000008 + 0x1C = 00000024). Read val at 00000024 which is 0x14, then put into R0. 00000004 ADD R0, PC, R0 ; Again, R0 = (PC:0000000C + 0x14 (Offset) = 00000020) 00000008 MOV R1, #0x1234; Move 0x1234 into R1 0000000C STR R1, [R0]; Store R1:0x1234 value into R0:00000020 address. 00000010 BX LR; Jump into LR (LR is register that store address of this function caller.) 00000014 ALIGN 0x10 00000020 MyValue DCD 0x0 00000024 Offset DCD 0x14 You can find lot of information here, The ARM instruction set
  15. Yep, Ida make we confuse by looking its value pointing directly to target address. Actually, true opcode look like this LDR R0, [PC, #0x4] Idk how to explain it, you can find arm opcode documentation on google. They describe how each instruction work. @Un_Known
×
×
  • Create New...