Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
2
Cevap
1101
Tıklama
0
Öne Çıkarma
ARM Assembly - Tersine Mühendislik üzerine bir sorun. Yardım Lütfen...
G
15 yıl (928 mesaj)
Yüzbaşı
Konu Sahibi

Öncelikle herkese iyi akşamlar dilerim.

Benim bir sorunum var ancak bunu bir türlü çözemedim. sorun nerden kaynaklanıyor onuda anlamış değilim.
Denemediğim stil kalmadı. Uyku uyuyamaz oldum artık resmen.
3 Günde yazımını bitirdim ve o yetmemiş gibi olmadık yerden sorun çıktı çalışan dosya çalışmaz oldu vs vs ve en sonunda farklı stilde yazmaya başladım.

Benim bu dosya Sony Ericsson sistemleri için.

ARM Assembly - ASM dili olanlar sorunumun ne olduğuna yardımcı olursa sevinirim.

Bu paylaştığım benim test ASM'm biraz alt kısımları dağınık

include "x.inc" 
include "aino.inc"


org 0x143A4740 ;143A4754
LDR R3, _devdev
BLX R3
align 4
_devdev dw _govde+1
NOP
_backkök:



;===================================================================

org 0x15C78CD0

_govde:
LDR R2, _ileri
LDR R0, [R5,0x34]
MOV R1, 0xA0
BL _GUIObject_SoftKeys_SetAction

ADR R0, _title
MOV R1, 0
MOV R2, 0xFF
BL _Str2ID
ADD R2, R0, 0
MOV R1, 0xA0
LDR R0, [R5,0x34]
BL _GUIObject_SoftKeys_SetText



LDR R3, _return
BX R3
align 4
_return dw _backkök+1
_ileri dw _pencere+1

_pencere:
PUSH {R4,R7,LR}
ADD R4, R0, 0
MOV R1, 0
BL _CreateListMenu

STR R0, [R4,0x20]

ADR R0, _title
MOV R1, 0
MOV R2, 0xFF
BL _Str2ID
LSL R1, R0, 0
LDR R0, [R4,0x20]
BL _GUIObject_SetTitleText


LDR R0, [R4,0x20]
MOV R1, 2
BL _GUIObject_SetStyle

LDR R0, [R4,0x20]
MOV R1, 3
BL _ListMenu_SetItemStyle

LDR R0, [R4,0x20]
MOV R1, 5
BL _ListMenu_SetItemCount

LDR R0, [R4,0x20]
MOV R1, 0
BL _ListMenu_SetCursorToItem

LDR R0, [R4,0x20]
MOV R1, 1
BL _ListMenu_SetHotkeyMode

LDR R0, [R4,0x20]
LDR R1, _isimler_yol
BL _ListMenu_SetOnMessage


LDR R0, [R4,0x20]
LDR R1, _infotusu
LDR R2, _infoadres
BL _GUIObject_SoftKeys_SetAction

LDR R2, _info_lng
LDR R1, _infotusu
LDR R0, [R4,0x20]
BL _GUIObject_SoftKeys_SetTexts


LDR R2, _secim_yol
LDR R1, _secim
LDR R0, [R4,0x20]
BL _GUIObject_SoftKeys_SetAction

LDR R0, [R4,0x20]
MOVL R1, 0xFC0
LDR R2, _backkey_yol
BL _GUIObject_SoftKeys_SetAction

LDR R0, [R4,0x20]
BL _GUIObject_Show

MOV R0, 1
POP {R4,R7,PC}


align 4
_title du "Internal FS",0
align 4

_secim_yol dw _secim_alan+1
_isimler_yol dw _isimler+1
_backkey_yol dw _backkey+1
_infoadres dw _patcherinfo_ileri+1

_infotusu dw 0xFC5
_secim dw 0xFC2
_info_lng dw 0x796


_backkey:
PUSH {LR}
ADD R4, R0, 0
LDR R0, [R4,0x20]
BL _GUIObject_Destroy
MOV R0, 0
STR R0, [R4,0x20]
POP {PC}
align 4


_patcherinfo_ileri:
PUSH {R4,LR}
adr R0, _patcherinfo
MOV R1, 0
MOV R2, 0xFF
BL _Str2ID
LSL R4, R0, 0
MOV R0, 0
MOV R1, 0
PUSH {R0,R1}

MOV R2, 0xFF
LSL R1, R4, 0
LSL R0, R4, 0
MOV R3, 1
BL _MessageBox
ADD SP, SP, 8
POP {R4,PC}


_patcherinfo du "Internal FS for DB3350",0xA
du 0xA
du "© Gurkan!",0

align 4


_secim_alan:
PUSH {R4,R5,LR}

ADD R4, R0, 0
ADD R0, R1, 0
BL _ListMenu_GetSelectedItem

CMP R0, 0
BEQ _Boot

CMP R0, 1
BEQ _IFS

CMP R0, 2
BEQ _SYS

CMP R0, 3
BEQ _SYSTEM

CMP R0, 4
BEQ _TPA

B _alan
_Boot:
LDR R1, _junk1
B _alan

_IFS:
LDR R1, _junk2
B _alan

_SYS:
LDR R1, _junk3
B _alan

_SYSTEM:
LDR R1, _junk4
B _alan

_TPA:
LDR R1, _junk5


_alan:

ADD R4, R0, 0
BL _DataBrowserDesc_Create

ADD R5, R0, 0
BL _BookObj_GetBookID

ADD R1, R0, 0
ADD R0, R5, 0
BL _DataBrowserDesc_SetBookID

MOV R1, 1
ADD R0, R5, 0
BL _DataBrowserDesc_SetFoldersNumber

ADD R1, R7, 0
ADD R0, R5, 0
BL _DataBrowserDesc_SetFolders

ADD R0, R5, 0
MOV R1, 0
BL _DataBrowserDesc_Menu_AddFSFunctions

ADD R0, R5, 0
MOV R1, 0
BL _DataBrowserDesc_SetSelectAction

MOV R1, 1
ADD R0, R5, 0
BL _DataBrowserDesc_Menu_AddMarkFiles

MOV R1, 0x11
ADD R0, R5, 0
BL _DataBrowserDesc_SetViewModeAndSortOrder

ADD R0, R5, 0
BL _DataBrowser_Create

ADD R0, R5, 0
BL _DataBrowserDesc_Destroy

POP {R4,R5,PC}


align 4

_junk1 dw _Boot_isim
_junk2 dw _IFS_isim
_junk3 dw _SYS_isim
_junk4 dw _SYSTEM_isim
_junk5 dw _TPA_isim


align 4
_isimler:
PUSH {R0,R4,R7,LR}

ADD R4, R0, 0
BL _GUIonMessage_GetMsg

ADD R0, R4, 0
BL _GUIonMessage_GetCreatedItemIndex

CMP R0, 0
BEQ _first

CMP R0, 1
BEQ _second

CMP R0, 2
BEQ _third

CMP R0, 3
BEQ _fourth

CMP R0, 4
BEQ _fifth

B _alanisim

_first:
ADR R0, _Boot_isim
ADD R0, R0, 2
MOV R1, 0

LDR R2, _4Falan
; MOV R2, 0xFF

BL _Str2ID
ADD R1, R0, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]

BL _GUIonMessage_SetMenuItemText

ADR R0, _Boot_Aciklama
MOV R1, 0

LDR R2, _4Falan
; MOV R2, 0xFF
BL _Str2ID
ADD R1, R0, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]

BL _GUIonMessage_SetMenuItemSecondLineText

LDR R2, _Boot_icon
MOV R1, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]
BL _GUIonMessage_SetMenuItemIcon

B _alanisim

_second:
ADR R0, _IFS_isim
ADD R0, R0, 2
MOV R1, 0

LDR R2, _4Falan
; MOV R2, 0xFF
BL _Str2ID
ADD R1, R0, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]

BL _GUIonMessage_SetMenuItemText

ADR R0, _IFS_Aciklama
MOV R1, 0

LDR R2, _4Falan
; MOV R2, 0xFF
BL _Str2ID
ADD R1, R0, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]

BL _GUIonMessage_SetMenuItemSecondLineText

LDR R2, _IFS_icon
MOV R1, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]
BL _GUIonMessage_SetMenuItemIcon

B _alanisim

_third:
ADR R0, _SYS_isim
ADD R0, R0, 2
MOV R1, 0

LDR R2, _4Falan
; MOV R2, 0xFF
BL _Str2ID
ADD R1, R0, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]

BL _GUIonMessage_SetMenuItemText

ADR R0, _SYS_Aciklama
MOV R1, 0

LDR R2, _4Falan
; MOV R2, 0xFF
BL _Str2ID
ADD R1, R0, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]

BL _GUIonMessage_SetMenuItemSecondLineText

LDR R2, _SYS_icon
MOV R1, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]
BL _GUIonMessage_SetMenuItemIcon

B _alanisim

_fourth:
ADR R0, _SYSTEM_isim
ADD R0, R0, 2
MOV R1, 0

LDR R2, _4Falan
; MOV R2, 0xFF
BL _Str2ID
ADD R1, R0, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]

BL _GUIonMessage_SetMenuItemText

ADR R0, _SYSTEM_Aciklama
MOV R1, 0

LDR R2, _4Falan
; MOV R2, 0xFF
BL _Str2ID
ADD R1, R0, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]

BL _GUIonMessage_SetMenuItemSecondLineText

LDR R2, _SYSTEM_icon
MOV R1, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]
BL _GUIonMessage_SetMenuItemIcon

B _alanisim

_fifth:
ADR R0, _TPA_isim
ADD R0, R0, 2
MOV R1, 0

LDR R2, _4Falan
; MOV R2, 0xFF
BL _Str2ID
ADD R1, R0, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]

BL _GUIonMessage_SetMenuItemText

ADR R0, _TPA_Aciklama
MOV R1, 0

LDR R2, _4Falan
; MOV R2, 0xFF
BL _Str2ID
ADD R1, R0, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]

BL _GUIonMessage_SetMenuItemSecondLineText

LDR R2, _TPA_icon
MOV R1, 0

ADD R0, R4, 0
; LDR R0, [R4,0x20]
BL _GUIonMessage_SetMenuItemIcon

_alanisim:
ADD R0, R4, 0
POP {R0,R4,R7,PC}

align 4
_4Falan dw 0xFFFF



align 4
_Boot_isim du "/BOOT",0
align 4
_Boot_Aciklama du "Main system",0

align 4
_IFS_isim du "/IFS",0
align 4
_IFS_Aciklama du "Driver system",0

align 4
_SYS_isim du "/sys",0
align 4
_SYS_Aciklama du "GDFS system",0

align 4
_SYSTEM_isim du "/system",0
align 4
_SYSTEM_Aciklama du "Cache system",0

align 4
_TPA_isim du "/TPA",0
align 4
_TPA_Aciklama du "File system",0

align 4
_Boot_icon dw 0x970
_IFS_icon dw 0x98f
_SYS_icon dw 0x9a1
_SYSTEM_icon dw 0x99e
_TPA_icon dw 0x988



;============================================================================================


_GUIObject_SoftKeys_SetAction:
LDR R3, _JUNK1
BX R3
_GUIObject_SoftKeys_SetText:
LDR R3, _JUNK2
BX R3
_CreateListMenu:
LDR R3, _JUNK3
BX R3
_GUIObject_SetTitleText:
LDR R3, _JUNK4
BX R3
_ListMenu_SetItemCount:
LDR R3, _JUNK5
BX R3
_ListMenu_SetOnMessage:
LDR R3, _JUNK6
BX R3
_GUIObject_SetStyle:
LDR R3, _JUNK7
BX R3
_ListMenu_SetItemStyle:
LDR R3, _JUNK8
BX R3
_GUIObject_Show:
LDR R3, _JUNK9
BX R3
_ListMenu_GetSelectedItem:
LDR R3, _JUNK10
BX R3
_ListMenu_SetCursorToItem:
LDR R3, _JUNK11
BX R3
_GUIonMessage_GetCreatedItemIndex:
LDR R3, _JUNK12
BX R3
_GUIonMessage_SetMenuItemText:
LDR R3, _JUNK13
BX R3
_GUIonMessage_SetMenuItemSecondLineText:
LDR R3, _JUNK14
BX R3
_Str2ID:
LDR R3, _JUNK15
BX R3
_ListMenu_SetHotkeyMode:
LDR R3, _JUNK16
BX R3
_GUIObject_Destroy:
LDR R3, _JUNK17
BX R3
;_Open:
; LDR R3, _JUNK18
; BX R3
_GUIonMessage_SetMenuItemIcon:
LDR R3, _JUNK19
BX R3
_GUIonMessage_GetMsg:
LDR R3, _JUNK20
BX R3
_GUIObject_SoftKeys_SetEnable:
LDR R3, _JUNK21
BX R3
_MessageBox:
LDR R3, _JUNK22
BX R3
_GUIObject_SoftKeys_SetTexts:
LDR R3, _JUNK23
BX R3

align 4

_JUNK1 dw GUIObject_SoftKeys_SetAction
_JUNK2 dw GUIObject_SoftKeys_SetText
_JUNK3 dw CreateListMenu
_JUNK4 dw GUIObject_SetTitleText
_JUNK5 dw ListMenu_SetItemCount
_JUNK6 dw ListMenu_SetOnMessage
_JUNK7 dw GUIObject_SetStyle
_JUNK8 dw ListMenu_SetItemStyle
_JUNK9 dw GUIObject_Show
_JUNK10 dw ListMenu_GetSelectedItem
_JUNK11 dw ListMenu_SetCursorToItem
_JUNK12 dw GUIonMessage_GetCreatedItemIndex
_JUNK13 dw GUIonMessage_SetMenuItemText
_JUNK14 dw GUIonMessage_SetMenuItemSecondLineText
_JUNK15 dw Str2ID
_JUNK16 dw ListMenu_SetHotkeyMode
_JUNK17 dw GUIObject_Destroy

