[Tutorial] Создание ASM файла (исходника). : Патчестроение : Форум

Страница 4 из 9: « 1 2 3 [4] 5 6 7 8 9 »

 D3mon:
11.02.10, 16:32
 Троян писал:
Еще там в теле исходника есть написаный текст, который будет в патче
Его можно русскими буквами писать?

его можешь вообще не дизассемблировать)

 Va_st:
11.02.10, 16:38
 Троян, тему " Учимся писать патчи " почитай полностью,там все ответы есть,у всех возникали подобные вопросы=)

 16ty78:
21.03.10, 01:20
 Применяем патч используя IDC скрипт 'Apply VKP Patch'. я новичек как это сделать можно подробней

 MNS81:
21.03.10, 01:31
 16ty78, Открывай прошу в иде, и жми в ней файл - ИДЦ файл, далее появится окошко, в нем ищешь куда положил и выбираешь ApplyPatch.idc, потом появится окошко где надо выбрать патч. Потом отвечаешь ДА на вопрос "начинать патчить?", вот собственно и все

 vetel:
29.07.10, 23:44
 народ помогите пожалуйста разобраться с исхом вот этого патча: ;W610 SW-R6BC002
;Добавить в информацию о файле отображение размера файла в байтах.
;Работает также с папками, java-приложениями и e-mail сообщениями.
;Добавлено раздельное отображение у java-приложений размера jar архива и данных приложения.
;v4
;(!) Внимание, данная версия не полная, не работает с e-mail сообщениями. Позже все будет :), сначала сделал половину все нормально компилится, а вот врезки никак не хотят, пишет ошибку: неопределенный символ org "ox44EB97F2" вот исходник

include "x.inc"
; ---------------------------------------------------------------------------
org ox44EB97F2
LDR R1, ox44EB97F8
BX R1
off_44EB97F8 DCD ox45AABB2C+1 ; DATA XREF: ROM:44EB97F2r
; ---------------------------------------------------------------------------
org ox44EBD786
LDR R1, ox44EBD78C
BX R1
align 4
off_44EBD78C DCD ox45AABB00+1 ; DATA XREF: ROM:44EBD786r
; ---------------------------------------------------------------------------
org ox44EC00B2
LDR R1, ox44EC00B8
BX R1
off_44EC00B8 DCD ox45AABB18+1 ; DATA XREF: ROM:44EC00B2r
; ---------------------------------------------------------------------------
org ox44EC160E
LDR R1, ox44EC1614
BX R1
off_44EC1614 DCD ox45AABB2C+1 ; DATA XREF: ROM:44EC160Er
; ---------------------------------------------------------------------------
org ox44F7BC1C
NOP
; ---------------------------------------------------------------------------
org ox44F7BBE2
LDR R1, ox44F7BBE8
BX R1
off_44F7BBE8 DCD ox45AABB40+1 ; DATA XREF: ROM:44F7BBE2r
; ---------------------------------------------------------------------------
addr1 = 0x44ED326D
addr2 = 0x44F729ED
addr3 = 0x4533DB2D
addr4 = 0x4533D879
addr5 = 0x44EBD793
addr6 = 0x44EC00BD
addr7 = 0x44EB97FD
addr8 = 0x44F7BBED




