|
![]() |
|
Welcome to the GSM-Forum forums. You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today! If you have any problems with the registration process or your account login, please contact contact us. |
| |||||||
| Register | FAQ | Donate | Forum Rules | ★. iPhone Unlock .★ | -= JTAG BOOM =- | Search | Today's Posts | Mark Forums Read |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #1 (permalink) |
| No Life Poster ![]() ![]() ![]() ![]() ![]() Join Date: May 2003 Location: GERMANY Age: 38
Posts: 980
Member: 27745 Status: Offline Thanks: 0
Thanked 0 Times in 0 Posts
| SLIKv56: What is PMM1 ? I just found on a russian site this patch: Code: ;*** PMM1. Patch Memory Manager v1 *** (C)Rst7/CBSIE ;*** PMM1. Менеджер памяти для патчей *** ;Создает функции: ; struct VARS far * GetVars(const struct PVARD far *p) at 0xE47D10 ; void FreeVars(const struct PVARD far *p) at 0xE47D14 ; ; Нахрен это надо - см. http://forum.oslik.ru/viewtopic.php?t=4355 ; ; Исходник на cbsie.narod.ru ; 0x447D00: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2A2A2A2A20504D4D207631202A2A2A2A 0x447D10: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FAE4187DFAE42C7E8890888088708860 0x447D20: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F07DF06CDAC18E97DC57D4D60200A8C6 0x447D30: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DC5D98ECA8FCDC5FD48E0400D49E0600 0x447D40: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F0C89AFC01002881F0C970C82D2CDC49 0x447D50: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A9289AF12200DC49D4C80400DC47D4D6 0x447D60: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 040040CD3D1ADC59D4C80600D4D80800 0x447D70: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DC57D4E60600D4F6080020CE30DF3D0D 0x447D80: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DC59D4C80A00D4D80C00DC57D4E60A00 0x447D90: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D4F60C0020CE30DF2D3EF0C8F0D9DC5D 0x447DA0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 988CA89C0DCDDC57D4D60200A8C6F0EC 0x447DB0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F0FDDC5F98CEA8DEDC47D4E6040006FE 0x447DC0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0A80DAC1D8BCF084F0952884DC47D4C6 0x447DD0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0400DC49C4C80400DC57D4C60600D4D6 0x447DE0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0800DC59C4C80600C4D80800DC57D4C6 0x447DF0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0A00D4D60C00DC59C4C80A00C4D80C00 0x447E00: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F0C8F0D906FC0E00E6FE0000DC47D4F6 0x447E10: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0400DAC71684DAC19897F048F05906F4 0x447E20: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0E009860987098809890DB0088908880 0x447E30: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 88708860F06CF07DDAE4187DF084F095 0x447E40: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 26F80A00DAC18E97DC5798C6A8D6F06C 0x447E50: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F07DDC5798C6A8D6F0E8F0F9DAC178BE 0x447E60: FFFFFFFFFFFFFFFFFFFFFFFFFFFF DAC198979860987098809890DB00 |
|
| | #6 (permalink) |
| No Life Poster ![]() ![]() ![]() ![]() ![]() Join Date: May 2003 Location: GERMANY Age: 38
Posts: 980
Member: 27745 Status: Offline Thanks: 0
Thanked 0 Times in 0 Posts
| I think this is the source: Code: #define _AllHeapsPointers 039DCEh _VARD LABEL WORD DPPTR (_AllHeapsPointers+24) ; Это указатель на то, какая куча будет пользоваться, в частности FarHeap8 DW 106 ; Сколько байт мозга нам надо DB 'PatchNam' ; Уникальное имя ;Смещения переменных от начала буфера Var1 equ 0 ; Переменная 1 - 2 байта Var2 equ 2 ; Переменная 2 - 100 байт Var3 equ 102 ; Переменная 3 - 4 байта my_str: db 'Upor!',0 ...... Теперь функция Foo1: MOV R12,#POF _VARD MOV R13,#PAG _VARD CALLS SEG _GetVars,_GetVars MOV R8,R4 MOV R9,R5 ; Теперь в R8/R9 - указатель на нашу память, после первого обращения она прочистится нулями. EXTP #1,R9 MOV [R8+#Var1],#1234 ; Теперь переменная Var1=1 MOV R14,#POF(my_str) MOV R15,#PAG(my_str) ; R14/R15 - откуда MOV R12,R8 ADD R12,#Var2 MOV R13,R9 ; R12/R13 - куда CALLS strcpy ; Копируем строку из ROM в нашу память ; А теперь вызываем процедуру в контексте файловой системы mov R12,SOF(DoFileWrite) mov R13,SEG(DoFileWrite) calls FilesysICall rets filename: db 'A:\file.file',0 DoFileWrite: MOV [-R0],R9 MOV [-R0],R8 MOV [-R0],R6 MOV R12,#POF _VARD MOV R13,#PAG _VARD CALLS SEG _GetVars,_GetVars ; Это наши переменные MOV R8,R4 MOV R9,R5 MOV R12,#POF filename MOV R13,#PAG filename MOV R14,#010Ah MOV R15,#0100h CALLS SEG _FileOpen,_FileOpen ; Открываем файл для дописывания MOV R6,R4 CMP R6,#0FFFFh JMPR cc_EQ,_35 ; Если не срослось с файлом - нахуй MOV R12,R8 MOV R13,R9 ADD R12,#Var2 ; Это наша переменная Var2 CALLS SEG _strlen,_strlen ; Получаем длину строки MOV R15,R4 MOV R12,R6 MOV R13,R8 MOV R14,R9 ADD R13,#Var2 CALLS SEG _FileWrite,_FileWrite ; И пишем в файл Var2 MOV R12,R6 CALLS SEG _FileClose,_FileClose ; Закрываем _35: MOV R12,#POF _VARD MOV R13,#PAG _VARD CALLS SEG _FreeVars,_FreeVars ; Например, освобождаем переменные MOV R6,[R0+] MOV R8,[R0+] MOV R9,[R0+] RETS |
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| thread | Thread Starter | Forum | Replies | Last Post |
| SE w395 i want to unlock.....what is this problem? | adamsquall | Universalbox | 2 | 03-29-2010 14:11 |
| What is a SIM and what is unlocking? | transpirit | Off Topic Zone | 0 | 02-23-2010 11:45 |
| what is hwk and what is ufs-3 | sahil00150 | UFS2 + UFS3-Tornadoflasher | 0 | 07-06-2008 16:02 |
| What is th name on Firmware pack to .........What is th name on Firmware pack to .... | Amartt | Samsung Hardware Repair Area | 0 | 04-22-2007 02:47 |
| what is firmware what is all this stuff can somebody tell me plz i | Faisal00 | Samsung Flashers, Software, Firmware. | 9 | 10-02-2004 13:05 |