;_JUNK18 dw 0x145AD924+1 ;0x1516A868+1

_JUNK19 dw GUIonMessage_SetMenuItemIcon
_JUNK20 dw GUIonMessage_GetMsg
_JUNK21 dw GUIObject_SoftKeys_SetEnable
_JUNK22 dw MessageBox
_JUNK23 dw GUIObject_SoftKeys_SetTexts



_DataBrowserDesc_Create:
LDR R3, _JUNK24
BX R3
_JUNK24 dw DataBrowserDesc_Create

_BookObj_GetBookID:
LDR R3, _JUNK25
BX R3
_JUNK25 dw BookObj_GetBookID

_DataBrowserDesc_SetBookID:
LDR R3, _JUNK26
BX R3
_JUNK26 dw DataBrowserDesc_SetBookID

_DataBrowserDesc_SetFolders:
LDR R3, _JUNK27
BX R3
_JUNK27 dw DataBrowserDesc_SetFolders

_DataBrowserDesc_SetFoldersNumber:
LDR R3, _JUNK28
BX R3
_JUNK28 dw DataBrowserDesc_SetFoldersNumber

_DataBrowserDesc_SetSelectAction:
LDR R3, _JUNK29
BX R3
_JUNK29 dw DataBrowserDesc_SetSelectAction

_DataBrowser_Create:
LDR R3, _JUNK30
BX R3
_JUNK30 dw DataBrowser_Create

_DataBrowserDesc_Destroy:
LDR R3, _JUNK31
BX R3
_JUNK31 dw DataBrowserDesc_Destroy

_DataBrowserDesc_SetViewModeAndSortOrder:
LDR R3, _JUNK32
BX R3
_JUNK32 dw DataBrowserDesc_SetViewModeAndSortOrder

_DataBrowserDesc_Menu_AddMarkFiles:
LDR R3, _JUNK33
BX R3
_JUNK33 dw DataBrowserDesc_Menu_AddMarkFiles


_DataBrowserDesc_SetOpenEmptyFolder:
LDR R3, _JUNK34
BX R3
_JUNK34 dw DataBrowserDesc_SetOpenEmptyFolder


_DataBrowserDesc_SetOption:
LDR R3, _JUNK35
BX R3
_JUNK35 dw DataBrowserDesc_SetOption

_DataBrowserDesc_SetHeaderText:
LDR R3, _JUNK36
BX R3
_JUNK36 dw DataBrowserDesc_SetHeaderText


_DataBrowserDesc_Menu_AddFSFunctions:
LDR R3, _JUNK37
BX R3
_JUNK37 dw DataBrowserDesc_Menu_AddFSFunctions



Sorun alanıma gelecek olursak,

_secim_alan: Sorun sadece burada.


Bu Deneme1
_secim_alan: 
PUSH {R4,R5,LR}

ADD R4, R0, 0
ADD R0, R1, 0
BL _ListMenu_GetSelectedItem

CMP R0, 0
BEQ _Boot

CMP R0, 1
BEQ _IFS

CMP R0, 2
BEQ _SYS

CMP R0, 3
BEQ _SYSTEM

CMP R0, 4
BEQ _TPA

B _alan
_Boot:
LDR R1, _junk1
B _alan

_IFS:
LDR R1, _junk2
B _alan

_SYS:
LDR R1, _junk3
B _alan

_SYSTEM:
LDR R1, _junk4
B _alan

_TPA:
LDR R1, _junk5


_alan:

ADD R4, R0, 0
BL _DataBrowserDesc_Create

ADD R5, R0, 0
BL _BookObj_GetBookID

ADD R1, R0, 0
ADD R0, R5, 0
BL _DataBrowserDesc_SetBookID

MOV R1, 1
ADD R0, R5, 0
BL _DataBrowserDesc_SetFoldersNumber

ADD R1, R7, 0
ADD R0, R5, 0
BL _DataBrowserDesc_SetFolders

ADD R0, R5, 0
MOV R1, 0
BL _DataBrowserDesc_Menu_AddFSFunctions

ADD R0, R5, 0
MOV R1, 0
BL _DataBrowserDesc_SetSelectAction

MOV R1, 1
ADD R0, R5, 0
BL _DataBrowserDesc_Menu_AddMarkFiles

