-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
33 additions
and
26 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,29 @@ | ||
# FujiHack Repository Structure and Coding Rules | ||
- Immitate the the style of the code you see in the project already. | ||
# Fujihack project structure | ||
|
||
Quick overview of Fujihack's code structure: | ||
|
||
![flowchart](img/flow.png) | ||
|
||
## src/ | ||
This is the main program that is sent over via USB into the camera. | ||
- POSIX/Frontier compliant compatibility layer over Fujifilm's proprietary OS | ||
- Header files defining Fujifilm's proprietary OS API (`ff_`) | ||
|
||
## frontier/ | ||
Submodule to Frontier. You can learn more about the project [here](https://github.com/petabyt/frontier). | ||
|
||
## patch/ | ||
ARM32 assembly patches inserted directly into firmware. The patcher pulls files from this directory. | ||
- ARM32 assembly patches inserted directly into firmware. The patcher pulls files from this directory. | ||
|
||
## ptp/ | ||
PTP/USB utility for running code with the code execution patch. Can also quickly load the fujihack binary. | ||
- PTP/USB utility for running code with the code execution patch. Can also quickly load the fujihack binary. | ||
|
||
## model/ | ||
Each camera model that is reverse engineered has it's own C header file, or information file. | ||
It holds information on the camera, including important addreses in memory, functions, and other | ||
details. | ||
- Each camera model that has been reverse-engineered has its own C header file. | ||
It holds information on the camera, including important addreses (stubs) in memory, firmware, and other | ||
important model-specific information. | ||
|
||
Each file is named with the model code "xf1", "xt4", etc. Then an underscore, and the version code of the | ||
- Each file is named with the model code "xf1", "xt4", etc. Then an underscore, and the version code of the | ||
firmware that was analyzed. For example, if the version is "1.01", then the version code would be "101". | ||
|
||
See `template.h` for a basic example. Memory addresses start with `MEM_`, firmware addresses start with `FIRM_`, | ||
- See `template.h` for a basic example. Memory addresses start with `MEM_`, firmware addresses start with `FIRM_`, | ||
and functions are defined with the `NSTUB` macro. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,9 @@ | ||
## Low Hanging Fruit | ||
Things you can do to help out: | ||
Things needed as of September 2023 | ||
|
||
- Improve [patcher](https://github.com/fujihack/patcher) HTML/CSS | ||
- Make patcher use JS Classes instead of JSON Objects | ||
- Research about internals (don't use pirated/leaked content) | ||
- Make a new logo/icon for project | ||
- Test a custom firmware | ||
- Write an emulator for Fuji emulator - everything is there in the firmware file - just need to map out the I/O | ||
- Motherboard screenshots | ||
- Improve the "emulator" | ||
- Physical ROM dump | ||
- Add information to the [public Google spreadsheet](https://docs.google.com/spreadsheets/d/1HnRGIC9CDXgBGscjW5mOb_aKOIqzI9wp8RbXZ-fu78k/edit#gid=0) | ||
- Test a custom firmware | ||
- Index and data-hoard all Fujifilm firmware files |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters