|=-----------------------------------------------------------------=| |=-----=[ D O N O T F U C K W I T H A H A C K E R ]=-----=| |=-----------------------------------------------------------------=| |=------------------------[ #4 File 0x0a ]-------------------------=| |=-----------------------------------------------------------------=| |=------------------=[ DIY your own Android emulator ]=------------=| |=-----------------------------------------------------------------=| |=-------------------------=[ By jigsaw ]=-------------------------=| |=-----------------------------------------------------------------=| |=------------------------=[ Feb 7 2015 ]=------------------------=| |=-----------------------------------------------------------------=| Native Android Runtime Emulation ================================ The problem ----------- Now I have a Android app to be reverse engineered. Its main functionality is built on top of JNI, i.e. in the shared library. It is not sth. I would not hesitate using all my efforts. Therefore I started to look for a shortcut. It could save me lots of time if the .so can be loaded and debugged at runtime. The offcial Android emulator ---------------------------- The offcial Android emulator consists of a qemu based emulator, the Android runtime, and a toolset to deploy, run and debug native execultabes built by Android NDK. However, it turns out to be handicapped. The gdbserver delivered with the NDK is basically broken. It fails to recognize tons of Thumb-2 instructions, thus sends SIGILL to terminate the program. The first approach: QEMU ------------------------ Since Android emulator is essentially a qemu image, it is quite attemptive to load Android executables on certain ARMv7-a compatible qemu image, where a complete native toolchain is available. The effort was in vain. Google adopts a different linker and loader, together with a different libc and libstdc++, which are found nowhere in any other Linux distro. The consequence is not only missing symbols, but crashing the Linux loader when being loaded. One solution is to port Bionic to Linux. But I'm afraid it won't be enough: the .so is bound to the Android linker/loader. It suggets that the Android loader must be ported to Linux as well. It is likely to become a nightmare considering the size of the code, and even worse, the obvious strategy of Google is to diffrentiate and isolate Android with other Linux distros. Build own emulator ------------------ An emulator from scratch pops up as the final solution. Afer all, it is always more interesting to build sth. from scratch than to fix sth. broken. To provid a emulated environment for a Android native shared lib, several layers of services are required: * Disassembler, which translates binary to instructions. * Simulator, which executes the instructions and maintains the processor states. * Loader, which parses the ELF and do what a loader is supposed to do. * Memory management, which supervises access to memory. * C runtime, which implements the C library. * Facilities for user extension and debugging. We will give a brief to each layer hereunder. ### Disassembler The libcapstone is a library for disassembler. Its API is very handy, and it is evolving rapidly. It was a easy decision to take it for disassembler. The disassembling is done in-time, i.e. only disassemble current address. This is because it is slow and difficult to scan all .text section beforehand. The difficulty arises from the PC related data fetching, which makes the .text section a mixture of code and data. ### Simulator The simulator is meant to keep state of the processor, and execute the instructions in a controlled manner. The processor state is defined by several registers and nothing more. The simulator shall know how to manipulate the register values according to current instruction execution result. The manual of ARM is the only thing needed during programming. The support to multi-threads adds a little bit overhead to the simulator, coz each thread has its own set of registers. The simulator needs to switch register-set when switching to another thread. Likewise, the stack of each thread is also isolated. The manipulation of stack switching is done in the memory management layer. ### Loader Besides usual task of a generic loader, this loader has some extra features. First of all, it needn't fixing all reloc entries. It can safely assume the .so is loaded to address 0x0. Secondly, it has no knowledge of runtime, so it cannot resolve external symbols. The solution is to expose the unknown symbols to the user, who will provides the location and size of the missing symbols to the loader. Note that not all missing symbols are needed: only those that are accessed in runtime are necessary. ### Memory management The memory management defines a few things: where the ELF is loaded, where the heap and stack are located, and how to access these regions. The memory mapping is as below: +-------------+ ---> STACK END | Stack | | Each thread has its own stack | | v +-------------+ ---> STACK START | Heap | ^ Heap is shared between threads | | | +-------------+ ---> HEAP START | | | .bss | | .text | | .data | | .rodata | | .got | | ... | | | +-------------+ ---> elf load addr: 0x0 All the memory references must be tapped and controlled. This is not only because of the difference of 32bits and 64 bits architectures, but also because the memory references are related to the load address of the ELF, which is defined to be 0x0. This restriction actually brings benefits: the memory access tapping becomes straightforward. User can easily set watchpoint in any address, and on any value. Also note that the heap region are shared between threads, and the stack is privately owned by each thread. ### C runtime The missing plt entries in the .so are mainly from C runtime. The oftenly used functions such as string, stdlib, pthread, and socket are provided. The loader is aware of the functions, and co-operate with the simulator to stub the calls to the implementation, which is built on local (x86) C runtime. Manual translation on arguments and return values are needed, but it is easier than it sounds. For instance, the sizeof(time_t) is different between 32bits and 64bits platform. Therefore the call to gettimeofday(2) should take care of the translation. ### Extensions It is not unusual that some existing sub-routines need to be masked or watched. The loader is aware of those checkpoints as well. The simulator just blindly asks the loader to provide entries when a called routine is not in place. The loader then take this chance to allow even swapping the stubs in the fly. The result ---------- With this emulator, the user can start from any address or call any subroutine with any arguments. All the calls to libc will be adapted to local C runtime. The execution can be stopped on given memory access and/or .text address. The whole procedure can be monitored by local gdb session. ## Hello-World A hello-world example is provided with the libtwolib-second.so, which is built from Android official NDK sample, two-libs. The subroutine "first" can be fired with below code: FILE *fp; struct armld ld; struct elf *elf; struct vm *vm; int ret; uint32_t args[4] = {0}; if (!(fp = fopen(argv[1], "r"))) { printf("Cannot open file [%s]\n", argv[1]); return -1; } vm = vm_init(); elf = elf_load(vm, fp); vm_set_elf(vm, elf); fclose(fp); ld.vm = vm; ld.elf = elf; setbuf(stdout,NULL); setbuf(stderr,NULL); /* Will trigger a trap exception which * can break the gdb session. */ //exec_set_breakpoint(0xc62); /* Watch any store operation to memory address 0x79490 */ //vm_set_mem_watch(0x79490, 1); /* Set up the arguments to the subroutine. * The number of arguments can be as many as needed. */ args[0] = 1; args[1] = 2; /* 0xc60 is the entry to the subroutine. * The address can be read from readelf -s. * * The 3rd param is the halt address. When it * is set to 0, the execution will return * when current subroutine returns. * * The return value of the called subroutine * is the return value of arm_exec. */ ret = arm_exec(&ld, 0xc60, 0, args, 4); /* It should be 3, which is result of 1 + 2. * Meantime, the message printed in the library * will be visible on the console. */ printf("return: %d\n", ret); The output of the program is as below: $ ./armexec ../libtwolib-second.so First is called with 1 + 2 return: 3 $ ## GDB script The dbg.gdb has several commands for printing register values, setting breakpoints, printing backtrace, etc. Roadmap -------- This is just the first release of the emulator. It has the potential to be a more sophiscated lib. It could support loading more than one .so files, other architectures, or even loading .so files built for different arch. Code ---- begin-base64 664 armexec.tgz H4sIAAAAAAAAA+xce3PbRpLP3/gUE9nJSrZEk5Isbay1q2RZTnSxlcRykq1z fKwhMCQRARgEA5BiEn/3+3XPDB4UKWX3Ym/trVFliphHT0+/u2foXF4NJ4ke yWQ4VTJSxSd//tPHc3BwwH/xLP9F5/4ng939g4d7hw/xF+2D/Ye7e59M3gMu 157KlLLAkoXW5U3jbutf3ty/yfNwV4Q6TVVWPlaD/mh/72Dv4IuH+we7cnB4 KA/l7v4X/cP+YHe3/0W0tx8+PNzfC/7VOH98/rzn5KW8VC9iU5peeXWjgP/z j9X//bX6/3Cwt6z/ewe7sBfvB53u8x+u/2EK/g/TOIvTKh0W6pcqLlS0+cPp q4uzb87Fbu+vW0GQF/pnFZZiUxapulIhmowqN09eHn99OjwZPn9x/OWF2NiZ TKKR2PmmL3Z+lEmCT1UUusDfTO9UWWVUtIGZMoqGBKQq5ShRHqSYpb1QqGRM n3jHnzwph6asRvhqyiLOJvWbDi+V7wvKOFW+Jy+nBbxYPTDHtHLcQImSeOTf 0l/8NzSGQz36GcBSGWc92h+EYoI1kji7xMeokEWsTI1sKHNT6kz5BUVRbv17 msVXp8fPXp6+3zVu0f/dweBgWf8Hh/uHH/X/AzznsoxnShxnUaHjSLyqMtIn cZpWCXp0Fjy+5QmCH6cLkelSVAY6KsqpEno8DmOZ1FAVQ9NFsPOHnyC4Jy4S Pe8BiNBJJBKZlzoXsRF5ZaYqEqUWcWmgvGlcCjVTmZhP8VFUWUZ4SEHxbKKM oeV7APdKkRkJSxX1xPfPvhVAqoxDacptMYaZijNIQhaqbVqD9mOqPNcFhqPL w3ha6EuV9cTr1i5h9YwqZqoQZO8ypSuTLIRRWWTExdmXZy9e8EwQMw574qwk +EQls8h0tkgBx4MlWkruB2wFOyxGCwyl8VonN1KP6PW8gtXFJsJLjztv7PTF czGq4qQkaJ4l58++JqwulILtnxCZgHNmhYHMuANAY17ABgqZgQUals5MJSFm beKC+r/JQXZwQ12VKjPYJu0oinkHWSlkEU7jEu6jKhSDOSEekZT1RBAcPz0J GH2BZ5yLx0AZ8DY3FroqhnYxMsA9oze2xUaxsXXEQ2cphs7SIRxXuena4D3Q iM8hYbo5S8HY3PWNw0Qbtcnv3JBEPQfjyL/X892QB/fAZzLvO2NY/ywChaxD Efce8AA4wVE13oRf0VW5ff79ixdutaYDIuE7PMwLBV3JWQTgZCqKvYnhcCpJ AsqOqywkzfOLVFhxb3dIhJyYN/tvgeJv/Xd2HW7qU9Og1TCght1mwdOsLBa0 Ai25DJ7MX4nx/auBHIX9ZtZzBAJ+UKFoCLwfe+7Nz5No207cFv1tXnRb7GOL /2pr9vH5R59XbOVlot7jGjf7/91Bf+9w2f/vHu7tffT/H+D5E/x/QM4QKQKi +TTouKRzPRdnYiqxgKyXkHlO3mKkYFXgNI0SKpvEmSJ/R+7RCArCazslk7hc wCUG1oVpcjU5GbP/Oj+Dq+7Bi2A0+9OuZ3Kelj15OcWrmOsKgQQagqkycSlL 5WIWylbShVBjuEskwuTdC4XvCpPYzNlwI9H6kj2qxFoYiRSmF2CVkOEa2iZI l2hrzpmOsTW68F4w7xltmlwTwJEjjNSomkzopaxdoiPnPxVB3TwVaMI7G4uc FL+gXYwkkrJ6xDbj6uYFDqNtRlVyBAK3RnSIVJ7oxTbh3OzDBw+c2iXI7ZSp o46gHXWIr/ScGA/mAVpVZECoKplPViymgIm4LM8hD7yjJsCKVII1iMvzuJwy ugBJbMZOYnKgCzFyIRoYM5ZxQrETJC3Ukyz+VQXI2pgAr6dVOtrZ5aivqFjS DO2/Mp3IjSaXqkCMRNJSWkGfFDL1jBrHhSlJpgstw+kj8d3py+/XMikILmJE mNdZgw0gAkMgEPMWHHfiVE4Ukwn9SMyBgSxLleZM6FIHHJDVwOqc2pCWhKoo SY+OX72cHe5IqvLl4BC6O8DnJOpCBtSdKKzg2EjsDqcEAGvLGQhJkG3ga/VE zKUh1ZtRyiy+1BpRpJCRzksTyFb8Ryk0WOcDSGJ8qZFbY2HLxe7gUWiHxiNE T+H9+9vBfBqHGAU0x7rKSIEt0jFJH+IahoQgtboCIHBTWyxJ3NUvlSKCOzug s2QRpLFhpTeLdASR3oaUQoULaaY+fbGwLLI2qRgp6rOq2wu+QeJvdFJxGMXB ueBg24b49MoQeuIpIJ/9JRVyXEhwCIyc6+wvJQm5ynQ1gbxgvYCsA4kw744E rtFCR70HFhkWakM2o6QUAmajM5THBCk8Gq3gchePjQC35ipJvF1M4ksFUWOV A/PJQmfxZFqmRGg2FQCGXQdsWqE6PoAMdeSMgk26NEy4tRx6NIs1KVBZQFsm HHI6uWAqBcTngqW8tKlADDLSd78FlofrDDWkbU9hTCKh59lNxhAJRdMvxoVO hQFvSwhQrnNDcbe02dcYKp3UbESaOSYhTRKvbzKZy4UJUs2SBhuA7JEFRLNZ i6xT6awAjnAiNI6vbK8zRcFrTWZjRs7PIUdWN5vFSBcp/HdOxVPBqWDjzxBs k8WUSZDIBVwmEZYsYhxC14lfvm73iNLAZ7GRMCYp9LUgBSftAUcyQ+tCzLDx ghnftn2cDMa1I7CzrElRlmDt0cw8ctNkYoy3i8DGYCOGPCsDfOH03ULLJSTF DqaUlD2HRh/EWHptA+E58zRWciNNYF4qcGGB9TKYLKKXh4ihRAWCKkNaneak PJrm1YmmHx+TjbP5FmFx0s5in8swRqgRAxZxozKUz9cZbeOuIQOUpyvIKqKG ScyxzQj54ZhzYDgBwUwSZKOg0NDaILhz506HLdZ3kLHzhUSSOI8OIxC1htuw 6PjbMxoGQViwj1xYLWRxDdRMJzOSz0LmMTJVVnOy0JA4aRZAPox5J2Rf5KWi adeXAVZB00LgsGDE+GU7lpIccZEhbU8VYVXYZD+KoCgcQmEmRW0qlKClUyqT ICJkWsISxBQnED6GQiOKwXolKA7JtgnqiEMw2qlHzM2BgyyY6ax9xMlvwWpl 1SqSpRRjBX0E+p7xVOS2POclAr+EFGl8xYUJyr9h2CxyAOGYVquE5ZiJWx47 VTJj/C+Vyq3UextZK4MzlFaP2Nh31IhcGBlb2DjO/SHimePDskIxJxSslq0K eYNQqAlMJNkEya6xZC9GVstCaTCGOQGJL+E9xRT/SFNkFudsjRgzDwoePams SukicjbPM7iFvtsWfQPPwRe7IqBWQAyUQOjha10sMBY3RPoUAEcVeRcfTqWs Voywq1wRflSg27EVdkOiZXWkLCFwIwiUBgmoyOd9pmnsV6h/DVgXXX1+SrEK hb5wHxTFAruacsuEIgTZkhi4o3Ba02WHJnI4YDscZWRmHZZdqQfHdanmsfeJ thyH5QibwGHD7oWdPru/qCacZYcroblKXr1Wo4rMrnTZKlq74wTXml54TUWO HI7PgCnQfHNpw/+JgqAhWKlDMtJXZ4SJWIZCAqhKQcokSUVg0Z9zsEvznZ8k UlFAA4/n8yjooQ7h3Eo6MGErRNpt5JiiDdiLKlU+JQr8ksxBZzpE/6rfExeI SajgxqsQPplm0YWSTFjLastOZCwDrEEBHgDADDLiqmD/boM8x+JuzKauyM8w MlVGwDM/PHACRU6ATIi2xt76cGdIsEvLKdK7dny0FF9S3GPH2wjuXLO6SZvx cOa5NIEculWSR15vLJ7kKAsVWFdny9KODG4OtbM7YxG45jatDbsuN9askHKN 1dxqqXnkMgPvrWtWbTcdSKNlbvfPokpIMFloFDU7O+N9M7JuxWrH8UYHlzx3 Eg5WjyBB80e2DknP/U6Ed1/g44m4eH188rU4PX9WD/udPi4YEX7D++k6C0Cj uhNF8zb7Iyvj89XrLoiviBr27X/cG7k8G8WNVDlXVCe31mzt4r/fvPhXp8ff rlq7gdBp741A91Xt7GhXtLP3XNFeaNez1D7R5Sr4otfrrWxfgefKfVIpnrNb sgqPyCYgsoeulI3QFIpzRgqBfcpTctGARa9xqnUs0qSAPihxGuvTz5Bb9nZH JCcE5GBf2O+tIwyXMLL9dnCC1VjZwNxGJc6g1FsifXCrQ7vq+NQE3sXbUgjb Qka/cIdXbHGAiCt1kKpiYIZZpXnUJo9VuqB0qmWTPJubUZqH0GouCzoJo0CX TDTCxJjPrShuhMvJdcz+npNsh/N2QGTRto3DhB7YAkpktVUjFNguWEVnKqzW AWsjGieJ3edFPAO9gAbU1AY6LS/u7Fod1jt75sxnjmDSuR1fEaTEmtanTAUw OVxsnT7ZahlCfPTR7YTA1xwpCaGSg3EXD7bd1YFtf95vUbf3EHgF5xqcJ3eZ OJmzuSzU8tGL23modzTyFwq/6mpWE4VQ/FFWI5tyg9u1U6qTGHY/jeiIukBK NjgRm1d/PdhqbTd4yYFZnQpylJG1jqAIp0JRRa6OAGtPZIXeBvEkKNgdZ7to MVS2gId93jlD9VUDPd7kCxrlFscvdaHHy4LVtsBqGytbDtwgnWm7DOuJQFSZ qJIg6nEkF5u7W1SKpfIrJzWhpTYrZGufTnBOfTpngqApDtPNFKYLSa8Le2Kb 65tqtFNoxAzkHYkQTi1ThFF4wYZZU3ydsslhW2wn140h4SXrk2nKMN2g82c2 YUi5EPQEAG9EEzRwgckKWC3hHIdKf2bokPRbgviDiqEV8cADoRlMJY71wikx it1zQlkZF3PM3JkLq5XVqFalcbLwJU8b7LeKL0iHrfzGZqmWXHnjYk8ZWQFb 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 2/yJCgefRKwcDuc4s4OPQnGsdqEJXAtN4F5oAs8CE8SJgLfAo/NZjv7rWCyy nc093Faa0Ul9uX1o34Mw4rUGoT3dm7r623sh1KVsQvAPyUB+K2iOlb4i4oPU dw7GlwP2qK8zW+axRcNt0LQs6kRoy8kd3Wo56UOPLYvdXW1ZvPaI08/f+sNU oHy0eWSf/+saGlyZ9/9cDae///xxPDnu/2Xe9VMlAP6+H37GpEb+obsOKAfD 5J3lat88tO+QIxQDVI8709o3GKfK9+i3etg3DcgSi10Gh0UNvtfQ0jO54qy/ DKIk8rX29PV3d/l72zf4O1t7uAst1xIFScS7t3abSIg5dd4u6u3Se7upt1vv 7aHeHr13HfWu03vXU+96vXcD9W7QezdS70a9dxP1btJ7N1Pv5oziMC2VmcWk iipdGeV0ual/RkFdHuqfUVIX1fDqyiiqq576Q1n3cHM56h8wkIB0KiZcDdta MkQPqsmhDgIUiYUouups3eqXels720WxoY4JSSQbquKASEhM1YE2qgFxkWpq QAEsHhW5XA0iE72xmothSkfQF1XVusBpopI6GRlHhk6GCi7OJoM4gLGC9ilZ dWkN00tZI3/RCrqQTKG3NjMXHZ/JESgluitndBdE5/M2ytSdk4qbz9STM7qH Zbo7MDYov2xRUtflTF3HZ1afM3o9H70hZ/QGPnpjzuiNfPSmnNGbWMll9eqa kjfnTN2chW+u2pxVrW0arpzxsW1s6nGKm0YSY4HqHlnhdjVVGG7UVlzunGT5 xrKphxUa0pGs+iAr9vWQnlH6vTctbU9O2h6Odp9C20Nod/Q62Ve0e2X9oxra dTlp8+2uo1emXUdo9/icYg9qZfWN7spEXp+TOt9Me3wy9Xp1hOl1jFTkIAIx +CoeZyl6HfrJk8XTDrrtXVv8m7o29WvV6AVvjIyNOlaqWSrv+FSvCl6fnsgU 6iHlLtGgTTPNPyrOa8wiubhIPrNIfGvaYhaJNAv+Zmgo5N9JFVFTDTAgbITk EwHsS0+iA3xwTgsRDbJkFvT55AuDa5QdA/X6Zkbc9qsyol1DdcMYxO1qN45r RHdjX0Zcnxndjm7juEZ0OzdlxO0yo9vTYRzXiO6WTLxbzOhu8RnHNeRDJl7G B3KqxJR7HSbcqyX3P03rZ0Nm/dDybjHKod8gbqlx3A2ZcRlyUgbzHExai4uU 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 4J2t8OzoCmnJV/PuaTl4tvWOuUtr8+6xld8xd0ltUdJaVfirc4qI39n2vHt+ +Yy1DPzFvKO35X13xlpcvrPg8DeHzklZlq5PzUzYZ7Za7E9Y77bd+/M5YeI5 aMtC6siEtcY6NRQtqLcnD4Cvvb5+zvrJh4bLUxZrrVTYVlx6x5EiIT27MS18 3fLA5735rzhSFkth211e52GhzFIGy/UyW8piK0hZCja+7St4bsZSfMmk7afP Qe7+yV8kYVQpIL2mZPLG/WS8vOLDF+eaJvIkEX7bfw8Tf+r/TNRKxaWVkjfZ Lj0zTeKumhIqPzU5FK2M3n9J99s/GRNSz05Y77d47HefMem4VLgnPfufHwpf tz9hoVSOvDMhrX+2VlpWmp597wTJ1/51MWibKpd8c86aK5LB4KYkCf3ZnDiR nv3tiYn2s6Yeue4fvGdOETzWD4tLrRKpgz+fqIWWUAa/jp3IF29MFtQPTVdF YT7YSDBVAiZp8uJUQbF1knBu/VR3Sih6sf3cyaIZS5H1gZfn7M/nHf17wX5v evZbHwplMrr73nkdQgTHW5OrkgzjIyfsD4jBUPCbwSXihmT5dcTXAqm+dgLm Ee+5FNtZU/ZyobQ8dPTCF+ccE28EQ6Gq6N957a8VzFiEvKMTwsPT3VCnVVFw FwhVzx221+cd/XLeOeArLIX6fD09O/ShDfLLe0xIOd+/7+BBQGyZKhCLk8Wl pKyBE2diqW85Yb+C8P/GtrOjt04vFZfSWamLCGblB39nKf9fv7OWH/gd6Qt2 6Qf7LpAulewVN9HeZVt+o6MXRMDE1G1DB5+xiML7ee8Weu2Ty6P2o19cYveM bbfUl1T/aeqCY0LP+tQXJx4JvZW8PGW3WaqunbJUd799gbTi/dvnCo4uyV+f +peJzqStuntqXdHhZ753UUnVFa/YohflL/l5earAZtsu0LnhvD+L394rOKS8 oy8tEVJn/vmRoTXSRSv+c/nZM2m37adXzdmLYz1z07ajt+c7pG+FhNQv565I 1n+vpOYyoPXaEkKrhNI6ArQuBloOkAou+PPDQ0I5wW6bafbaJs+K2t3tc+Ul 0Naqjk09HCJxPphbmSypsbxSvPqyV63i7Unr0S/bvrW/ZLXz8Heg55cUeR8b B6HWcvTHRU++9+LNfXNlJR1gLO7Pe+embEc/b7NUFxy2eyzVj4Q6pkQYz6+f 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 YRqmYRqmYRqmYRqmYRp+e8P/Aq2TUzkA4AEA ====