Advertisement
Guest User

all code16

a guest
Oct 29th, 2010
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.49 KB | None | 0 0
  1.  
  2.  
  3. ;
  4. ; +-------------------------------------------------------------------------+
  5. ; | This file has been generated by The Interactive Disassembler (IDA) |
  6. ; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
  7. ; | License info: 8A-2C0C-DBA7-93 |
  8. ; | Licensed User |
  9. ; +-------------------------------------------------------------------------+
  10. ;
  11. ; Input MD5 : CFDD3B810BCA74099ACE45C7991E1DEC
  12.  
  13. ; ---------------------------------------------------------------------------
  14. ; File Name : D:\Downloads\lights.tegra.so
  15. ; Format : ELF (Shared object)
  16. ; Needed Library 'libhardware.so'
  17. ; Needed Library 'liblog.so'
  18. ; Needed Library 'libnvos.so'
  19. ; Needed Library 'libnvdispmgr_d.so'
  20. ; Needed Library 'libc.so'
  21. ; Needed Library 'libstdc++.so'
  22. ; Needed Library 'libm.so'
  23. ; Shared Name 'lights.tegra.so'
  24. ;
  25. ; EABI version: 5
  26. ;
  27.  
  28. ; Processor : ARM
  29. ; Target assembler: Generic assembler for ARM
  30. ; Byte sex : Little endian
  31.  
  32. ; ===========================================================================
  33.  
  34. ; Segment type: Pure code
  35. AREA .plt, CODE, READWRITE
  36. ; ORG 0x4BC
  37. CODE32
  38. STR LR, [SP,#-4]!
  39. LDR LR, =(_GLOBAL_OFFSET_TABLE_ - 0x4CC)
  40. ADD LR, PC, LR
  41. LDR PC, [LR,#8]!
  42. ; ---------------------------------------------------------------------------
  43. off_4CC DCD _GLOBAL_OFFSET_TABLE_ - 0x4CC ; DATA XREF: .plt:000004C0r
  44. ; [0000000C BYTES: COLLAPSED FUNCTION NvDispMgrClientTerminate. PRESS KEYPAD "+" TO EXPAND]
  45. ; [0000000C BYTES: COLLAPSED FUNCTION NvOsAlloc. PRESS KEYPAD "+" TO EXPAND]
  46. ; [0000000C BYTES: COLLAPSED FUNCTION NvOsMemset. PRESS KEYPAD "+" TO EXPAND]
  47. ; [0000000C BYTES: COLLAPSED FUNCTION NvDispMgrClientInitialize. PRESS KEYPAD "+" TO EXPAND]
  48. ; [0000000C BYTES: COLLAPSED FUNCTION NvDispMgrFindDisplays. PRESS KEYPAD "+" TO EXPAND]
  49. ; [0000000C BYTES: COLLAPSED FUNCTION NvOsStrcmp. PRESS KEYPAD "+" TO EXPAND]
  50. ; [0000000C BYTES: COLLAPSED FUNCTION NvDispMgrDisplaySetAttributes. PRESS KEYPAD "+" TO EXPAND]
  51. ; [0000000C BYTES: COLLAPSED FUNCTION NvOsFree. PRESS KEYPAD "+" TO EXPAND]
  52. ; ---------------------------------------------------------------------------
  53. ; ===========================================================================
  54.  
  55. ; Segment type: Pure code
  56. AREA .text, CODE, READWRITE
  57. ; ORG 0x530
  58. CODE16
  59.  
  60. EXPORT start
  61. start
  62. PUSH {R0-R4,LR}
  63. MOV.W R12, #0x96
  64. LDR R3, [R1]
  65. LDR R2, [R0,#0x48]
  66. MOVS R1, #1
  67. MOVW LR, #0xB60D
  68. LSLS R1, R2
  69. STR.W LR, [SP]
  70. UBFX.W R2, R3, #8, #8
  71. UBFX.W LR, R3, #0x10, #8
  72. MUL.W R12, R12, R2
  73. MOVS R2, #0x4D
  74. MLA.W R2, R2, LR, R12
  75. AND.W LR, R3, #0xFF
  76. MOV.W R12, #0x1D
  77. MLA.W R3, R12, LR, R2
  78. LSRS R2, R3, #8
  79. ADD.W R3, R2, R2,LSL#8
  80. MOVS R2, #4
  81. STR R3, [SP,#4]
  82. MOVS R3, #0
  83. STR R3, [SP,#8]
  84. LDR R0, [R0,#0x44]
  85. BLX NvDispMgrDisplaySetAttributes
  86. CMP R0, #0
  87. IT NE
  88. MOVNE R0, 0xFFFFFFEA
  89. ADD SP, SP, #0x14
  90. POP {PC}
  91.  
  92. ; =============== S U B R O U T I N E =======================================
  93.  
  94.  
  95. sub_584 ; CODE XREF: .text:0000061Ap
  96. PUSH {R4,LR}
  97. MOV R4, R0
  98. LDR R0, [R0,#0x44]
  99. CBZ R0, loc_590
  100. BLX NvDispMgrClientTerminate
  101.  
  102. loc_590 ; CODE XREF: sub_584+6j
  103. MOV R0, R4
  104. BLX NvOsFree
  105. MOVS R0, #0
  106. POP {R4,PC}
  107. ; End of function sub_584
  108.  
  109. ; ---------------------------------------------------------------------------
  110. NOP
  111. PUSH {R4-R7,LR} ; DATA XREF: .data:__data_starto
  112. NOP
  113. ADR R3, loc_5A4
  114. SUB SP, SP, #0x34
  115.  
  116. loc_5A4 ; DATA XREF: .text:000005A0o
  117. LDR R6, =0xBB4
  118. MOV R7, R0
  119. ADDS R6, R6, R3
  120. LDR R0, =0xFFFFF500
  121. ADDS R0, R6, R0
  122. STR R2, [SP,#0x1C]
  123. BLX NvOsStrcmp
  124. MOV R5, R0
  125. MOV R0, 0xFFFFFFA1
  126. CMP R5, #0
  127. BNE loc_640
  128. MOVS R0, #0x4C
  129. BLX NvOsAlloc
  130. MOV R4, R0
  131. CBZ R0, loc_61E
  132. MOV R1, R5
  133. MOVS R2, #0x4C
  134. BLX NvOsMemset
  135. ADD.W R0, R4, #0x44
  136. BLX NvDispMgrClientInitialize
  137. MOV R5, R0
  138. CBNZ R0, loc_618
  139. MOVW R1, #0xB602
  140. STR R5, [SP]
  141. STR R1, [SP,#0x28]
  142. SUB.W R3, R1, #0x400
  143. ADD.W R12, SP, #0x28
  144. SUBS R0, R3, #1
  145. STR.W R12, [SP,#8]
  146. SUB.W LR, R0, #0xB200
  147. STR R0, [SP,#0x24]
  148. STR.W LR, [SP,#4]
  149. ADD R2, SP, #0x24
  150. ADD R1, SP, #0x2C
  151. STR R2, [SP,#0xC]
  152. STR R1, [SP,#0x10]
  153. STR R5, [SP,#0x14]
  154. MOV R1, R5
  155. LDR R0, [R4,#0x44]
  156. MOV.W R2, #0xFFFFFFFF
  157. MOV R3, R5
  158. BLX NvDispMgrFindDisplays
  159. STR R5, [R4,#0x48]
  160. CBZ R0, loc_624
  161.  
  162. loc_618 ; CODE XREF: .text:000005DAj
  163. MOV R0, R4
  164. BL sub_584
  165.  
  166. loc_61E ; CODE XREF: .text:000005C6j
  167. MOV R0, 0xFFFFFFF4
  168. B loc_640
  169. ; ---------------------------------------------------------------------------
  170.  
  171. loc_624 ; CODE XREF: .text:00000616j
  172. STR R0, [R4,#4]
  173. STR R7, [R4,#8]
  174. LDR R2, =0xFFFFF42D
  175. LDR.W R12, =0x48574454
  176. ADDS R1, R6, R2
  177. STR.W R12, [R4]
  178. STR R1, [R4,#0x3C]
  179. LDR R3, =0xFFFFF3D9
  180. ADDS R6, R6, R3
  181. STR R6, [R4,#0x40]
  182. LDR R2, [SP,#0x1C]
  183. STR R4, [R2]
  184.  
  185. loc_640 ; CODE XREF: .text:000005BCj
  186. ; .text:00000622j
  187. ADD SP, SP, #0x34
  188. POP {R4-R7,PC}
  189. ; ---------------------------------------------------------------------------
  190. dword_644 DCD 0xBB4 ; DATA XREF: .text:loc_5A4r
  191. dword_648 DCD 0xFFFFF500 ; DATA XREF: .text:000005AAr
  192. dword_64C DCD 0xFFFFF42D ; DATA XREF: .text:00000628r
  193. dword_650 DCD 0x48574454 ; DATA XREF: .text:0000062Ar
  194. dword_654 DCD 0xFFFFF3D9 ; DATA XREF: .text:00000636r
  195. ; .text ends
  196.  
  197. ; ===========================================================================
  198.  
  199. ; Segment type: Pure data
  200. AREA .rodata, DATA, READONLY, ALIGN=0
  201. ; ORG 0x658
  202. aBacklight DCB "backlight",0
  203. aLights DCB "lights",0
  204. aNvidiaTegraBac DCB "NVIDIA Tegra Backlight Control Module",0
  205. aNvidia DCB "NVIDIA",0
  206. ; .rodata ends
  207.  
  208. ; ===========================================================================
  209.  
  210. ; Segment type: Pure data
  211. AREA .data.rel.ro, DATA
  212. ; ORG 0x1000
  213. EXPORT HMI
  214. HMI DCB 0x54, 0x4D, 0x57, 0x48, 1, 0, 0, 0, 0x62, 6, 0, 0
  215. DCB 0x69, 6, 0, 0, 0x8F, 6, 0, 0, 0x84, 0x11, 0, 0, 0
  216. DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  217. DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  218. DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  219. DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  220. DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  221. DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  222. DCB 0
  223. ; .data.rel.ro ends
  224.  
  225. ; ===========================================================================
  226.  
  227. ; Segment type: Pure data
  228. AREA .got, DATA
  229. ; ORG 0x1158
  230. _GLOBAL_OFFSET_TABLE_ DCD 0x1080 ; DATA XREF: .plt:000004C4o
  231. ; .plt:off_4CCo
  232. DCD 0
  233. DCD 0
  234. NvDispMgrClientTerminate_ptr DCD __imp_NvDispMgrClientTerminate
  235. ; DATA XREF: NvDispMgrClientTerminate+8o
  236. NvOsAlloc_ptr DCD __imp_NvOsAlloc ; DATA XREF: NvOsAlloc+8o
  237. NvOsMemset_ptr DCD __imp_NvOsMemset ; DATA XREF: NvOsMemset+8o
  238. NvDispMgrClientInitialize_ptr DCD __imp_NvDispMgrClientInitialize
  239. ; DATA XREF: NvDispMgrClientInitialize+8o
  240. NvDispMgrFindDisplays_ptr DCD __imp_NvDispMgrFindDisplays
  241. ; DATA XREF: NvDispMgrFindDisplays+8o
  242. NvOsStrcmp_ptr DCD __imp_NvOsStrcmp ; DATA XREF: NvOsStrcmp+8o
  243. NvDispMgrDisplaySetAttributes_ptr DCD __imp_NvDispMgrDisplaySetAttributes
  244. ; DATA XREF: NvDispMgrDisplaySetAttributes+8o
  245. NvOsFree_ptr DCD __imp_NvOsFree ; DATA XREF: NvOsFree+8o
  246. ; .got ends
  247.  
  248. ; ===========================================================================
  249.  
  250. ; Segment type: Pure data
  251. AREA .data, DATA
  252. ; ORG 0x1184
  253. EXPORT __data_start
  254. __data_start DCD loc_59C+1
  255. ; .data ends
  256.  
  257. ; ===========================================================================
  258.  
  259. ; Segment type: Externs
  260. IMPORT __imp_NvDispMgrClientTerminate
  261. ; DATA XREF: .got:NvDispMgrClientTerminate_ptro
  262. IMPORT __aeabi_unwind_cpp_pr0
  263. IMPORT __imp_NvOsAlloc ; DATA XREF: .got:NvOsAlloc_ptro
  264. IMPORT __imp_NvOsMemset ; DATA XREF: .got:NvOsMemset_ptro
  265. IMPORT __imp_NvDispMgrClientInitialize
  266. ; DATA XREF: .got:NvDispMgrClientInitialize_ptro
  267. IMPORT __imp_NvDispMgrFindDisplays
  268. ; DATA XREF: .got:NvDispMgrFindDisplays_ptro
  269. IMPORT __imp_NvOsStrcmp ; DATA XREF: .got:NvOsStrcmp_ptro
  270. IMPORT __imp_NvDispMgrDisplaySetAttributes
  271. ; DATA XREF: .got:NvDispMgrDisplaySetAttributes_ptro
  272. IMPORT __imp_NvOsFree ; DATA XREF: .got:NvOsFree_ptro
  273.  
  274. ; ===========================================================================
  275.  
  276. ; Segment type: Absolute symbols
  277. __exidx_end = 0x6B0
  278. _bss_end__ = 0x1188
  279. __bss_start__ = 0x1188
  280. __exidx_start = 0x696
  281. __bss_end__ = 0x1188
  282. __bss_start = 0x1188
  283. __end__ = 0x1188
  284. _edata = 0x1188
  285. _end = 0x1188
  286. _stack = 0x80000
  287.  
  288. END start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement