TriX - fast, flexible, universal patching system : Патчестроение : Форум

Страница 1 из 2: [1] 2 »

 ndt:
31.05.09, 21:07
 Hi,

Due to major changes in TriX code (SE related) I decided to edit that old post. Currently it's far more stable, faster and userfriendly, I hope ;)


TriX required both Qt4 and CRT libraries, you'll find it in link below.

In plugins folder I put a few useful plugins (disassembler, emulator etc. )
In scripts/SE should be placed TriX scripts


Scripts:
Fresh copy of SE scripts could be obtained from official TriX repository:

/TriX/scripts/SE/
user: mados
pass: behave!


Files to download:
Files will not be moved anymore. Links points always to the last version of files.

TriX [~500 KB]
TriX itself with plugins ARMulate, DisARM, fmtBABE and XML.

TriX tools [~3.5 MB]
GNU tools set require to compile/assembly code (very good replacement for IAR). FASM-ARM with corrected small bug included also.

TriX includes [~100 KB]
Includes and macros required to use GNU tools. All ElfLib functions included (we can use it in own patches quite easily)

Qt4 + CRT [~3.6 MB]
Libraries required by TriX (Qt4 and CRT)


regards,
Bartek


[ Edited by ndt в 11.9.09 23:07 ]

 yr4ik:
12.07.09, 20:25
 ndt,

Move files.
At rapid speeds gives error!!!!

Error" The uploader has removed this file from the server"

-------

Перезакачай файлы. На рапиде Выдает ошибку!!!

 Slavets:
12.07.09, 22:01
 Переводик

 ndt:
12.09.09, 01:13
 GVI functions for any firmware in 10 secs?

1. Select firmware you want to (mbn, raw, bin, cxc supported)


2. Go to Scripts tab and select create_elflib.trx script...


3. ...and add it to list


4. Hit Start button!
Program will display simple menu
Код: 
   Create ElfLib 0.90
---------------------------

 <1.>  Build library
 <2.>  Partial build
 <3.>  Check library

 <0.>  Quit

choose 2 if you want to locate only some specific functions (GVI are 0x37C-0x396)




regards,
Bartek


[ Edited by ndt в 11.9.09 23:23 ]


Added 29.9.09 22:01

some user suggest me to post info new version is out so I do :)

most important changes TriX maps correctly A2 phone memory segments - some protected routines are copied during boot time to another segments of memory (like memalloc, memfree etc). Maybe IDA CXC loader, should do it also

apply_patches - apply patches to cxc file form patches list or separate vkp patches, all dirty stuff (patching, checking patches. recalculating SHA-1 hashes) is done by TriX