ORG 0x45AABB00
CODE16
LDR R0, [R0,0x1C]
ADD R6, R0, 0
MOV R1, 0
LDR R2, dword_45AABC0C
BLX R2
ADD R1, R6, 0
BL sub_45AABBD2
STR R0, [R5,0x28]
MOV R6, 0xB
LDR R2, dword_45AABC1C
BX R2
; ---------------------------------------------------------------------------
ADD R2, R6, 0
MOV R1, 5
ADD R0, SP, 0xC
LDR R4, dword_45AABC14
BLX R4
LDR R1, [SP,8]
BL sub_45AABBD2
LDR R4, dword_45AABC20
BX R4
; ---------------------------------------------------------------------------
LDMIA R7!, {R0,R1}
SUB R7, 8
LDR R2, dword_45AABC0C
BLX R2
LDR R1, [R7]
BL sub_45AABBD2
STR R0, [R4,0xC]
LDR R2, dword_45AABC24
BX R2
; ---------------------------------------------------------------------------
LDRB R0, [R4]
ADD R2, 0x18
MOV R1, SP
LDR R3, dword_45AABC10
BLX R3
PUSH {R4-R7}
LDR R0, [R4,8]
LDR R5, [R0,0x14]
LDR R6, [R0,0x18]
ADD R1, R5, R6
LDR R0, dword_45AABC48
BL sub_45AABBD2
SUB SP, SP, 0x30
STR R0, [SP]
LDR R7, dword_45AABC40
STR R7, [SP,4]
LDR R0, dword_45AABC50
STR R0, [SP,8]
LDR R0, dword_45AABC38
STR R0, [SP,0xC]
MOVL R2, 0x400
CMP R5, R2
BCS loc_45AABB78
ADD R0, R5, 0
LDR R7, dword_45AABC44
B loc_45AABB7C
; ---------------------------------------------------------------------------

loc_45AABB78: ; CODE XREF: ROM:45AABB70j
LSR R0, R5, 0xA
LDR R7, dword_45AABC48

loc_45AABB7C: ; CODE XREF: ROM:45AABB76j
LDR R2, dword_45AABC18
BLX R2
STR R0, [SP,0x10]
ADD R0, R7, 0
ADD R1, R5, 0
BL sub_45AABBD2
STR R0, [SP,0x14]
LDR R0, dword_45AABC40
STR R0, [SP,0x18]
LDR R0, dword_45AABC4C
STR R0, [SP,0x1C]
LDR R0, dword_45AABC3C
STR R0, [SP,0x20]
LDR R0, dword_45AABC38
STR R0, [SP,0x24]
MOVL R2, 0x400
CMP R6, R2
BCS loc_45AABBAA
ADD R0, R6, 0
LDR R7, dword_45AABC44
B loc_45AABBAE
; ---------------------------------------------------------------------------

loc_45AABBAA: ; CODE XREF: ROM:45AABBA2j
LSR R0, R6, 0xA
LDR R7, dword_45AABC48

loc_45AABBAE: ; CODE XREF: ROM:45AABBA8j
LDR R2, dword_45AABC18
BLX R2
STR R0, [SP,0x28]
ADD R0, R7, 0
ADD R1, R6, 0
BL sub_45AABBD2
STR R0, [SP,0x2C]
ADD R0, SP, 0
MOV R1, 5
MOV R2, 0xC
LDR R7, dword_45AABC14
BLX R7
ADD SP, SP, 0x30
POP {R4-R7}
STR R0, [R7,0x1C]
LDR R3, dword_45AABC28
BX R3

; =============== S U B R O U T I N E =======================================


sub_45AABBD2: ; CODE XREF: ROM:45AABB0Cp
; ROM:45AABB24p ...

var_2C = -0x2C
var_28 = -0x28
var_24 = -0x24
var_20 = -0x20
var_1C = -0x1C
var_18 = -0x18
var_14 = -0x14

PUSH {R1-R3,LR}
MOVL R2, 0x400
CMP R1, R2
BCC locret_45AABC08
SUB SP, SP, 0x1C
STR R0, [SP,0x2C+var_2C]
LDR R0, dword_45AABC34
STR R0, [SP,0x2C+var_28]
LDR R0, dword_45AABC2C
STR R0, [SP,0x2C+var_24]
ADD R0, R1, 0
LDR R2, dword_45AABC18
BLX R2
STR R0, [SP,0x2C+var_20]
LDR R0, dword_45AABC34
STR R0, [SP,0x2C+var_1C]
LDR R0, dword_45AABC44
STR R0, [SP,0x2C+var_18]
LDR R0, dword_45AABC30
STR R0, [SP,0x2C+var_14]
ADD R0, SP, 0x2C+var_2C
MOV R1, 5
MOV R2, 7
LDR R3, dword_45AABC14
BLX R3
ADD SP, SP, 0x1C