MOV R1, 0x11
ADD R0, R5, 0
BL _DataBrowserDesc_SetViewModeAndSortOrder

ADD R0, R5, 0
BL _DataBrowser_Create

ADD R0, R5, 0
BL _DataBrowserDesc_Destroy

POP {R4,R5,PC}


align 4

_junk1 dw _Boot_isim
_junk2 dw _IFS_isim
_junk3 dw _SYS_isim
_junk4 dw _SYSTEM_isim
_junk5 dw _TPA_isim


Bu deneme 2

_secim_alan: 
PUSH {R4,R5,LR}
ADD R4, R0, 0
BL _DataBrowserDesc_Create

ADD R5, R0, 0
BL _BookObj_GetBookID

ADD R1, R0, 0
ADD R0, R5, 0
BL _DataBrowserDesc_SetBookID

MOV R1, 5
ADD R0, R5, 0
BL _DataBrowserDesc_SetFoldersNumber

ADR R1, _Klasorler
MOV R1, 0
ADD R0, R5, 0
BL _DataBrowserDesc_SetFolders

ADD R0, R5, 0
MOV R1, 0
BL _DataBrowserDesc_Menu_AddFSFunctions

ADD R0, R5, 0
MOV R1, 0
BL _DataBrowserDesc_SetSelectAction

MOV R1, 1
ADD R0, R5, 0
BL _DataBrowserDesc_Menu_AddMarkFiles

MOV R1, 0x11
ADD R0, R5, 0
BL _DataBrowserDesc_SetViewModeAndSortOrder


ADD R0, R5, 0
BL _DataBrowser_Create

ADD R0, R5, 0
BL _DataBrowserDesc_Destroy
POP {R4,R5,PC}


Klasorler dw _Boot_isim
dw _IFS_isim
dw _SYS_isim
dw _SYSTEM_isim
dw _TPA_isim



3. deneme

_secim_alan: 
PUSH {R4,R5,LR}
ADD R4, R0, 0
BL _DataBrowserDesc_Create

ADD R5, R0, 0
BL _BookObj_GetBookID

ADD R1, R0, 0
ADD R0, R5, 0
BL _DataBrowserDesc_SetBookID

MOV R1, 1
ADD R0, R5, 0
BL _DataBrowserDesc_SetFoldersNumber

ADR R1, BOOT
MOV R1, 0
ADD R0, R5, 0
BL _DataBrowserDesc_SetFolders

ADR R1, IFS
MOV R1, 1
ADD R0, R5, 0
BL _DataBrowserDesc_SetFolders

ADR R1, SYS
MOV R1, 2
ADD R0, R5, 0
BL _DataBrowserDesc_SetFolders

ADR R1, SYSTEM
MOV R1, 3
ADD R0, R5, 0
BL _DataBrowserDesc_SetFolders

ADR R1, TPA
MOV R1, 4
ADD R0, R5, 0
BL _DataBrowserDesc_SetFolders





ADD R0, R5, 0
MOV R1, 0
BL _DataBrowserDesc_Menu_AddFSFunctions

ADD R0, R5, 0
MOV R1, 0
BL _DataBrowserDesc_SetSelectAction

MOV R1, 1
ADD R0, R5, 0
BL _DataBrowserDesc_Menu_AddMarkFiles

MOV R1, 0x11
ADD R0, R5, 0
BL _DataBrowserDesc_SetViewModeAndSortOrder


ADD R0, R5, 0
BL _DataBrowser_Create

ADD R0, R5, 0
BL _DataBrowserDesc_Destroy
POP {R4,R5,PC}



align 4


BOOT dw _Boot_isim
IFS dw _IFS_isim
SYS dw _SYS_isim
SYSTEM dw _SYSTEM_isim
TPA dw _TPA_isim



Şimdi gelelim asıl soruna.

1. denemede direkt olarak reset yiyorum.
2. denemede tüm klasörleri tek bir klasör içinde topluyor.
3. denemede direkt reseti boyluorum.

Bana gerekli olan şey Tüm klasörleri tek tek açmak.
Yani Boot a tıklıyorsam Boot, Tpa' ya tıklıyorsam TPA açılmalı.

Tklanılan yerler ise buralar.
< Resime gitmek için tıklayın >

Yardımlarınızı bekliyorum..
Saygılar "Gurkan!"

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



A
15 yıl (42539 mesaj)
Yarbay

yinemi reverse engineering. kolay gelsin


Bu mesaja 1 cevap geldi.
G
15 yıl (928 mesaj)
Yüzbaşı
Konu Sahibi

Muhakkak ama sanırım Tersine Mühendislik bilgisi olan kimse yok



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.