Revision 3638 (2009/09/28):

  • [*]optimized generating patches method (much faster now)
    [*]every firmware modification goes through the fmtBABE now
    [*]corrected mapping of protected routines
    [*]improved find_free_space script
    [*]SE locate patterns moved to separate file
    [*]fmtBABE fixed to work with k850 firmware
    [*]SE apply patches script added


  • Revision 3623 (2009/09/19):

  • [*]fixed TFILE FAT structure to work with files larger than 32MB
    [*]added SHA-1 hash generation
    [*]better method of detecting firmware/platform version
    [*]added basic SE firmware encoding (A2 platform, R&D cert.)
    [*]some new scripts added


  • Revision 3612 (2009/09/11):

  • [*]filenames handled using system code page
    [*]fixed console build configurations
    [*]fmtBABE - some parts of code rewritten from scratch
    [*]file_get_path replaced by set_cwd to get better results in debugging
    [*]added ui_dlg_save_file
    [*]small commit to handling TriX .txj projects
    [*]SE: GVI functions added to locate ()
    [*]ui_dlg_load_file improvement
    [*]SE reference_searcher script, based on bl_reference_searcher
    [*]leading spaces were cut from strings, fixed
    [*]some bugfixes
    [*]minor changes


  •  gani:
    10.10.09, 12:54
     I tried this with my W595 R3EF001!
    I used "Build library" then I get this:
    What I have to do wthi this?


    Код: 
    0448: 00000000 B81B6312 ; 112: memset
    044C: 00000000 98781410 ; 113: memcpy
    0450: 00000000 E1816F10 ; 114: sprintf
    0454: 00000000 99816F10 ; 115: snwprintf
    0458: 00000000 7D7B9510 ; 116: _fopen
    045C: 00000000 81929510 ; 117: fclose
    0460: 00000000 11959510 ; 118: fread
    0464: 00000000 DD969510 ; 119: fwrite
    0468: 00000000 FFFFFFFF ; 11A: _wstat
    046C: 00000000 FFFFFFFF ; 11B: fputs
    0470: 00000000 E1849510 ; 11C: fstat
    0474: 00000000 A5B59510 ; 11D: AllocDirHandle
    0478: 00000000 9D5B9510 ; 11E: GetFname
    047C: 00000000 F52C7F11 ; 11F: DataBrowserDesc_Create
    0480: 00000000 752F7F11 ; 120: DataBrowserDesc_SetStyle
    0484: 00000000 852F7F11 ; 121: DataBrowserDesc_SetHeaderText
    0488: 00000000 752F7F11 ; 122: DataBrowserDesc_SetFolders
    048C: 00000000 8D2F7F11 ; 123: DataBrowserDesc_SetOKSoftKeyText
    0490: 00000000 61EF7E11 ; 124: DataBrowser_Create
    0494: 00000000 A52D7F11 ; 125: DataBrowserDesc_Destroy
    0498: 00000000 EDB19510 ; 126: getFileExtention
    049C: 00000000 015E9510 ; 127: DataBrowser_isFileInListExt
    04A0: 00000000 41CDDE10 ; 128: Timer_ReSet
    04A4: 00000000 0DCDDE10 ; 129: Timer_Set
    04A8: 00000000 99CDDE10 ; 12A: Timer_Kill
    04AC: 00000000 2D07DF10 ; 12B: CreateBook
    04B0: 00000000 4108DF10 ; 12C: BookObj_KillBook
    04B4: 00000000 3D04DF10 ; 12D: BookObj_GotoPage
    04B8: 00000000 F505DF10 ; 12E: BookObj_ReturnPage
    04BC: 00000000 AD0DDF10 ; 12F: FreeBook
    04C0: 00000000 65E9DE10 ; 130: FindBook
    04C4: 00000000 69D7D810 ; 131: Find_StandbyBook
    04C8: 00000000 DD09DF10 ; 132: BookObj_SetFocus
    04CC: 00000000 99239D10 ; 133: GuiObject_SetTitleText
    04D0: 00000000 85219D10 ; 134: ShowWindow
    04D4: 00000000 31DEA711 ; 135: SetCursorToItem
    04D8: 00000000 DD219D10 ; 136: GUI_SetStyle
    04DC: 00000000 1DEAA711 ; 137: GUIonMessage_GetCreatedItemIndex
    04E0: 00000000 29EAA711 ; 138: SetMenuItemText0
    04E4: 00000000 59EAA711 ; 139: SetMenuItemText1
    04E8: 00000000 39EAA711 ; 13A: SetMenuItemText2
    04EC: 00000000 49EAA711 ; 13B: SetMenuItemText3
    04F0: 00000000 69EAA711 ; 13C: SetListObjectItemIcon
    04F4: 00000000 FFFFFFFF ; 13D: GUIObject_SetHeaderText
    04F8: 00000000 45DEA711 ; 13E: ListMenu_GetSelectedItem
    04FC: 00000000 95DEA711 ; 13F: SetMenuItemStyle
    0500: 00000000 1D0A9D10 ; 140: putchar
    0504: 00000000 FFFFFFFF ; 8141: isScreenSaverBook
    0508: 00000000 0DCDD810 ; 142: StatusIndication_SetItemText
    050C: 00000000 15E9D810 ; 143: StatusIndication_ShowNotes
    0510: 00000000 BD2F8910 ; 144: CreateStringInput
    0514: 00000000 2102A811 ; 145: CreateOneOfMany
    0518: 00000000 AD03A811 ; 146: OneOfMany_SetItemCount
    051C: 00000000 C903A811 ; 147: OneOfMany_SetChecked
    0520: 00000000 FD03A811 ; 148: OneOfMany_SetTexts
    0524: 00000000 D903A811 ; 149: OneOfMany_GetSelected
    0528: 00000000 21E8D810 ; 14A: StatusIndication_Item8_SetText
    052C: 00000000 A5D38010 ; 14B: GUIObject_Softkey_SetAction
    0530: 00000000 E5D38010 ; 14C: GUIObject_Softkey_SetText
    0534: 00000000 1DD48010 ; 14D: GUIObject_SoftKey_SetEnable
    0538: 00000000 1DD48010 ; 14E: GUIObject_SoftKey_AddErrorStr
    053C: 00000000 59D38010 ; 14F: GUIObject_SoftKey_RemoveItem
    0540: 00000000 79D38010 ; 150: GUIObject_SoftKey_SetVisible
    0544: 00000000 4925F610 ; 151: GUIObject_SoftKey_SuppressDefaultAction
    0548: 00000000 B18D6F10 ; 152: wstrcpy
    054C: 00000000 5D8E6F10 ; 153: wstrncpy
    0550: 00000000 558D6F10 ; 154: wstrcat
    0554: 00000000 FFFFFFFF ; 155: wstrncat
    0558: 00000000 898D6F10 ; 156: wstrcmp
    055C: 00000000 A961D610 ; 157: wstrlen
    0560: 00000000 7174D610 ; 158: str2wstr
    0564: 00000000 69846F10 ; 159: strcmp
    0568: 00000000 C5846F10 ; 15A: strlen
    056C: 00000000 FFFFFFFF ; 15B: wstr2strn
    0570: 00000000 691CF610 ; 15C: int2strID
    0574: 00000000 3D1EF610 ; 15D: Str2ID
    0578: 00000000 4925F610 ; 15E: StrID2Str
    057C: 00000000 D123F610 ; 15F: TextID2wstr
    0580: 00000000 8122F610 ; 160: TextGetLength
    0584: 00000000 7921F610 ; 161: TextFree
    0588: 00000000 FFFFFFFF ; 162: AB_DEFAULTNBR_GET
    058C: 00000000 FFFFFFFF ; 163: AB_READSTRING
    0590: 00000000 FFFFFFFF ; 164: AB_READPHONENBR
    0594: 00000000 FFFFFFFF ; 165: AB_GETNBROFITEMS
    0598: 00000000 FFFFFFFF ; 166: PNUM_len
    059C: 00000000 FFFFFFFF ; 167: PNUM2str
    05A0: 00000000 1D209D10 ; 168: GUIObj_GetDISPObj
    05A4: 00000000 3D44AC11 ; 169: List_New
    05A8: 00000000 6544AC11 ; 16A: List_Free
    05AC: 00000000 B145AC11 ; 16B: ListElement_AddtoTop
    05B0: 00000000 FFFFFFFF ; 16C: Gif2ID
    05B4: 00000000 FFFFFFFF ; 16D: REQUEST_IMAGEHANDLER_INTERNAL_GETHANDLE
    05B8: 00000000 59C57A10 ; 16E: REQUEST_DATEANDTIME_GET
    05BC: 00000000 FFFFFFFF ; 16F: IndicationDevice_Backlight_FadeToLevel
    05C0: 00000000 FFFFFFFF ; 170: GetFreeBytesOnHeap
    05C4: 00000000 FFFFFFFF ; 171: BookObj_Hide
    05C8: 00000000 FFFFFFFF ; 172: BookObj_Show
    05CC: 00000000 FFFFFFFF ; 173: StartAPP
    05D0: 00000000 31DEA711 ; 174: ListMenu_SetOnMessages
    05D4: 00000000 FFFFFFFF ; 175: manifest_GetParam
    05D8: 00000000 FFFFFFFF ; 176: lseek
    05DC: 00000000 FFFFFFFF ; 8177: get_VBUFFER
    05E0: 00000000 FFFFFFFF ; 178: SetLampLevel
    05E4: 00000000 3D45AC11 ; 179: ListElement_Remove
    05E8: 00000000 FFFFFFFF ; 17A: GetCurrentPID
    05EC: 00000000 7145AC11 ; 17B: ListElement_Prt2NumElement
    05F0: 00000000 E8CA1710 ; 17C: alloc
    05F4: 00000000 04CB1710 ; 17D: receive
    05F8: 00000000 F4CA1710 ; 17E: send
    05FC: 00000000 44CB1710 ; 17F: sender
    0600: 00000000 14CB1710 ; 180: free_buf
    0604: 00000000 E0CB1710 ; 181: create_process
    0608: 00000000 00CE1710 ; 182: start
    060C: 00000000 B0CC1710 ; 183: get_ptype
    0610: 00000000 FCCB1710 ; 184: current_process
    0614: 00000000 34CB1710 ; 185: delay
    0618: 00000000 FCCC1710 ; 186: hunt
    061C: 00000000 1CCD1710 ; 187: kill_proc
    0620: 00000000 FFFFFFFF ; 8188: set_bp_adr
    0624: 00000000 FFFFFFFF ; 189: receive_w_tmo
    0628: 00000000 FFFFFFFF ; 818A: clear_bp_adr
    0680: 00000000 91846F10 ; 1A0: strcpy
    0684: 00000000 95F6E010 ; 1A1: CreateMessage
    0688: 00000000 E9F6E010 ; 1A2: SendMessage
    068C: 00000000 71F7E010 ; 1A3: WaitMessage
    0690: 00000000 85F7E010 ; 1A4: FreeMessage
    0694: 00000000 FFFFFFFF ; 1A5: SendDispatchMessage
    0698: 00000000 FFFFFFFF ; 1A6: UIEventName
    069C: 00000000 FFFFFFFF ; 81A7: MissedEvents
    06A0: 00000000 FFFFFFFF ; 1A8: UI_Event
    06A4: 00000000 DDF4DE10 ; 1A9: UI_Event_wData
    06A8: 00000000 FFFFFFFF ; 1AA: UI_Event_toBookID
    06AC: 00000000 FFFFFFFF ; 1AB: UI_Event_toBookIDwData
    06B0: 00000000 ED559C10 ; 1AC: ListElement_Find
    06B4: 00000000 FFFFFFFF ; 1AD: ListElement_GetByIndex
    06B8: 00000000 FFFFFFFF ; 1AE: wstrrchr
    06BC: 00000000 CD04DF10 ; 1AF: BookObj_CallSubroutine
    06C0: 00000000 B945AC11 ; 1B0: ListElement_Add


     Blend:
    10.10.09, 13:03
     gani,
    save on lib.vkp

     jamesbond22:
    10.10.09, 13:04
     gani писал:
    What I have to do wthi this?

    use it for porting or creating patches. ;-)

     ndt:
    10.10.09, 20:38
     yeah something like that ;)

    user Lollylost100 asked me about possibility of resizing cxc file to get some extra space for patches graphics etc. I found some time to look it closer and I did it

    Revision 3645:

  • [*]added some new SE functions
    [*]fmtBABE handle resized cxc files correctly now
    [*]v_set_w_raw_inline bugfix


  • with super_size_me script you can get up to a dozen MB or so





    regards,
    Bartek

     gani:
    10.10.09, 23:05
     Blend писал:

    How to do this?

    jamesbond22 писал:

    Don`t know what I have to do with this codes!

    ndt писал:

    I get error when I try "find free space script":


    Код: 
    [TriX] -------------------------------------
    [TriX] -           TriX  v0.9              -
    [TriX] -   (c) 2006 by g3gg0 and krisha    -
    [TriX] -------------------------------------

    _________________________________________________________________
    [Script]   'C:/Users/gani/TriX_repository/scripts/SE/find_free_space.trx'
               Script is not signed correctly.
    [Plugin] - fmtBABE -  fmtBABE v0.53 Plugin Loaded - [OK]

    [ifile #0: C:/Users/gani/TriX_repository/phone_app.cxc ]
    [Plugin] - fmtBABE -  [STILL LOADED] - [OK]
    [TriX]  Error during compilation:
    Untitled( 73) Error :`PrintBytes' undeclared
    In line:            printf ( "0x%08X - 0x%08X: %s\n", fstart, fstart + flen - 1, PrintBytes ( flen ) );


     ndt:
    11.10.09, 12:17
     @gani],
    did you checkout repository? ;)
    Страница 1 из 2: [1] 2 »

    URL этой темы:
    https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=4029

    © 2005-2018 supertrubka.org