locret_45AABC08: ; CODE XREF: sub_45AABBD2+8j
POP {R1-R3,PC}
; End of function sub_45AABBD2

; ---------------------------------------------------------------------------
align 4
dword_45AABC0C DCD addr1 ; DATA XREF: ROM:45AABB06r
; ROM:45AABB30r
dword_45AABC10 DCD addr2 ; DATA XREF: ROM:45AABB46r
dword_45AABC14 DCD addr3 ; DATA XREF: ROM:45AABB1Er
; ROM:45AABBC4r ...
dword_45AABC18 DCD addr4 ; DATA XREF: ROM:loc_45AABB7Cr
; ROM:loc_45AABBAEr ...
dword_45AABC1C DCD addr5 ; DATA XREF: ROM:45AABB14r
dword_45AABC20 DCD addr6 ; DATA XREF: ROM:45AABB28r
dword_45AABC24 DCD addr7 ; DATA XREF: ROM:45AABB3Cr
dword_45AABC28 DCD addr8 ; DATA XREF: ROM:45AABBCEr
dword_45AABC2C DCD 0x78000028 ; DATA XREF: sub_45AABBD2+12r
dword_45AABC30 DCD 0x78000029 ; DATA XREF: sub_45AABBD2+26r
dword_45AABC34 DCD 0x780000A0 ; DATA XREF: sub_45AABBD2+Er
; sub_45AABBD2+1Er
dword_45AABC38 DCD 0x78000020 ; DATA XREF: ROM:45AABB66r
; ROM:45AABB98r
dword_45AABC3C DCD 0x7800003A ; DATA XREF: ROM:45AABB94r
dword_45AABC40 DCD 0x7800000A ; DATA XREF: ROM:45AABB5Er
; ROM:45AABB8Cr
dword_45AABC44 DCD 0x473 ; DATA XREF: ROM:45AABB74r
; ROM:45AABBA6r ...
dword_45AABC48 DCD 0x657 ; DATA XREF: ROM:45AABB54r
; ROM:45AABB7Ar ...
dword_45AABC4C DCD 0x458 ; DATA XREF: ROM:45AABB90r
dword_45AABC50 DCD 0x1C0F ; DATA XREF: ROM:45AABB62r
; ROM ends

 c368511:
30.07.10, 00:23
 vetel, org 0x, а не то что у тебя

 DrummMaster:
30.07.10, 02:08
 И как бе ORG маленькими буквами пишется...

 Therion:
30.07.10, 02:50
 vetel, у тебя он и не скомпилится)))))))
1. Надо писать а не ох (ноль а не о)vetel писал:
org ox44EB97F2
LDR R1, ox44EB97F8
BX R1
off_44EB97F8 DCD ox45AABB2C+1

(это как пример,переделывать надо всё!!!)
LDR R1, ox44EB97F8 - тут ты грузиш одно,а уравнивеш:
off_44EB97F8 - вовсе другое!!

надо так:
org 0x44EB97F2
LDR R1, off_44EB97F8
BX R1
off_44EB97F8 DCD 0x45AABB2C+1 (хотя тут лучше назвать по другому,например DCD patch_1+1 или zamain_1+1,...)

LDR R4, dword_45AABC20
BX R4
тут идёт у тебя безусловный прямой переход,значит действия дальше не продолжаются,хотя дольше у тебя идёт код. Это связано с тем,что ты не всем частям кода присвоил имя,которое уравнивал во врезках!!
где ты линковал эти уравнения???
vetel писал:
ox45AABB40+1

vetel писал:
ox45AABB2C+1

и так далее

 vetel:
30.07.10, 14:01
 Спасибо всем за ответы, исходник сделал рабочий, не пойму откуда я мог скопировать букву вместо цифры)), вот теперь буду пытаться портировать на к550 р8, но это уже в другую тему.

 -Sotik-:
30.07.10, 15:05
 vetel, на будущее -
Spoiler: 

Страница 4 из 9: « 1 2 3 [4] 5 6 7 8 9 »

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

© 2005-2018 supertrubka.org