Difference between revisions of "User talk:Pokechu22"

From WiiBrew
Jump to navigation Jump to search
(→‎IOS MessageQueue: nope, sorry)
m (forgot signature)
 
(10 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
I have a few problems figuring out some stuff from the queue object structure... -[[User:DacoTaco|DacoTaco]] ([[User talk:DacoTaco|talk]]) 21:52, 13 June 2021 (CEST)
 
I have a few problems figuring out some stuff from the queue object structure... -[[User:DacoTaco|DacoTaco]] ([[User talk:DacoTaco|talk]]) 21:52, 13 June 2021 (CEST)
 
:I don't, unfortunately. --[[User:Pokechu22|Pokechu22]] ([[User talk:Pokechu22|talk]]) 21:26, 14 June 2021 (CEST)
 
:I don't, unfortunately. --[[User:Pokechu22|Pokechu22]] ([[User talk:Pokechu22|talk]]) 21:26, 14 June 2021 (CEST)
 +
 +
== Small request for Wikipedia ==
 +
 +
I’m not registered on Wikipedia, and the Kiwi Farms page is semi-protected; can you add information about [https://mobile.twitter.com/marcan42/status/1409176583433179137?s=21 Near]’s suicide to the controversies section of the [https://en.m.wikipedia.org/wiki/Kiwi_Farms Kiwi Farms] page? [[User:Hallowizer|Hallowizer]] ([[User talk:Hallowizer|talk]]) 09:22, 28 June 2021 (CEST)
 +
:It's been added and removed [https://en.wikipedia.org/w/index.php?title=Kiwi_Farms&action=history a few times].  There's currently a [https://en.wikipedia.org/wiki/Talk:Kiwi_Farms#Suicide_of_Near discussion on the talk page] about it, but it seems like currently the intention is to wait a bit for further coverage. --[[User:Pokechu22|Pokechu22]] ([[User talk:Pokechu22|talk]]) 17:58, 28 June 2021 (CEST)
 +
 +
== Disassembling IOS binaries ==
 +
 +
I just got the ELF of IOS9v778 with the script on the [[ARM Binaries]] page, and the section header size seems to be corrupted. Are you familiar with how to fix this issue? [[User:Hallowizer|Hallowizer]] ([[User talk:Hallowizer|talk]]) 08:16, 7 August 2021 (CEST)
 +
:I'd never noticed that before, but Ghidra does note "Skipping PT_LOAD segment[49, Loadable segment] with invalid file offset" (though everything else seems to import fine).  <code>arm-none-eabi-objdump -x 00000004.elf</code> gives this:
 +
 +
    LOAD off    0x0017c9c6 vaddr 0xffff8c00 paddr 0xffff8c00 align 2**5
 +
        filesz 0x00000000 memsz 0x000071e8 flags rw-
 +
 +
:which seems to match the output for other sections (filesz is 0 for uninitialized ones, and the offset is the previous offset plus the previous filesz).  The offset seems to be at the very end of the file, but that seems reasonable for a 0-initialized-byte section at the end.  However, <code>arm-none-eabi-objdump -D 00000004.elf</code> doesn't work right, so something about it annoys other tools.
 +
:Appending an additional 0-byte to the end of the file allows ghirda to import it without any warnings (though the section is all zeros, which is the same as it was without making this change).  objdump stil doesn't like it though. --[[User:Pokechu22|Pokechu22]] ([[User talk:Pokechu22|talk]]) 19:25, 11 August 2021 (CEST)
 +
::My main problem with Ghidra is that it was made by the NSA. Any alternatives? [[User:Hallowizer|Hallowizer]] ([[User talk:Hallowizer|talk]]) 01:04, 12 August 2021 (CEST)
 +
:::I've only ever used Ghidra.  The other existing tools are [https://en.wikipedia.org/wiki/Interactive_Disassembler IDA Pro] (which is closed-source and ''expensive'' (~$365/yr/processor and no free trial for either PowerPC or ARM as far as I can tell), but there is [[IOS/Syscall IDAPython]]) and [https://en.wikipedia.org/wiki/Radare2 Radare2] (which I've never worked with).
 +
:::It's fair to be skeptical of the NSA, but Ghidra is completely open-source.  You can look through it (though it's a large pile of government code that was written over many years, so some parts are not that well written) and build it yourself, and I'm pretty sure people have audited it.  And if you're particularly paranoid, you can run it in a VM or even on a separate machine.  (I'm not that paranoid and I use their stock build on my regular machine, though I have also built it myself for contributing various things.)  --[[User:Pokechu22|Pokechu22]] ([[User talk:Pokechu22|talk]]) 06:21, 12 August 2021 (CEST)
 +
::::Yeah, that's what 4TU just told me. I'm compiling it myself to be safe. [[User:Hallowizer|Hallowizer]] ([[User talk:Hallowizer|talk]]) 06:36, 12 August 2021 (CEST)
 +
 +
== S flag in Starlet plugin for Ghidra ==
 +
 +
DacoTaco and I noticed that the ADD and ADDS (as well as SUB and SUBS) are displayed identically, despite clearly being different in the bytecode. I think this might be a problem with your Starlet language, since it still displays properly with the normal ARM9 settings. [[User:Hallowizer|Hallowizer]] ([[User talk:Hallowizer|talk]]) 19:05, 16 October 2021 (CEST)
 +
:I based it on the [https://github.com/NationalSecurityAgency/ghidra/blob/master/Ghidra/Processors/ARM/data/languages/ARM5t_be.slaspec ARM5t_be file] which might not be right - I had trouble determining exactly which ARM version Starlet is using.  Adding some of the defines in the [https://github.com/NationalSecurityAgency/ghidra/blob/master/Ghidra/Processors/ARM/data/languages/ARM8_be.slaspec ARM8_be file] might fix it. --[[User:Pokechu22|Pokechu22]] ([[User talk:Pokechu22|talk]]) 08:02, 17 October 2021 (CEST)
 +
:What processor definition were you comparing the instructions to hallowizer? maybe pokechu22 can rip the defines from there hehe.[[User:DacoTaco|DacoTaco]] ([[User talk:DacoTaco|talk]]) 11:35, 17 October 2021 (CEST)

Latest revision as of 11:35, 17 October 2021

IOS MessageQueue

do you have any experience RE'ing the IOS kernel message queue? I have a few problems figuring out some stuff from the queue object structure... -DacoTaco (talk) 21:52, 13 June 2021 (CEST)

I don't, unfortunately. --Pokechu22 (talk) 21:26, 14 June 2021 (CEST)

Small request for Wikipedia

I’m not registered on Wikipedia, and the Kiwi Farms page is semi-protected; can you add information about Near’s suicide to the controversies section of the Kiwi Farms page? Hallowizer (talk) 09:22, 28 June 2021 (CEST)

It's been added and removed a few times. There's currently a discussion on the talk page about it, but it seems like currently the intention is to wait a bit for further coverage. --Pokechu22 (talk) 17:58, 28 June 2021 (CEST)

Disassembling IOS binaries

I just got the ELF of IOS9v778 with the script on the ARM Binaries page, and the section header size seems to be corrupted. Are you familiar with how to fix this issue? Hallowizer (talk) 08:16, 7 August 2021 (CEST)

I'd never noticed that before, but Ghidra does note "Skipping PT_LOAD segment[49, Loadable segment] with invalid file offset" (though everything else seems to import fine). arm-none-eabi-objdump -x 00000004.elf gives this:
   LOAD off    0x0017c9c6 vaddr 0xffff8c00 paddr 0xffff8c00 align 2**5
        filesz 0x00000000 memsz 0x000071e8 flags rw-
which seems to match the output for other sections (filesz is 0 for uninitialized ones, and the offset is the previous offset plus the previous filesz). The offset seems to be at the very end of the file, but that seems reasonable for a 0-initialized-byte section at the end. However, arm-none-eabi-objdump -D 00000004.elf doesn't work right, so something about it annoys other tools.
Appending an additional 0-byte to the end of the file allows ghirda to import it without any warnings (though the section is all zeros, which is the same as it was without making this change). objdump stil doesn't like it though. --Pokechu22 (talk) 19:25, 11 August 2021 (CEST)
My main problem with Ghidra is that it was made by the NSA. Any alternatives? Hallowizer (talk) 01:04, 12 August 2021 (CEST)
I've only ever used Ghidra. The other existing tools are IDA Pro (which is closed-source and expensive (~$365/yr/processor and no free trial for either PowerPC or ARM as far as I can tell), but there is IOS/Syscall IDAPython) and Radare2 (which I've never worked with).
It's fair to be skeptical of the NSA, but Ghidra is completely open-source. You can look through it (though it's a large pile of government code that was written over many years, so some parts are not that well written) and build it yourself, and I'm pretty sure people have audited it. And if you're particularly paranoid, you can run it in a VM or even on a separate machine. (I'm not that paranoid and I use their stock build on my regular machine, though I have also built it myself for contributing various things.) --Pokechu22 (talk) 06:21, 12 August 2021 (CEST)
Yeah, that's what 4TU just told me. I'm compiling it myself to be safe. Hallowizer (talk) 06:36, 12 August 2021 (CEST)

S flag in Starlet plugin for Ghidra

DacoTaco and I noticed that the ADD and ADDS (as well as SUB and SUBS) are displayed identically, despite clearly being different in the bytecode. I think this might be a problem with your Starlet language, since it still displays properly with the normal ARM9 settings. Hallowizer (talk) 19:05, 16 October 2021 (CEST)

I based it on the ARM5t_be file which might not be right - I had trouble determining exactly which ARM version Starlet is using. Adding some of the defines in the ARM8_be file might fix it. --Pokechu22 (talk) 08:02, 17 October 2021 (CEST)
What processor definition were you comparing the instructions to hallowizer? maybe pokechu22 can rip the defines from there hehe.DacoTaco (talk) 11:35, 17 October 2021 (CEST)