All pastes #2075250 Raw Edit

Mine

public text v1 · immutable
#2075250 ·published 2011-06-05 22:03 UTC
rendered paste body
; ---------------------------------------------------------------------------

mach_header	struc ;	(sizeof=0x1C, standard type)
magic		DCD ?
cputype		DCD ?
cpusubtype	DCD ?
filetype	DCD ?
ncmds		DCD ?
sizeofcmds	DCD ?
flags		DCD ?
mach_header	ends


;
; +-------------------------------------------------------------------------+
; |   This file	has been generated by The Interactive Disassembler (IDA)    |
; |	   Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com>	    |
; |			 License info: 68-4D7E-0D18-9E			    |
; |				 Licensed User				    |
; +-------------------------------------------------------------------------+
;
; Input	MD5   :	A4D55F9BA60EF2F7F244CE88301E6414


; Processor	  : ARM
; Target assembler: Generic assembler for ARM
; Byte sex	  : Little endian

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

; [00001B88 BYTES: COLLAPSED SEGMENT HEADER. PRESS KEYPAD "+" TO EXPAND]
; ===========================================================================

; Segment type:	Pure code
		AREA __text, CODE, READWRITE
		; ORG 0x2B88
		CODE32

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


		EXPORT start
start

arg_0		=  0
arg_4		=  4

		LDR	R0, [SP,#arg_0]
		ADD	R1, SP,	#arg_4
		ADD	R4, R0,	#1
		ADD	R2, R1,	R4,LSL#2
		BIC	SP, SP,	#7
		MOV	R3, R2

loc_2BA0				; CODE XREF: start+20j
		LDR	R4, [R3],#4
		CMP	R4, #0
		BNE	loc_2BA0
		LDR	R12, =(off_301C	- 0x2BB8)
		ADD	R12, PC, R12
		LDR	R12, [R12]
		BLX	R12
		LDR	R12, =(_exit_ptr - 0x2BC8)
		ADD	R12, PC, R12
		LDR	R12, [R12]
		BX	R12
; End of function start

; ---------------------------------------------------------------------------
off_2BCC	DCD off_301C - 0x2BB8	; DATA XREF: start+24r
off_2BD0	DCD _exit_ptr -	0x2BC8	; DATA XREF: start+34r

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


dyld_stub_binding_helper

var_8		= -8
var_4		= -4

		STR	R12, [SP,#var_4]!
		LDR	R12, =(dyld__mach_header - 0x2BE4)
		LDR	R12, [PC,R12]
		STR	R12, [SP,#4+var_8]!
		LDR	R12, =(unk_3000	- 0x2BF0)
		LDR	PC, [PC,R12]
; End of function dyld_stub_binding_helper

; ---------------------------------------------------------------------------
off_2BEC	DCD dyld__mach_header -	0x2BE4 ; DATA XREF: dyld_stub_binding_helper+4r
off_2BF0	DCD unk_3000 - 0x2BF0	; DATA XREF: dyld_stub_binding_helper+10r

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


; int _dyld_func_lookup(const char *dyld_func_name, void **address)
__dyld_func_lookup
		LDR	R12, =(unk_3004	- 0x2C00)
		LDR	PC, [PC,R12]
; End of function __dyld_func_lookup

; ---------------------------------------------------------------------------
off_2BFC	DCD unk_3004 - 0x2C00	; DATA XREF: __dyld_func_lookupr

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

; Attributes: bp-based frame

		EXPORT _main
_main					; DATA XREF: __nl_symbol_ptr:off_301Co

var_1C		= -0x1C
var_18		= -0x18
var_14		= -0x14
var_10		= -0x10
var_C		= -0xC
oldR7		= -8
oldLR		= -4

		STMFD	SP!, {R7,LR}
		ADD	R7, SP,	#0
		SUB	SP, SP,	#0x14
		LDR	R3, =(a41358753080588 -	0x2C18)
		ADD	R3, PC,	R3	; "413587530805887803155006964171485031963"...
		STR	R3, [SP,#0x1C+var_1C]
		LDR	R3, =(a27302016727719 -	0x2C24)
		ADD	R3, PC,	R3	; "273020167277193934342483321951392739131"...
		STR	R3, [SP,#0x1C+var_18]
		LDR	R3, =(a10986868219988 -	0x2C30)
		ADD	R3, PC,	R3	; "109868682199889090983893607446542759799"...
		STR	R3, [SP,#0x1C+var_14]
		LDR	R3, =(a88878240866284 -	0x2C3C)
		ADD	R3, PC,	R3	; "888782408662845030008522295042350845926"...
		STR	R3, [SP,#0x1C+var_10]
		MOV	R3, #0
		STR	R3, [SP,#0x1C+var_C]
		B	loc_2C54
; ---------------------------------------------------------------------------

loc_2C48				; CODE XREF: _main+5Cj
		LDR	R3, [SP,#0x1C+var_C]
		ADD	R3, R3,	#1
		STR	R3, [SP,#0x1C+var_C]

loc_2C54				; CODE XREF: _main+44j
		LDR	R3, [SP,#0x1C+var_C]
		CMP	R3, #3
		BLE	loc_2C48
		SUB	SP, R7,	#0
		LDMFD	SP!, {R7,PC}
; End of function _main

; ---------------------------------------------------------------------------
off_2C68	DCD a41358753080588 - 0x2C18 ; DATA XREF: _main+Cr
					; "413587530805887803155006964171485031963"...
off_2C6C	DCD a27302016727719 - 0x2C24 ; DATA XREF: _main+18r
					; "273020167277193934342483321951392739131"...
off_2C70	DCD a10986868219988 - 0x2C30 ; DATA XREF: _main+24r
					; "109868682199889090983893607446542759799"...
off_2C74	DCD a88878240866284 - 0x2C3C ; DATA XREF: _main+30r
; __text	ends			; "888782408662845030008522295042350845926"...

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

; Segment type:	Pure data
		AREA __cstring,	DATA
		; ORG 0x2C78
a41358753080588	DCB "4135875308058878031550069641714850319637000850504336033864493902"
					; DATA XREF: _main+10o
					; __text:off_2C68o
		DCB "1284539327654424368206170740213813076058322365516034006270625614"
		DCB "7456382772159656863975513742576253696549406187455555019805176654"
		DCB "88240640.000000",0
a27302016727719	DCB "2730201672771939343424833219513927391311406319498807315145552185"
					; DATA XREF: _main+1Co
					; __text:off_2C6Co
		DCB "0320092405180288651641698365029259720135245974867299097121079573"
		DCB "4498587443982103979231419127824384.000000",0
		ALIGN 4
a10986868219988	DCB "1098686821998890909838936074465427597993707950999782045278868148"
					; DATA XREF: _main+28o
					; __text:off_2C70o
		DCB "7181527533273268414978278293224358347772623180714987938935242782"
		DCB "5978796531514954916754473975757796372140255258111985922092457311"
		DCB "221042226817127194804092923531694479704498641458322997248.000000"
		DCB 0
		ALIGN 4
a88878240866284	DCB "8887824086628450300085222950423508459269193936749714415660759918"
					; DATA XREF: _main+34o
					; __text:off_2C74o
		DCB "0333076088508112975885827576149170959822910100984516021229962731"
		DCB "7559081026174763167822059766453246874135089799523288380880853796"
		DCB "4727011624779797357169712195651789942060581116921485444775936.00"
		DCB "0000",0
; __cstring	ends

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

; Segment type:	Pure data
		AREA __dyld, DATA
		; ORG 0x3000
unk_3000	DCB    0		; CODE XREF: dyld_stub_binding_helper+14j
					; DATA XREF: __text:off_2BF0o
		DCB 0x10
		DCB 0xE0 ; à
		DCB 0x2F ; /
unk_3004	DCB    8		; CODE XREF: __dyld_func_lookup+4j
					; DATA XREF: __text:off_2BFCo
		DCB 0x10
		DCB 0xE0 ; à
		DCB 0x2F ; /
		DCB    0
		DCB 0x10
		DCB    0
		DCB    0
		DCB 0x24 ; $
		DCB 0x30 ; 0
		DCB    0
		DCB    0
		DCB 0x28 ; (
		DCB 0x30 ; 0
		DCB    0
		DCB    0
		DCB 0x2C ; ,
		DCB 0x30 ; 0
		DCB    0
		DCB    0
		DCB 0x30 ; 0
		DCB 0x30 ; 0
		DCB    0
		DCB    0
; __dyld	ends

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

; Segment type:	Pure data
		AREA __nl_symbol_ptr, DATA
		; ORG 0x301C
off_301C	DCD _main		; DATA XREF: start+28o
					; __text:off_2BCCo
_exit_ptr	DCD _exit		; DATA XREF: start+38o
					; __text:off_2BD0o
; __nl_symbol_ptr ends

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

; Segment type:	Pure data
		AREA __data, DATA
		; ORG 0x3024
		EXPORT _NXArgc
_NXArgc		DCB    0
		DCB    0
		DCB    0
		DCB    0
		EXPORT _NXArgv
_NXArgv		DCB    0
		DCB    0
		DCB    0
		DCB    0
		EXPORT _environ
_environ	DCB    0
		DCB    0
		DCB    0
		DCB    0
		EXPORT ___progname
___progname	DCB    0
		DCB    0
		DCB    0
		DCB    0
dyld__mach_header DCB	 0		; DATA XREF: dyld_stub_binding_helper+8o
					; __text:off_2BECo
		DCB 0x10
		DCB    0
		DCB    0
; __data	ends

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

; [00000118 BYTES: COLLAPSED SEGMENT __LINKEDIT_hidden.	PRESS KEYPAD "+" TO EXPAND]
; ===========================================================================

; Segment type:	Absolute symbols
; const	struct mach_header _mh_execute_header
__mh_execute_header = 0x1000

;
; Imports from /usr/lib/libSystem.B.dylib
;
; ===========================================================================

; Segment type:	Externs
; void exit(int)
		IMPORT _exit		; DATA XREF: __nl_symbol_ptr:_exit_ptro

		END start