aeonlucid / androidnativeemu Goto Github PK
View Code? Open in Web Editor NEWAllows you to partly emulate an Android native library.
License: GNU General Public License v3.0
Allows you to partly emulate an Android native library.
License: GNU General Public License v3.0
I updated the libcms.so and meet argument worng type error:
2020-02-15 13:27:33,793 INFO __main__ | Loaded modules:
2020-02-15 13:27:33,793 INFO __main__ | => 0xcbbcb000 - samples/example_binaries/libdl.so
2020-02-15 13:27:33,793 INFO __main__ | => 0xcbbd1000 - samples/example_binaries/libc.so
2020-02-15 13:27:33,793 INFO __main__ | => 0xcbc6c000 - samples/example_binaries/libstdc++.so
2020-02-15 13:27:33,794 INFO __main__ | => 0xcbc72000 - samples/example_binaries/libm.so
2020-02-15 13:27:33,794 INFO __main__ | => 0xcbc95000 - libcms.so
2020-02-15 13:27:33,799 DEBUG androidemu.java.java_vm | java_vm: 0x01000056
2020-02-15 13:27:33,799 DEBUG androidemu.java.java_vm | env: 0x000ff1d0
2020-02-15 13:27:33,799 DEBUG androidemu.java.java_vm | version: 0x00010006
2020-02-15 13:27:33,799 DEBUG androidemu.java.java_vm | JavaVM->GetENV() was called!
2020-02-15 13:27:33,803 DEBUG androidemu.java.jni_env | JNIEnv->FindClass(com/ss/sys/ces/a) was called
2020-02-15 13:27:33,803 DEBUG androidemu.java.jni_env | JNIEnv->ExceptionCheck() was called
2020-02-15 13:27:33,804 DEBUG androidemu.java.jni_env | JNIEnv->NewGlobalRef(1) was called
2020-02-15 13:27:33,805 DEBUG androidemu.java.jni_env | JNIEnv->RegisterNatives(1, 0x000ff118, 4) was called
2020-02-15 13:27:33,805 WARNING androidemu.java.java_class_def | Register native ('meta', '(ILandroid/content/Context;Ljava/lang/Object;)Ljava/lang/Object;') failed on class XGorgen.
2020-02-15 13:27:33,805 WARNING androidemu.java.java_class_def | Register native ('leviathan', '(II[B)[B') failed on class XGorgen.
2020-02-15 13:27:33,806 WARNING androidemu.java.java_class_def | Register native ('decode', '(I[B)[B') failed on class XGorgen.
2020-02-15 13:27:33,806 WARNING androidemu.java.java_class_def | Register native ('encode', '([B)[B') failed on class XGorgen.
Traceback (most recent call last):
File "samples/example_douyin.py", line 157, in <module>
result = x.leviathan(emulator, 1562848170, data)
File "/Users/vincent/Github/AndroidNativeEmu/androidemu/java/java_method_def.py", line 24, in native_wrapper
*argv # Extra args.
File "/Users/vincent/Github/AndroidNativeEmu/androidemu/emulator.py", line 147, in call_native
self.mu.emu_start(addr, stop_pos - 1)
File "/usr/local/lib/python3.7/site-packages/unicorn/unicorn.py", line 286, in emu_start
status = _uc.uc_emu_start(self._uch, begin, until, timeout, count)
ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type
The leviathan
function is change, and has 3 parameter,
public static native byte[] leviathan(int paramInt1, int paramInt2, byte[] paramArrayOfbyte);
How can i fix it ?
how to build & install keystone-engine manully without pip install ?
unicorn is not support py3+,only support py2.4+
I get errors for the examples.
For example, the example_douyin.py
python3.7 example_douyin.py
2019-08-23 22:22:55,623 DEBUG androidemu.internal.modules | Loading module 'samples/example_binaries/libdl.so'.
2019-08-23 22:22:55,624 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbcb000 - 0xcbbce000, size 0x00003000, prot 5
2019-08-23 22:22:55,625 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbce000 - 0xcbbd1000, size 0x00003000, prot 3
2019-08-23 22:22:55,627 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_finalize
2019-08-23 22:22:55,627 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_atexit
2019-08-23 22:22:55,627 ERROR androidemu.internal.modules | => Undefined external symbol: __register_atfork
2019-08-23 22:22:55,628 ERROR androidemu.internal.modules | => Undefined external symbol: abort
2019-08-23 22:22:55,628 ERROR androidemu.internal.modules | => Undefined external symbol: memcpy
2019-08-23 22:22:55,632 DEBUG androidemu.emulator | Calling Init for: samples/example_binaries/libdl.so
2019-08-23 22:22:55,632 DEBUG androidemu.internal.modules | Loading module 'samples/example_binaries/libc.so'.
2019-08-23 22:22:55,634 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbd1000 - 0xcbc5d000, size 0x0008c000, prot 5
2019-08-23 22:22:55,635 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc5e000 - 0xcbc6c000, size 0x0000e000, prot 3
2019-08-23 22:22:56,191 DEBUG androidemu.emulator | Calling Init for: samples/example_binaries/libc.so
2019-08-23 22:22:56,191 DEBUG androidemu.emulator | Calling Init function: cbbe8d05
2019-08-23 22:22:56,192 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000001) at 0xcbc1b874
2019-08-23 22:22:56,192 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000003) at 0xcbc1b874
2019-08-23 22:22:56,193 DEBUG androidemu.cpu.syscall_handlers | Executing syscall faccessat(ffffff9c, cbbebc34, 00000004, 00000000) at 0xcbc1a874
2019-08-23 22:22:56,194 DEBUG androidemu.cpu.syscall_handlers | Executing syscall getpid() at 0xcbc1ab14
2019-08-23 22:22:56,194 DEBUG androidemu.cpu.syscall_handlers | Executing syscall getrandom(000fff78, 00000028, 00000001) at 0xcbbea10c
2019-08-23 22:22:56,195 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 00000448, 00000003, 00000022, ffffffff, 00000000) at 0xcbc1abc4
2019-08-23 22:22:56,195 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02000000, 00000448, 0000000c) at 0xcbc1b78c
2019-08-23 22:22:56,195 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02000000, 00000448, cbc0e9c8) at 0xcbc1b97c
2019-08-23 22:22:56,198 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000001) at 0xcbc1b874
2019-08-23 22:22:56,199 DEBUG androidemu.cpu.syscall_handlers | Executing syscall gettid() at 0xcbbea10c
2019-08-23 22:22:56,200 DEBUG androidemu.cpu.syscall_handlers | Executing syscall openat(ffffff9c, cbc42384, 00020000, 00000000) at 0xcbc1abe4
2019-08-23 22:22:56,200 INFO androidemu.vfs.file_system | File opened '/proc/sys/vm/overcommit_memory'
2019-08-23 22:22:56,200 DEBUG androidemu.cpu.syscall_handlers | Executing syscall read(00000003, 000feefb, 00000001) at 0xcbc1ba7c
2019-08-23 22:22:56,201 INFO androidemu.vfs.file_system | Reading 1 bytes from '/proc/sys/vm/overcommit_memory'
2019-08-23 22:22:56,201 DEBUG androidemu.cpu.syscall_handlers | Executing syscall close(00000003) at 0xcbc1a854
2019-08-23 22:22:56,201 INFO androidemu.vfs.file_system | File closed '/proc/sys/vm/overcommit_memory'
2019-08-23 22:22:56,206 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 00080000, 00000003, 00004022, ffffffff, 00000000) at 0xcbc1abc4
2019-08-23 22:22:56,207 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02001000, 00080000, 0000000c) at 0xcbc1b78c
2019-08-23 22:22:56,207 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02001000, 00080000, cbc42068) at 0xcbc1b97c
2019-08-23 22:22:56,207 DEBUG androidemu.cpu.syscall_handlers | Executing syscall munmap(02001000, 00080000) at 0xcbc1b8f4
2019-08-23 22:22:56,208 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 000ff000, 00000003, 00004022, ffffffff, 00000000) at 0xcbc1abc4
2019-08-23 22:22:56,208 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02001000, 000ff000, 0000000c) at 0xcbc1b78c
2019-08-23 22:22:56,208 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02001000, 000ff000, cbc42068) at 0xcbc1b97c
2019-08-23 22:22:56,208 DEBUG androidemu.cpu.syscall_handlers | Executing syscall munmap(02001000, 0007f000) at 0xcbc1b8f4
Traceback (most recent call last):
File "example_douyin.py", line 118, in <module>
emulator.load_library("samples/example_binaries/libc.so")
File "/home/daniel/Downloads/AndroidNativeEmu-master/androidemu/emulator.py", line 117, in load_library
self.call_native(fun_ptr)
File "/home/daniel/Downloads/AndroidNativeEmu-master/androidemu/emulator.py", line 143, in call_native
self.mu.emu_start(addr, stop_pos - 1)
File "/home/daniel/.local/lib/python3.7/site-packages/unicorn/unicorn.py", line 288, in emu_start
raise UcError(status)
unicorn.unicorn.UcError: Invalid memory write (UC_ERR_WRITE_UNMAPPED)
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 24, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "example_douyin.py", line 118, in <module>
emulator.load_library("samples/example_binaries/libc.so")
File "/home/daniel/Downloads/AndroidNativeEmu-master/androidemu/emulator.py", line 117, in load_library
self.call_native(fun_ptr)
File "/home/daniel/Downloads/AndroidNativeEmu-master/androidemu/emulator.py", line 143, in call_native
self.mu.emu_start(addr, stop_pos - 1)
File "/home/daniel/.local/lib/python3.7/site-packages/unicorn/unicorn.py", line 288, in emu_start
raise UcError(status)
unicorn.unicorn.UcError: Invalid memory write (UC_ERR_WRITE_UNMAPPED)
the example.py gets the same error. any fix?
The JNIEnv should exactly behave like the spec says.
In order to ensure this is the case, there need to be tests.
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 232, in 'calling callback function'
File "/usr/local/python37/lib/python3.7/site-packages/unicorn/unicorn.py", line 480, in _hookcode_cb
cb(self, address, size, data)
File "/data/SO-Mock/samples/androidemu/hooker.py", line 97, in _hook
hook_func(self._emu)
File "/data/SO-Mock/samples/androidemu/java/helpers/native_method.py", line 110, in native_method_wrapper
result = func(mu, *native_args)
File "/data/SO-Mock/samples/androidemu/native/hooks.py", line 143, in nop_inside
raise NotImplementedError('Symbol hook not implemented %s' % name)
NotImplementedError: Symbol hook not implemented pthread_create
Traceback (most recent call last):
File "example_mt.py", line 144, in
logger.info("Response from JNI call: %s" % main_activity.XXX(emulator, data, ""))
File "/data/SO-Mock/samples/androidemu/java/java_method_def.py", line 24, in native_wrapper
*argv # Extra args.
File "/data/SO-Mock/samples/androidemu/emulator.py", line 143, in call_native
self.mu.emu_start(addr, stop_pos - 1)
File "/usr/local/python37/lib/python3.7/site-packages/unicorn/unicorn.py", line 316, in emu_start
status = _uc.uc_emu_start(self._uch, begin, until, timeout, count)
ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type
for example:
import android.content.Context;
public static native String XXX(Context context, String str)
Hi,
i'm trying to use your librarie and cannot find a way to pass a String as an argument for a native library.
Here is the prototype of the function :
class XXXXXXXX(metaclass=JavaClassDef, jvm_name='com/xxx/xxxxxxx/XXXXXXXX'):
def __init__(self):
pass
@java_method_def(name='someStringFunc', signature='(Ljava/lang/String;I)Z', native=True)
def someStringFunc(self, mu):
pass
def test(self):
pass
And trying to call it with :
x = XXXXXXXX()
logger.info("Response from JNI call: %s" % x.someStringFunc(emulator,"Test_string",1))
I also tried to create it from creating a jstring
object from jni_ref.py
and creating the string in memory then passing the pointer as an argument.
Do I miss something ?
requirements.txt已成功执行
但是在运行example.py却出现以下错误
D:\py_workspace\AndroidNativeEmu-master\samples> python .\example.py
Traceback (most recent call last):
File ".\example.py", line 7, in
from androidemu.emulator import Emulator
ModuleNotFoundError: No module named 'androidemu'
Similar to how the douyin example works, I'm trying to convert a Python byte
object to bytearray
:
my_instance = my_class()
my_string = "Some string here"
my_byte_array = bytearray(b"Some byte here")
my_result = my_instance.my_method(emulator, my_string, my_byte_array)
... and pass it over to a native method:
class my_class(metaclass=JavaClassDef, jvm_name='com/mypackage/myclass'):
def __init__(self):
pass
@java_method_def(name='myMethod', signature='(Ljava/lang/String;[B)[B', native=True)
def my_method(self, mu, my_string, my_byte_array):
pass
However, I saw a debug output JNIEnv->NewByteArray(0) was called
, indicating that an empty byte array was passed over instead. my_result
also returns an int
(value 0
), but as the signature says, I'm expecting a bytearray
instead.
Anyone knows why?
I try to run libjiagu.so as mentioned in the beginning of the article which may be written by @P4nda0s ,but I get UC_ERR_WRITE_UNMAPPED when the init_array of libjiagu.so is called. I have loaded all the .so needed, but it still crash
2020-01-04 15:47:35,770 DEBUG androidemu.internal.modules | Loading module './libjiagu.so'.
2020-01-04 15:47:35,772 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbd4f000 - 0xcbd5e000, size 0x0000f000, prot 5
2020-01-04 15:47:35,773 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbd5e000 - 0xcbdc8000, size 0x0006a000, prot 3
Traceback (most recent call last):
File "C:/Users/hp/Desktop/just crack me/AndroidNativeEmu-master/samples/example_jiagu.py", line 70, in <module>
lib_module = emulator.load_library("./libjiagu.so",do_init=True)
File "C:\Users\hp\Desktop\just crack me\AndroidNativeEmu-master\androidemu\emulator.py", line 124, in load_library
self.call_native(fun_ptr)
File "C:\Users\hp\Desktop\just crack me\AndroidNativeEmu-master\androidemu\emulator.py", line 152, in call_native
self.mu.emu_start(addr, stop_pos - 1)
File "D:\Python37\lib\site-packages\unicorn\unicorn.py", line 288, in emu_start
raise UcError(status)
unicorn.unicorn.UcError: Invalid memory write (UC_ERR_WRITE_UNMAPPED)
2020-01-04 15:47:35,792 DEBUG androidemu.emulator | Calling Init for: ./libjiagu.so
2020-01-04 15:47:35,793 DEBUG androidemu.emulator | Calling Init function: cbd50ce0
1
For chinses tiktok,
It came up with a new algorithm recently,
The hex like 08C4**********
Can you solve it ,The price is up to you.
My email is [email protected].
Thanks for your kind attention and look forward your prompt reply.
2019-09-04 11:30:53,910 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02181000, 00003000, 0000000c) at 0xcbc1b78c
2019-09-04 11:30:53,910 DEBUG androidemu.cpu.syscall_handlers | Executing syscall munmap(02181000, 00003000) at 0xcbc1b8f4
2019-09-04 11:30:53,920 DEBUG samples.debug_utils | mem unmapped: pc: cbd0a8a8 access: 13 address: fffff734 length: 4 value: 0
@Tsingxing None
Traceback (most recent call last):
File ".\example_douyin.py", line 152, in
result = x.leviathan(emulator, 1562848170, data)
File "F:\code\AndroidNativeEmu-master_another\AndroidNativeEmu-master\androidemu\java\java_method_def.py", line 25, in native_wrapper
*argv # Extra args.
File "F:\code\AndroidNativeEmu-master_another\AndroidNativeEmu-master\androidemu\emulator.py", line 147, in call_native
self.mu.emu_start(addr, stop_pos - 1)
File "C:\Users\tingxinluan\AppData\Local\Programs\Python\Python37\lib\site-packages\unicorn\unicorn.py", line 286, in emu_start
status = _uc.uc_emu_start(self._uch, begin, until, timeout, count)
ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type
androidemu/native/hooks.py line56
lib = os.path.realpath(os.path.join(__file__, '..', '..', '..', 'samples', 'example_binaries', 'libvendorconn.so'))
should be replaced to
lib = os.path.realpath(os.path.join(__file__, '..', '..', '..', '..', 'samples', 'example_binaries', 'libvendorconn.so'))
Otherwise,the path will be replace to AndroidNativeEmu-master\samples\samples\example_binaries\libvendorconn.so
Hi:
Seems two questions in native_write_args
:
why substract STACK_OFFSET twice?
native_write_args
, parameters are passed in wrong order. args[4] is at higher address可否讨论一下?新版的libcms.so文件是否需要重新写整个AndroidNativeEmu工具(手动比心
The native jni call need a 'android.content.Context' instance to be invoked
Is it possible to emulate one?
import android.content.Context
class A extends Object
{
native public static String getParam(Context p0,String p1);
}
Can this emulator support 64bit libraries?
Here is my result , But there are no result from leviathan. Can you help me to solve this ?
2020-11-07 19:21:36,516 DEBUG androidemu.internal.modules | Loading module './example_binaries/libdl.so'.
2020-11-07 19:21:36,532 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbcb000 - 0xcbbce000, size 0x00003000, prot 5
2020-11-07 19:21:36,532 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbce000 - 0xcbbd1000, size 0x00003000, prot 3
2020-11-07 19:21:36,532 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_finalize
2020-11-07 19:21:36,532 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_atexit
2020-11-07 19:21:36,548 ERROR androidemu.internal.modules | => Undefined external symbol: __register_atfork
2020-11-07 19:21:36,548 ERROR androidemu.internal.modules | => Undefined external symbol: abort
2020-11-07 19:21:36,548 ERROR androidemu.internal.modules | => Undefined external symbol: memcpy
2020-11-07 19:21:36,563 DEBUG androidemu.emulator | Calling init for: ./example_binaries/libdl.so
2020-11-07 19:21:36,563 DEBUG androidemu.internal.modules | Loading module './example_binaries/libc.so'.
2020-11-07 19:21:36,563 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbd1000 - 0xcbc5d000, size 0x0008c000, prot 5
2020-11-07 19:21:36,563 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc5e000 - 0xcbc6c000, size 0x0000e000, prot 3
2020-11-07 19:21:37,433 DEBUG androidemu.emulator | Calling init for: ./example_binaries/libc.so
2020-11-07 19:21:37,435 DEBUG androidemu.emulator | Calling Init function: cbbe8d05
2020-11-07 19:21:37,438 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:37,440 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:37,443 DEBUG androidemu.cpu.syscall_handlers | Executing syscall faccessat(ffffff9c, cbbebc34, 00000004, 00000000) at 0xcbc1a874
2020-11-07 19:21:37,448 DEBUG androidemu.cpu.syscall_handlers | Executing syscall getpid() at 0xcbc1ab14
2020-11-07 19:21:37,456 DEBUG androidemu.cpu.syscall_handlers | Executing syscall getrandom(000fff78, 00000028, 00000001) at 0xcbbea10c
2020-11-07 19:21:37,462 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 00000448, 00000003, 00000022, ffffffff, 00000000) at 0xcbc1abc4
2020-11-07 19:21:37,468 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02000000, 00000448, 0000000c) at 0xcbc1b78c
2020-11-07 19:21:37,474 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02000000, 00000448, cbc0e9c8) at 0xcbc1b97c
2020-11-07 19:21:37,481 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:37,488 DEBUG androidemu.cpu.syscall_handlers | Executing syscall gettid() at 0xcbbea10c
2020-11-07 19:21:37,495 DEBUG androidemu.cpu.syscall_handlers | Executing syscall openat(ffffff9c, cbc42384, 00020000, 00000000) at 0xcbc1abe4
2020-11-07 19:21:37,501 INFO androidemu.vfs.file_system | File opened '/proc/sys/vm/overcommit_memory'
2020-11-07 19:21:37,508 DEBUG androidemu.cpu.syscall_handlers | Executing syscall read(00000003, 000feefb, 00000001) at 0xcbc1ba7c
2020-11-07 19:21:37,514 INFO androidemu.vfs.file_system | Reading 1 bytes from '/proc/sys/vm/overcommit_memory'
2020-11-07 19:21:37,522 DEBUG androidemu.cpu.syscall_handlers | Executing syscall close(00000003) at 0xcbc1a854
2020-11-07 19:21:37,528 INFO androidemu.vfs.file_system | File closed '/proc/sys/vm/overcommit_memory'
2020-11-07 19:21:37,536 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 00080000, 00000003, 00004022, ffffffff, 00000000) at 0xcbc1abc4
2020-11-07 19:21:37,539 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02001000, 00080000, 0000000c) at 0xcbc1b78c
2020-11-07 19:21:37,539 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02001000, 00080000, cbc42068) at 0xcbc1b97c
2020-11-07 19:21:37,555 DEBUG androidemu.cpu.syscall_handlers | Executing syscall munmap(02001000, 00080000) at 0xcbc1b8f4
2020-11-07 19:21:37,599 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 000ff000, 00000003, 00004022, ffffffff, 00000000) at 0xcbc1abc4
2020-11-07 19:21:37,605 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02001000, 000ff000, 0000000c) at 0xcbc1b78c
2020-11-07 19:21:37,612 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02001000, 000ff000, cbc42068) at 0xcbc1b97c
2020-11-07 19:21:37,619 DEBUG androidemu.cpu.syscall_handlers | Executing syscall munmap(02001000, 0007f000) at 0xcbc1b8f4
2020-11-07 19:21:37,751 DEBUG androidemu.cpu.syscall_handlers | Executing syscall clock_gettime(00000006, 000feeac) at 0xcbc1a9ec
2020-11-07 19:21:37,758 DEBUG androidemu.cpu.syscall_handlers | Executing syscall openat(ffffff9c, cbbf31b4, 000a0000, 00000000) at 0xcbc1abe4
2020-11-07 19:21:37,763 INFO androidemu.vfs.file_system | File opened '/sys/devices/system/cpu/online'
2020-11-07 19:21:37,771 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 00080000, 00000003, 00004022, ffffffff, 00000000) at 0xcbc1abc4
2020-11-07 19:21:37,777 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02100000, 00080000, 0000000c) at 0xcbc1b78c
2020-11-07 19:21:37,783 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02100000, 00080000, cbc42068) at 0xcbc1b97c
2020-11-07 19:21:37,793 DEBUG androidemu.cpu.syscall_handlers | Executing syscall fstat64(00000004, 000ffea0) at 0xcbc1b314
2020-11-07 19:21:37,799 INFO androidemu.vfs.file_system | File stat64 '/sys/devices/system/cpu/online'
2020-11-07 19:21:37,807 DEBUG androidemu.cpu.syscall_handlers | Executing syscall read(00000004, 02109000, 00000400) at 0xcbc1ba7c
2020-11-07 19:21:37,812 INFO androidemu.vfs.file_system | Reading 1024 bytes from '/sys/devices/system/cpu/online'
2020-11-07 19:21:37,819 DEBUG androidemu.cpu.syscall_handlers | Executing syscall read(00000004, 02109000, 00000400) at 0xcbc1ba7c
2020-11-07 19:21:37,826 INFO androidemu.vfs.file_system | Reading 1024 bytes from '/sys/devices/system/cpu/online'
2020-11-07 19:21:37,832 DEBUG androidemu.cpu.syscall_handlers | Executing syscall close(00000004) at 0xcbc1a854
2020-11-07 19:21:37,839 INFO androidemu.vfs.file_system | File closed '/sys/devices/system/cpu/online'
2020-11-07 19:21:37,846 DEBUG androidemu.cpu.syscall_handlers | Executing syscall fstatat64(ffffff9c, cbc62174, 000fff70, 00000000) at 0xcbc1b334
2020-11-07 19:21:37,852 INFO androidemu.vfs.file_system | File fstatat64 '/dev/properties'
2020-11-07 19:21:37,859 WARNING androidemu.vfs.file_system | > File was not found.
2020-11-07 19:21:37,865 DEBUG androidemu.cpu.syscall_handlers | Executing syscall openat(ffffff9c, cbc62174, 000a8000, 00000000) at 0xcbc1abe4
2020-11-07 19:21:37,873 WARNING androidemu.vfs.file_system | File does not exist '/dev/properties'
2020-11-07 19:21:37,878 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:37,885 DEBUG androidemu.native.hooks | Called __system_property_get(libc.debug.malloc.options, 0xffedc)
2020-11-07 19:21:37,892 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:37,898 DEBUG androidemu.native.hooks | Called dlopen(libvendorconn.so)
2020-11-07 19:21:37,905 DEBUG androidemu.internal.modules | Loading module 'C:\Users\Workstation-Jarvis\AppData\Local\Programs\Python\Python39\Lib\samples\example_binaries\libvendorconn.so'.
2020-11-07 19:21:37,914 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc6c000 - 0xcbc6d000, size 0x00001000, prot 5
2020-11-07 19:21:37,920 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc6d000 - 0xcbc6f000, size 0x00002000, prot 3
2020-11-07 19:21:37,931 DEBUG androidemu.emulator | Calling init for: C:\Users\Workstation-Jarvis\AppData\Local\Programs\Python\Python39\Lib\samples\example_binaries\libvendorconn.so
2020-11-07 19:21:37,938 DEBUG androidemu.native.hooks | Called dlsym(0xcbc6c000, isVendorExtAvailable)
2020-11-07 19:21:37,945 DEBUG androidemu.native.hooks | Called dlclose(0xcbc6c000)
2020-11-07 19:21:37,951 DEBUG androidemu.cpu.syscall_handlers | Executing syscall futex(cbc64030, 00000081, 7fffffff, 00000000, 00000000, 00000000) at 0xcbbea10c
2020-11-07 19:21:37,958 DEBUG androidemu.native.hooks | Called dlopen(libnetd_client.so)
2020-11-07 19:21:37,964 DEBUG androidemu.native.hooks | Called dlsym(0xffffffff, netdClientInitAccept4)
2020-11-07 19:21:37,972 DEBUG androidemu.native.hooks | Called dlsym(0xffffffff, netdClientInitConnect)
2020-11-07 19:21:37,978 DEBUG androidemu.native.hooks | Called dlsym(0xffffffff, netdClientInitNetIdForResolv)
2020-11-07 19:21:37,984 DEBUG androidemu.native.hooks | Called dlsym(0xffffffff, netdClientInitSocket)
2020-11-07 19:21:37,991 DEBUG androidemu.cpu.syscall_handlers | Executing syscall futex(cbc6402c, 00000081, 7fffffff, 00000000, 00000000, 00000000) at 0xcbbea10c
2020-11-07 19:21:37,997 DEBUG androidemu.emulator | Calling Init function: cbc0278d
2020-11-07 19:21:38,003 DEBUG androidemu.emulator | Calling Init function: cbc3f381
2020-11-07 19:21:38,010 DEBUG androidemu.internal.modules | Loading module './example_binaries/libstdc++.so'.
2020-11-07 19:21:38,019 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc6f000 - 0xcbc73000, size 0x00004000, prot 5
2020-11-07 19:21:38,025 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc73000 - 0xcbc75000, size 0x00002000, prot 3
2020-11-07 19:21:38,043 DEBUG androidemu.emulator | Calling init for: ./example_binaries/libstdc++.so
2020-11-07 19:21:38,048 DEBUG androidemu.internal.modules | Loading module './example_binaries/libm.so'.
2020-11-07 19:21:38,058 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc75000 - 0xcbc96000, size 0x00021000, prot 5
2020-11-07 19:21:38,064 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc96000 - 0xcbc98000, size 0x00002000, prot 3
2020-11-07 19:21:38,112 DEBUG androidemu.emulator | Calling init for: ./example_binaries/libm.so
2020-11-07 19:21:38,116 DEBUG androidemu.internal.modules | Loading module './example_binaries/libcms.so'.
2020-11-07 19:21:38,125 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc98000 - 0xcbd76000, size 0x000de000, prot 5
2020-11-07 19:21:38,133 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbd76000 - 0xcbd88000, size 0x00012000, prot 3
2020-11-07 19:21:38,736 DEBUG androidemu.emulator | Calling init for: ./example_binaries/libcms.so
2020-11-07 19:21:38,755 DEBUG androidemu.emulator | Calling Init function: cbca588d
2020-11-07 19:21:38,761 DEBUG androidemu.emulator | Calling Init function: cbca48b1
2020-11-07 19:21:38,768 DEBUG androidemu.cpu.syscall_handlers | Executing syscall futex(cbd86d88, 00000081, 7fffffff, 00000000, 00000000, 00000000) at 0xcbbea10c
2020-11-07 19:21:38,779 DEBUG androidemu.cpu.syscall_handlers | Executing syscall futex(cbd86d7c, 00000081, 7fffffff, 00000000, 00000000, 00000000) at 0xcbbea10c
2020-11-07 19:21:38,787 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 00001000, 00000003, 00000022, ffffffff, 00000000) at 0xcbc1abc4
2020-11-07 19:21:38,794 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02001000, 00001000, 0000000c) at 0xcbc1b78c
2020-11-07 19:21:38,800 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02001000, 00001000, cbc24db4) at 0xcbc1b97c
2020-11-07 19:21:38,808 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:38,814 DEBUG androidemu.emulator | Calling Init function: cbca6cc9
2020-11-07 19:21:38,822 DEBUG androidemu.emulator | Calling Init function: cbca48dd
2020-11-07 19:21:38,828 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:38,834 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:38,842 DEBUG androidemu.emulator | Calling Init function: cbca4909
2020-11-07 19:21:38,848 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:38,856 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:38,862 DEBUG androidemu.emulator | Calling Init function: cbcae4d5
2020-11-07 19:21:38,868 DEBUG androidemu.emulator | Calling Init function: cbca4935
2020-11-07 19:21:38,875 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:38,881 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:38,889 DEBUG androidemu.emulator | Calling Init function: cbcaf325
2020-11-07 19:21:38,896 DEBUG androidemu.emulator | Calling Init function: cbca4961
2020-11-07 19:21:38,901 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:38,908 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:38,914 DEBUG androidemu.emulator | Calling Init function: cbcb0015
2020-11-07 19:21:38,923 DEBUG androidemu.emulator | Calling Init function: cbca498d
2020-11-07 19:21:38,928 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:38,934 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:38,941 DEBUG androidemu.emulator | Calling Init function: cbcb11a9
2020-11-07 19:21:38,948 DEBUG androidemu.emulator | Calling Init function: cbca49b9
2020-11-07 19:21:38,956 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:38,961 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:38,968 DEBUG androidemu.emulator | Calling Init function: cbca49e5
2020-11-07 19:21:38,975 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:38,981 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:38,989 DEBUG androidemu.emulator | Calling Init function: cbcb3781
2020-11-07 19:21:38,995 DEBUG androidemu.emulator | Calling Init function: cbca4a11
2020-11-07 19:21:39,001 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,009 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,015 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,023 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,028 DEBUG androidemu.emulator | Calling Init function: cbcb4add
2020-11-07 19:21:39,035 DEBUG androidemu.emulator | Calling Init function: cbca4a9d
2020-11-07 19:21:39,043 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,049 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,057 DEBUG androidemu.emulator | Calling Init function: cbca4ac9
2020-11-07 19:21:39,062 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,068 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,076 DEBUG androidemu.emulator | Calling Init function: cbca4af5
2020-11-07 19:21:39,082 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,090 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,096 DEBUG androidemu.emulator | Calling Init function: cbca4b21
2020-11-07 19:21:39,102 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,109 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,116 DEBUG androidemu.emulator | Calling Init function: cbcb7b05
2020-11-07 19:21:39,123 DEBUG androidemu.emulator | Calling Init function: cbca4b4d
2020-11-07 19:21:39,129 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,135 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,143 DEBUG androidemu.emulator | Calling Init function: cbcb8271
2020-11-07 19:21:39,149 DEBUG androidemu.emulator | Calling Init function: cbca4b79
2020-11-07 19:21:39,157 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,164 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,172 DEBUG androidemu.emulator | Calling Init function: cbca4ba5
2020-11-07 19:21:39,178 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,184 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,191 DEBUG androidemu.emulator | Calling Init function: cbca4bd1
2020-11-07 19:21:39,198 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,205 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,212 DEBUG androidemu.emulator | Calling Init function: cbca4bfd
2020-11-07 19:21:39,218 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,225 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,231 DEBUG androidemu.emulator | Calling Init function: cbca4c29
2020-11-07 19:21:39,239 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,245 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,251 DEBUG androidemu.emulator | Calling Init function: cbca4c55
2020-11-07 19:21:39,259 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,265 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,272 DEBUG androidemu.emulator | Calling Init function: cbca4c81
2020-11-07 19:21:39,279 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,285 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,292 DEBUG androidemu.emulator | Calling Init function: cbcbccdd
2020-11-07 19:21:39,298 DEBUG androidemu.emulator | Calling Init function: cbca4cad
2020-11-07 19:21:39,305 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,312 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,318 DEBUG androidemu.emulator | Calling Init function: cbcbf3e1
2020-11-07 19:21:39,325 DEBUG androidemu.emulator | Calling Init function: cbca4cd9
2020-11-07 19:21:39,332 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,340 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,346 DEBUG androidemu.emulator | Calling Init function: cbca4d05
2020-11-07 19:21:39,352 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,359 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,365 DEBUG androidemu.emulator | Calling Init function: cbcbf975
2020-11-07 19:21:39,373 DEBUG androidemu.emulator | Calling Init function: cbca4d31
2020-11-07 19:21:39,379 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,385 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,392 DEBUG androidemu.emulator | Calling Init function: cbca4d5d
2020-11-07 19:21:39,399 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,407 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,413 DEBUG androidemu.emulator | Calling Init function: cbcc1f21
2020-11-07 19:21:39,419 DEBUG androidemu.emulator | Calling Init function: cbca4d89
2020-11-07 19:21:39,426 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,432 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,440 DEBUG androidemu.emulator | Calling Init function: cbcc5625
2020-11-07 19:21:39,447 DEBUG androidemu.emulator | Calling Init function: cbcc2685
2020-11-07 19:21:39,455 DEBUG androidemu.emulator | Calling Init function: cbca4db5
2020-11-07 19:21:39,461 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,467 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,475 DEBUG androidemu.emulator | Calling Init function: cbcc6561
2020-11-07 19:21:39,483 DEBUG androidemu.emulator | Calling Init function: cbca4de1
2020-11-07 19:21:39,492 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,498 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,505 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,511 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,518 DEBUG androidemu.emulator | Calling Init function: cbcc8461
2020-11-07 19:21:39,526 DEBUG androidemu.emulator | Calling Init function: cbca4e6d
2020-11-07 19:21:39,531 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,539 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,540 DEBUG androidemu.emulator | Calling Init function: cbccb549
2020-11-07 19:21:39,540 DEBUG androidemu.emulator | Calling Init function: cbca4e99
2020-11-07 19:21:39,556 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,556 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,572 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,572 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,572 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,587 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,587 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,603 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,603 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,619 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,619 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,619 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,634 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,634 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,650 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,650 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,665 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,665 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,665 DEBUG androidemu.emulator | Calling Init function: cbccc529
2020-11-07 19:21:39,681 DEBUG androidemu.emulator | Calling Init function: cbca5095
2020-11-07 19:21:39,681 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,697 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,697 DEBUG androidemu.emulator | Calling Init function: cbca50c1
2020-11-07 19:21:39,712 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,712 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,728 DEBUG androidemu.emulator | Calling Init function: cbca50ed
2020-11-07 19:21:39,728 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,728 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,744 DEBUG androidemu.emulator | Calling Init function: cbca512d
2020-11-07 19:21:39,744 DEBUG androidemu.emulator | Calling Init function: cbca513d
2020-11-07 19:21:39,759 DEBUG androidemu.emulator | Calling Init function: cbca5219
2020-11-07 19:21:39,759 DEBUG androidemu.emulator | Calling Init function: cbca52f5
2020-11-07 19:21:39,775 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,775 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,775 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,790 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,790 DEBUG androidemu.emulator | Calling Init function: cbca534d
2020-11-07 19:21:39,806 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,806 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,822 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000003) at 0xcbc1b874
2020-11-07 19:21:39,822 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(02001000, 00001000, 00000001) at 0xcbc1b874
2020-11-07 19:21:39,822 INFO main | Loaded modules:
2020-11-07 19:21:39,837 INFO main | => 0xcbbcb000 - ./example_binaries/libdl.so
2020-11-07 19:21:39,837 INFO main | => 0xcbbd1000 - ./example_binaries/libc.so
2020-11-07 19:21:39,853 INFO main | => 0xcbc6c000 - C:\Users\Workstation-Jarvis\AppData\Local\Programs\Python\Python39\Lib\samples\example_binaries\libvendorconn.so
2020-11-07 19:21:39,853 INFO main | => 0xcbc6f000 - ./example_binaries/libstdc++.so
2020-11-07 19:21:39,853 INFO main | => 0xcbc75000 - ./example_binaries/libm.so
2020-11-07 19:21:39,869 INFO main | => 0xcbc98000 - ./example_binaries/libcms.so
2020-11-07 19:21:39,884 DEBUG androidemu.java.java_vm | java_vm: 0x01000056
2020-11-07 19:21:39,900 DEBUG androidemu.java.java_vm | env: 0x000ffd58
2020-11-07 19:21:39,900 DEBUG androidemu.java.java_vm | version: 0x00010006
2020-11-07 19:21:39,915 DEBUG androidemu.java.java_vm | JavaVM->GetENV() was called!
2020-11-07 19:21:39,915 DEBUG androidemu.java.jni_env | JNIEnv->FindClass(com/ss/sys/ces/a) was called
2020-11-07 19:21:39,915 DEBUG androidemu.java.jni_env | JNIEnv->ExceptionCheck() was called
2020-11-07 19:21:39,931 DEBUG androidemu.java.jni_env | JNIEnv->NewGlobalRef(1) was called
2020-11-07 19:21:39,931 DEBUG androidemu.java.jni_env | JNIEnv->RegisterNatives(1, 0x000ffd00, 7) was called
2020-11-07 19:21:39,947 WARNING androidemu.java.java_class_def | Register native ('jni', '(II)V') failed on class XGorgen.
2020-11-07 19:21:39,947 WARNING androidemu.java.java_class_def | Register native ('jns', '(ILjava/lang/String;)V') failed on class XGorgen.
2020-11-07 19:21:39,962 WARNING androidemu.java.java_class_def | Register native ('rb', '(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)[B') failed on class XGorgen.
2020-11-07 19:21:39,962 WARNING androidemu.java.java_class_def | Register native ('e', '([B)[B') failed on class XGorgen.
2020-11-07 19:21:39,962 WARNING androidemu.java.java_class_def | Register native ('d', '([B)[B') failed on class XGorgen.
2020-11-07 19:21:39,978 WARNING androidemu.java.java_class_def | Register native ('ws', '(I)V') failed on class XGorgen.
2020-11-07 19:21:39,978 DEBUG androidemu.java.java_class_def | Registered native function ('leviathan', '(I[B)[B') to XGorgen.leviathan
2020-11-07 19:21:39,994 DEBUG androidemu.java.jni_env | JNIEnv->FindClass(com/ss/sys/secuni/b/c) was called
2020-11-07 19:21:39,994 DEBUG androidemu.java.jni_env | JNIEnv->ExceptionCheck() was called
2020-11-07 19:21:40,009 DEBUG androidemu.java.jni_env | JNIEnv->RegisterNatives(2, 0x000ffb88, 2) was called
2020-11-07 19:21:40,009 DEBUG androidemu.java.java_class_def | Registered native function ('n1', '(Landroid/content/Context;Ljava/lang/String;)I') to secuni_b.n1
2020-11-07 19:21:40,009 DEBUG androidemu.java.java_class_def | Registered native function ('n0', '(Landroid/content/Context;)[B') to secuni_b.n0
2020-11-07 19:21:40,025 DEBUG androidemu.java.jni_env | JNIEnv->DeleteLocalRef(2) was called
2020-11-07 19:21:40,025 DEBUG androidemu.java.jni_env | JNIEnv->FindClass(com/ss/android/common/applog/UserInfo) was called
2020-11-07 19:21:40,040 DEBUG androidemu.java.jni_env | JNIEnv->ExceptionCheck() was called
2020-11-07 19:21:40,040 DEBUG androidemu.java.jni_env | JNIEnv->RegisterNatives(3, 0xcbd7a400, 16) was called
2020-11-07 19:21:40,040 WARNING androidemu.java.java_class_def | Register native ('initUser', '(Ljava/lang/String;)I') failed on class UserInfo.
2020-11-07 19:21:40,056 WARNING androidemu.java.java_class_def | Register native ('getUserInfo', '(ILjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;') failed on class UserInfo.
2020-11-07 19:21:40,056 WARNING androidemu.java.java_class_def | Register native ('getUserInfo', '(ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;') failed on class UserInfo.
2020-11-07 19:21:40,072 WARNING androidemu.java.java_class_def | Register native ('getUserInfoSkipGet', '(ILjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;') failed on class UserInfo.
2020-11-07 19:21:40,072 WARNING androidemu.java.java_class_def | Register native ('getUserInfo', '(I[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;') failed on class UserInfo.
2020-11-07 19:21:40,087 WARNING androidemu.java.java_class_def | Register native ('getPackage', '(Ljava/lang/String;)V') failed on class UserInfo.
2020-11-07 19:21:40,087 WARNING androidemu.java.java_class_def | Register native ('setAppId', '(I)V') failed on class UserInfo.
2020-11-07 19:21:40,087 WARNING androidemu.java.java_class_def | Register native ('getType', '()I') failed on class UserInfo.
2020-11-07 19:21:40,103 WARNING androidemu.java.java_class_def | Register native ('getS', '()Ljava/lang/String;') failed on class UserInfo.
2020-11-07 19:21:40,103 WARNING androidemu.java.java_class_def | Register native ('getT', '()[B') failed on class UserInfo.
2020-11-07 19:21:40,119 WARNING androidemu.java.java_class_def | Register native ('getFile', '()Ljava/lang/String;') failed on class UserInfo.
2020-11-07 19:21:40,119 WARNING androidemu.java.java_class_def | Register native ('isR', '()I') failed on class UserInfo.
2020-11-07 19:21:40,119 WARNING androidemu.java.java_class_def | Register native ('getFingerprint', '()Ljava/lang/String;') failed on class UserInfo.
2020-11-07 19:21:40,134 WARNING androidemu.java.java_class_def | Register native ('getDescription', '()Ljava/lang/String;') failed on class UserInfo.
2020-11-07 19:21:40,134 WARNING androidemu.java.java_class_def | Register native ('getTemperature', '()I') failed on class UserInfo.
2020-11-07 19:21:40,150 WARNING androidemu.java.java_class_def | Register native ('a', '()Ljava/lang/String;') failed on class UserInfo.
2020-11-07 19:21:40,150 DEBUG androidemu.java.jni_env | JNIEnv->DeleteLocalRef(3) was called
2020-11-07 19:21:40,150 DEBUG androidemu.java.jni_env | JNIEnv->DeleteLocalRef(1) was called
2020-11-07 19:21:40,165 DEBUG androidemu.cpu.syscall_handlers | Executing syscall openat(ffffff9c, 000fe4f0, 00000000, 00000000) at 0xcbcc265c
2020-11-07 19:21:40,181 INFO androidemu.vfs.file_system | File opened '/proc/self/maps'
2020-11-07 19:21:40,181 DEBUG androidemu.cpu.syscall_handlers | Executing syscall read(00000005, 000fe688, 00001060) at 0xcbcc265c
2020-11-07 19:21:40,197 INFO androidemu.vfs.file_system | Reading 4192 bytes from '/proc/self/maps'
2020-11-07 19:21:40,197 DEBUG androidemu.cpu.syscall_handlers | Executing syscall read(00000005, 000fe6d6, 00001012) at 0xcbcc265c
2020-11-07 19:21:40,212 INFO androidemu.vfs.file_system | Reading 4114 bytes from '/proc/self/maps'
Currently the offset is not added but directly overwritten, lead to wrong relocation for global variables.
Should be value = load_base + sym_value + value_at_ rel_addr
As the title indicates, the error is as follow:
Traceback (most recent call last):
File ".\example_jni.py", line 87, in
logger.info("Response from JNI call: %s" % main_activity.say_hello(emulator))
File "C:\Code\unicorn\AndroidNativeEmu\androidemu\java\java_method_def.py", line 21, in native_wrapper
*argv # Extra args.
File "C:\Code\unicorn\AndroidNativeEmu\androidemu\emulator.py", line 128, in call_native
self.mu.emu_start(addr, stop_pos - 1)
File "C:\Users\sekkit\AppData\Local\Programs\Python\Python37\lib\site-packages\unicorn\unicorn.py", line 286, in emu_start
status = _uc.uc_emu_start(self._uch, begin, until, timeout, count)
ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type
弱弱的问下需要传递参数的时候,怎么传递 Java 的上下文
In one case, i got this native define : "public static native Object doNative(int i, Object... objArr)"
how can i transfer object type parameters?
lots of thank's !
Run IDA android_server fail,
unicorn.unicorn.UcError: Fetch from non-executable memory (UC_ERR_FETCH_PROT)
It seems that call_symbol
and call_native
can only call java functions, but can't call functions with C type parameters. Hope to improve it
It looks like something wrong with the Class set field value, if i do ClassFieldDef(..., ignore=True) the error's gone, but this case i want to set the field value, here is the error, the data field is string, but translated to type
instead of returning ref.value
for string, this function return the type of the ref.value
AndroidNativeEmu/androidemu/java/jni_env.py
Lines 579 to 585 in bdcfea0
when i call JNI_Onload
# load xxx.so and call the JNI_OnLoad
emulator.call_symbol(libdidiwsg, 'JNI_OnLoad', emulator.java_vm.address_ptr, 0x00)
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 232, in 'calling callback function'
File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/unicorn/unicorn.py", line 438, in _hookcode_cb
cb(self, address, size, data)
File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/androidemu/hooker.py", line 97, in _hook
hook_func(self._emu)
File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/androidemu/java/helpers/native_method.py", line 104, in native_method_wrapper
result = func(argv[0], mu, *native_args)
File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/androidemu/java/jni_env.py", line 350, in find_class
raise RuntimeError('Could not find class \'%s\' for JNIEnv.' % name)
RuntimeError: Could not find class 'android/content/Context' for JNIEnv.
JNI can't found the Java classes , how to fix it ?
If I load Context class manually, it have has another class not found
Do I have to load all the classes manually?
请问example_douyin.py里面的第166行的data的内容是怎么得到的呢
It seems the emulator supports handling malloc, can you confirm if this is the right way as its currently generating a seg_fault. Thanks
def hook_code(mu, address, size, user_data):
if address == MALLOC_ADDRESS:
print("--- Rerouting call to malloc() @ 0x{0:08x} ---".format(address))
size = mu.reg_read(UC_ARM_REG_R0)
#read size of malloc
retval = emulator.native_memory._heap.malloc(size)
mu.reg_write(UC_ARM_REG_R0, retval)
mu.reg_write(UC_ARM_REG_PC, mu.reg_read(UC_ARM_REG_PC) +4)
emulator.call_symbol(lib_module, 'Java_com_aclient_JNIDemo_setSaved', emulator.java_vm.address_ptr, b'1124312', 6)
What should I do to translate those two args into int addresss?
I am trying to simulate a so with socket connection, but got no idea to complete the function _socket and _connect ...
def read_utf8(mu, address):
buffer_address = address
buffer_read_size = 32
buffer = b""
null_pos = None
# Keep reading until we read something that contains a null terminator.
while null_pos is None:
buf_read = mu.mem_read(buffer_address, buffer_read_size)
if b'\x00' in buf_read:
null_pos = len(buffer) + buf_read.index(b'\x00')
buffer += buf_read
buffer_address += buffer_read_size
return buffer[:null_pos].decode("utf-8")
Hello, libcms.so updated, but after I replaced the new file, the program reported an error.
Traceback (most recent call last):
File "example_douyin.py", line 128, in <module>
lib_module = emulator.load_library("./example_binaries/libcms.so")
File "..\androidemu\emulator.py", line 117, in load_library
self.call_native(fun_ptr)
File "..\androidemu\emulator.py", line 143, in call_native
self.mu.emu_start(addr, stop_pos - 1)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\site-packages\unicorn\unicorn.py", line 317, in emu_start
raise UcError(status)
unicorn.unicorn.UcError: Invalid memory read (UC_ERR_READ_UNMAPPED)
2019-09-13 09:21:19,438 DEBUG androidemu.internal.modules | Loading module 'example_binaries/libdl.so'.
2019-09-13 09:21:19,446 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbcb000 - 0xcbbce000, size 0x00003000, prot 5
2019-09-13 09:21:19,446 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbce000 - 0xcbbd1000, size 0x00003000, prot 3
2019-09-13 09:21:19,457 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_finalize
2019-09-13 09:21:19,457 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_atexit
2019-09-13 09:21:19,458 ERROR androidemu.internal.modules | => Undefined external symbol: __register_atfork
2019-09-13 09:21:19,462 ERROR androidemu.internal.modules | => Undefined external symbol: abort
2019-09-13 09:21:19,463 ERROR androidemu.internal.modules | => Undefined external symbol: memcpy
2019-09-13 09:21:19,485 DEBUG androidemu.emulator | Calling Init for: example_binaries/libdl.so
2019-09-13 09:21:19,875 DEBUG androidemu.internal.modules | Loading module 'example_binaries/libstdc++.so'.
2019-09-13 09:21:19,881 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbd1000 - 0xcbbd5000, size 0x00004000, prot 5
2019-09-13 09:21:19,882 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbd5000 - 0xcbbd7000, size 0x00002000, prot 3
2019-09-13 09:21:19,894 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_finalize
2019-09-13 09:21:19,894 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_atexit
2019-09-13 09:21:19,895 ERROR androidemu.internal.modules | => Undefined external symbol: __register_atfork
2019-09-13 09:21:19,896 ERROR androidemu.internal.modules | => Undefined external symbol: __errno
2019-09-13 09:21:19,896 ERROR androidemu.internal.modules | => Undefined external symbol: syscall
2019-09-13 09:21:19,897 ERROR androidemu.internal.modules | => Undefined external symbol: free
2019-09-13 09:21:19,897 ERROR androidemu.internal.modules | => Undefined external symbol: malloc
2019-09-13 09:21:19,898 ERROR androidemu.internal.modules | => Undefined external symbol: __aeabi_memclr
2019-09-13 09:21:19,898 ERROR androidemu.internal.modules | => Undefined external symbol: __aeabi_memcpy
2019-09-13 09:21:19,899 ERROR androidemu.internal.modules | => Undefined external symbol: __assert
2019-09-13 09:21:19,900 ERROR androidemu.internal.modules | => Undefined external symbol: memcpy
2019-09-13 09:21:19,900 ERROR androidemu.internal.modules | => Undefined external symbol: __stack_chk_fail
2019-09-13 09:21:19,901 ERROR androidemu.internal.modules | => Undefined external symbol: __stack_chk_guard
2019-09-13 09:21:19,901 ERROR androidemu.internal.modules | => Undefined external symbol: __strlcpy_chk
2019-09-13 09:21:19,902 ERROR androidemu.internal.modules | => Undefined external symbol: __system_property_area_serial
2019-09-13 09:21:19,902 ERROR androidemu.internal.modules | => Undefined external symbol: __system_property_find
2019-09-13 09:21:19,903 ERROR androidemu.internal.modules | => Undefined external symbol: __system_property_read
2019-09-13 09:21:19,903 ERROR androidemu.internal.modules | => Undefined external symbol: __system_property_serial
2019-09-13 09:21:19,904 ERROR androidemu.internal.modules | => Undefined external symbol: abort
2019-09-13 09:21:19,904 ERROR androidemu.internal.modules | => Undefined external symbol: android_set_abort_message
2019-09-13 09:21:19,905 ERROR androidemu.internal.modules | => Undefined external symbol: clock_gettime
2019-09-13 09:21:19,905 ERROR androidemu.internal.modules | => Undefined external symbol: close
2019-09-13 09:21:19,906 ERROR androidemu.internal.modules | => Undefined external symbol: connect
2019-09-13 09:21:19,906 ERROR androidemu.internal.modules | => Undefined external symbol: gettid
2019-09-13 09:21:19,907 ERROR androidemu.internal.modules | => Undefined external symbol: raise
2019-09-13 09:21:19,907 ERROR androidemu.internal.modules | => Undefined external symbol: pthread_mutex_trylock
2019-09-13 09:21:19,908 ERROR androidemu.internal.modules | => Undefined external symbol: pthread_mutex_unlock
2019-09-13 09:21:19,908 ERROR androidemu.internal.modules | => Undefined external symbol: socket
2019-09-13 09:21:19,909 ERROR androidemu.internal.modules | => Undefined external symbol: strlen
2019-09-13 09:21:19,909 ERROR androidemu.internal.modules | => Undefined external symbol: tolower
2019-09-13 09:21:19,910 ERROR androidemu.internal.modules | => Undefined external symbol: write
2019-09-13 09:21:19,910 ERROR androidemu.internal.modules | => Undefined external symbol: writev
2019-09-13 09:21:19,931 DEBUG androidemu.emulator | Calling Init for: example_binaries/libstdc++.so
2019-09-13 09:21:20,281 DEBUG androidemu.internal.modules | Loading module 'example_binaries/libm.so'.
2019-09-13 09:21:20,287 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbd7000 - 0xcbbf8000, size 0x00021000, prot 5
2019-09-13 09:21:20,288 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbf8000 - 0xcbbfa000, size 0x00002000, prot 3
2019-09-13 09:21:20,301 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_finalize
2019-09-13 09:21:20,301 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_atexit
2019-09-13 09:21:20,302 ERROR androidemu.internal.modules | => Undefined external symbol: __register_atfork
2019-09-13 09:21:20,302 ERROR androidemu.internal.modules | => Undefined external symbol: __stack_chk_fail
2019-09-13 09:21:20,303 ERROR androidemu.internal.modules | => Undefined external symbol: __stack_chk_guard
2019-09-13 09:21:20,303 ERROR androidemu.internal.modules | => Undefined external symbol: ldexp
2019-09-13 09:21:20,304 ERROR androidemu.internal.modules | => Undefined external symbol: isnanf
2019-09-13 09:21:20,305 ERROR androidemu.internal.modules | => Undefined external symbol: aeabi_memclr
2019-09-13 09:21:20,306 ERROR androidemu.internal.modules | => Undefined external symbol: isxdigit
2019-09-13 09:21:20,307 ERROR androidemu.internal.modules | => Undefined external symbol: memcpy
2019-09-13 09:21:20,307 ERROR androidemu.internal.modules | => Undefined external symbol: abort
2019-09-13 09:21:20,441 DEBUG androidemu.emulator | Calling Init for: example_binaries/libm.so
2019-09-13 09:21:20,967 DEBUG androidemu.internal.modules | Loading module 'example_binaries/libc.so'.
2019-09-13 09:21:20,975 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbfa000 - 0xcbc86000, size 0x0008c000, prot 5
2019-09-13 09:21:20,976 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc87000 - 0xcbc95000, size 0x0000e000, prot 3
2019-09-13 09:21:23,687 DEBUG androidemu.emulator | Calling Init for: example_binaries/libc.so
2019-09-13 09:21:23,687 DEBUG androidemu.emulator | Calling Init function: cbc11d05
2019-09-13 09:21:23,688 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc8e000, 00001000, 00000001) at 0xcbc44874
2019-09-13 09:21:23,688 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc8e000, 00001000, 00000003) at 0xcbc44874
2019-09-13 09:21:23,689 DEBUG androidemu.cpu.syscall_handlers | Executing syscall faccessat(ffffff9c, cbc14c34, 00000004, 00000000) at 0xcbc43874
2019-09-13 09:21:23,690 DEBUG androidemu.cpu.syscall_handlers | Executing syscall getpid() at 0xcbc43b14
2019-09-13 09:21:23,690 DEBUG androidemu.cpu.syscall_handlers | Executing syscall getrandom(000fff78, 00000028, 00000001) at 0xcbc1310c
2019-09-13 09:21:23,691 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 00000448, 00000003, 00000022, ffffffff, 00000000) at 0xcbc43bc4
2019-09-13 09:21:23,691 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02000000, 00000448, 0000000c) at 0xcbc4478c
2019-09-13 09:21:23,692 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02000000, 00000448, cbc379c8) at 0xcbc4497c
2019-09-13 09:21:23,693 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc8e000, 00001000, 00000001) at 0xcbc44874
2019-09-13 09:21:23,694 DEBUG androidemu.cpu.syscall_handlers | Executing syscall gettid() at 0xcbc1310c
2019-09-13 09:21:23,695 DEBUG androidemu.cpu.syscall_handlers | Executing syscall openat(ffffff9c, cbc6b384, 00020000, 00000000) at 0xcbc43be4
2019-09-13 09:21:23,695 INFO androidemu.vfs.file_system | File opened '/proc/sys/vm/overcommit_memory'
2019-09-13 09:21:23,696 DEBUG androidemu.cpu.syscall_handlers | Executing syscall read(00000003, 000feefb, 00000001) at 0xcbc44a7c
2019-09-13 09:21:23,696 INFO androidemu.vfs.file_system | Reading 1 bytes from '/proc/sys/vm/overcommit_memory'
2019-09-13 09:21:23,697 DEBUG androidemu.cpu.syscall_handlers | Executing syscall close(00000003) at 0xcbc43854
2019-09-13 09:21:23,697 INFO androidemu.vfs.file_system | File closed '/proc/sys/vm/overcommit_memory'
2019-09-13 09:21:23,700 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 00080000, 00000003, 00004022, ffffffff, 00000000) at 0xcbc43bc4
2019-09-13 09:21:23,700 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02001000, 00080000, 0000000c) at 0xcbc4478c
2019-09-13 09:21:23,701 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02001000, 00080000, cbc6b068) at 0xcbc4497c
2019-09-13 09:21:23,701 DEBUG androidemu.cpu.syscall_handlers | Executing syscall munmap(02001000, 00080000) at 0xcbc448f4
2019-09-13 09:21:23,702 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 000ff000, 00000003, 00004022, ffffffff, 00000000) at 0xcbc43bc4
2019-09-13 09:21:23,702 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02001000, 000ff000, 0000000c) at 0xcbc4478c
2019-09-13 09:21:23,703 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02001000, 000ff000, cbc6b068) at 0xcbc4497c
2019-09-13 09:21:23,703 DEBUG androidemu.cpu.syscall_handlers | Executing syscall munmap(02001000, 0007f000) at 0xcbc448f4
Traceback (most recent call last):
File "c:\Users\apls.vscode\extensions\ms-python.python-2019.9.34911\pythonFiles\ptvsd_launcher.py", line 43, in
main(ptvsdArgs)
File "c:\Users\apls.vscode\extensions\ms-python.python-2019.9.34911\pythonFiles\lib\python\ptvsd_main.py", line 432, in main
run()
File "c:\Users\apls.vscode\extensions\ms-python.python-2019.9.34911\pythonFiles\lib\python\ptvsd_main.py", line 316, in run_file
runpy.run_path(target, run_name='main')
File "D:\software\Python37\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "D:\software\Python37\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "D:\software\Python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "d:\huerr\tool\AndroidNativeEmu\samples\example_jni.py", line 52, in
emulator.load_library("example_binaries/libc.so")
File "D:\software\Python37\lib\androidemu\emulator.py", line 117, in load_library
self.call_native(fun_ptr)
File "D:\software\Python37\lib\androidemu\emulator.py", line 143, in call_native
self.mu.emu_start(addr, stop_pos - 1)
File "D:\software\Python37\lib\site-packages\unicorn\unicorn.py", line 288, in emu_start
raise UcError(status)
unicorn.unicorn.UcError: Invalid memory write (UC_ERR_WRITE_UNMAPPED)
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 232, in 'calling callback function'
File "/usr/local/lib/python3.7/site-packages/unicorn/unicorn.py", line 438, in _hookcode_cb
cb(self, address, size, data)
File "/home/centos/AndroidNativeEmu/androidemu/hooker.py", line 97, in _hook
hook_func(self._emu)
File "/home/centos/AndroidNativeEmu/androidemu/java/helpers/native_method.py", line 104, in native_method_wrapper
result = func(argv[0], mu, *native_args)
File "/home/centos/AndroidNativeEmu/androidemu/java/jni_env.py", line 344, in find_class
name = memory_helpers.read_utf8(mu, name_ptr)
File "/home/centos/AndroidNativeEmu/androidemu/utils/memory_helpers.py", line 27, in read_utf8
return buffer[:null_pos].decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 38: invalid continuation byte
2019-09-12 21:36:09,143 DEBUG androidemu.internal.modules | Loading module 'samples/example_binaries/libdl.so'.
2019-09-12 21:36:09,152 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbcb000 - 0xcbbce000, size 0x00003000, prot 5
2019-09-12 21:36:09,152 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbce000 - 0xcbbd1000, size 0x00003000, prot 3
2019-09-12 21:36:09,163 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_finalize
2019-09-12 21:36:09,163 ERROR androidemu.internal.modules | => Undefined external symbol: __cxa_atexit
2019-09-12 21:36:09,164 ERROR androidemu.internal.modules | => Undefined external symbol: register_atfork
2019-09-12 21:36:09,168 ERROR androidemu.internal.modules | => Undefined external symbol: abort
2019-09-12 21:36:09,169 ERROR androidemu.internal.modules | => Undefined external symbol: memcpy
2019-09-12 21:36:09,190 DEBUG androidemu.emulator | Calling Init for: samples/example_binaries/libdl.so
2019-09-12 21:36:11,872 DEBUG androidemu.internal.modules | Loading module 'samples/example_binaries/libc.so'.
2019-09-12 21:36:11,879 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbbd1000 - 0xcbc5d000, size 0x0008c000, prot 5
2019-09-12 21:36:11,880 DEBUG androidemu.internal.memory | => Mapping memory page 0xcbc5e000 - 0xcbc6c000, size 0x0000e000, prot 3
2019-09-12 21:36:14,596 DEBUG androidemu.emulator | Calling Init for: samples/example_binaries/libc.so
2019-09-12 21:36:14,596 DEBUG androidemu.emulator | Calling Init function: cbbe8d05
2019-09-12 21:36:14,597 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000001) at 0xcbc1b874
2019-09-12 21:36:14,597 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000003) at 0xcbc1b874
2019-09-12 21:36:14,598 DEBUG androidemu.cpu.syscall_handlers | Executing syscall faccessat(ffffff9c, cbbebc34, 00000004, 00000000) at 0xcbc1a874
2019-09-12 21:36:14,599 DEBUG androidemu.cpu.syscall_handlers | Executing syscall getpid() at 0xcbc1ab14
2019-09-12 21:36:14,599 DEBUG androidemu.cpu.syscall_handlers | Executing syscall getrandom(000fff78, 00000028, 00000001) at 0xcbbea10c
2019-09-12 21:36:14,600 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 00000448, 00000003, 00000022, ffffffff, 00000000) at 0xcbc1abc4
2019-09-12 21:36:14,600 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02000000, 00000448, 0000000c) at 0xcbc1b78c
2019-09-12 21:36:14,601 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02000000, 00000448, cbc0e9c8) at 0xcbc1b97c
2019-09-12 21:36:14,603 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mprotect(cbc65000, 00001000, 00000001) at 0xcbc1b874
2019-09-12 21:36:14,603 DEBUG androidemu.cpu.syscall_handlers | Executing syscall gettid() at 0xcbbea10c
2019-09-12 21:36:14,604 DEBUG androidemu.cpu.syscall_handlers | Executing syscall openat(ffffff9c, cbc42384, 00020000, 00000000) at 0xcbc1abe4
2019-09-12 21:36:14,604 WARNING androidemu.vfs.file_system | File does not exist '/proc/sys/vm/overcommit_memory'
2019-09-12 21:36:14,608 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 00080000, 00000003, 00000022, ffffffff, 00000000) at 0xcbc1abc4
2019-09-12 21:36:14,608 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02001000, 00080000, 0000000c) at 0xcbc1b78c
2019-09-12 21:36:14,609 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02001000, 00080000, cbc42068) at 0xcbc1b97c
2019-09-12 21:36:14,609 DEBUG androidemu.cpu.syscall_handlers | Executing syscall munmap(02001000, 00080000) at 0xcbc1b8f4
2019-09-12 21:36:14,610 DEBUG androidemu.cpu.syscall_handlers | Executing syscall mmap2(00000000, 000ff000, 00000003, 00000022, ffffffff, 00000000) at 0xcbc1abc4
2019-09-12 21:36:14,610 DEBUG androidemu.cpu.syscall_handlers | Executing syscall madvise(02001000, 000ff000, 0000000c) at 0xcbc1b78c
2019-09-12 21:36:14,611 DEBUG androidemu.cpu.syscall_handlers | Executing syscall prctl(53564d41, 00000000, 02001000, 000ff000, cbc42068) at 0xcbc1b97c
2019-09-12 21:36:14,611 DEBUG androidemu.cpu.syscall_handlers | Executing syscall munmap(02001000, 0007f000) at 0xcbc1b8f4
Traceback (most recent call last):
File "c:\Users\apls.vscode\extensions\ms-python.python-2019.9.34911\pythonFiles\ptvsd_launcher.py", line 43, in
main(ptvsdArgs)
File "c:\Users\apls.vscode\extensions\ms-python.python-2019.9.34911\pythonFiles\lib\python\ptvsd_main.py", line 432, in main
run()
File "c:\Users\apls.vscode\extensions\ms-python.python-2019.9.34911\pythonFiles\lib\python\ptvsd_main.py", line 316, in run_file
runpy.run_path(target, run_name='main')
File "D:\software\Python37\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "D:\software\Python37\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "D:\software\Python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "d:\huerr\tool\AndroidNativeEmu\example_jni.py", line 50, in
emulator.load_library("samples/example_binaries/libc.so")
File "d:\huerr\tool\AndroidNativeEmu\androidemu\emulator.py", line 117, in load_library
self.call_native(fun_ptr)
File "d:\huerr\tool\AndroidNativeEmu\androidemu\emulator.py", line 143, in call_native
self.mu.emu_start(addr, stop_pos - 1)
File "D:\software\Python37\lib\site-packages\unicorn\unicorn.py", line 288, in emu_start
raise UcError(status)
unicorn.unicorn.UcError: Invalid memory write (UC_ERR_WRITE_UNMAPPED)
D:\AndroidNativeEmu-master\samples>python example.py
Traceback (most recent call last):
File "example.py", line 7, in
from androidemu.emulator import Emulator
File "D:\AndroidNativeEmu-master\samples\androidemu\emulator.py", line 15, in
from androidemu.hooker import Hooker
File "D:\AndroidNativeEmu-master\samples\androidemu\hooker.py", line 1, in
from keystone import Ks, KS_ARCH_ARM, KS_MODE_THUMB
ImportError: cannot import name 'Ks' from 'keystone' (D:\Python37\lib\site-packages\keystone_init_.py)
I'm new to keystone, got this message when fisrt run example,
did lots of google but no idea how to fix it.
If Jni_Onload is not in the native library, ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type,
self.mu.emu_start(addr, stop_pos - 1)
File "/usr/local/lib/python3.7/dist-packages/unicorn/unicorn.py", line 286, in emu_start
status = _uc.uc_emu_start(self._uch, begin, until, timeout, count)
ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type
换了个抖音7.0版本的libsms.so就不行了,是什么原因,我看参数是一样的呀?望大神解获!
Installing collected packages: pyelftools, keystone-engine
Running setup.py install for keystone-engine ... error
ERROR: Command errored out with exit status 1:
command: 'd:\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\ADMINI1\AppData\Local\Temp\pip-install-cbd15e1\AppData\Local\Temp\pip-install-cbd15efl\keystone-engine\setup.py'"'"';f=getattr(tokenize, '
fl\keystone-engine\setup.py'"'"'; file='"'"'C:\Users\ADMINI
"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users
ADMINI1\AppData\Local\Temp\pip-record-zsmsjkxb\install-record.txt' --single-version-externally-managed --compile --install-headers 'd:\python\python37\Include\keyston1\AppData\Local\Temp\pip-install-cbd15efl\keystone-engine
e-engine'
cwd: C:\Users\ADMINI
Complete output (27 lines):
d:\python\python37\lib\site-packages\setuptools\dist.py:397: UserWarning: Normalizing '0.9.1-3' to '0.9.1.post3'
normalized_version,
running install
running build
running build_py
creating build
creating build\lib
creating build\lib\keystone
copying keystone\arm64_const.py -> build\lib\keystone
copying keystone\arm_const.py -> build\lib\keystone
copying keystone\hexagon_const.py -> build\lib\keystone
copying keystone\keystone.py -> build\lib\keystone
copying keystone\keystone_const.py -> build\lib\keystone
copying keystone\mips_const.py -> build\lib\keystone
copying keystone\ppc_const.py -> build\lib\keystone
copying keystone\sparc_const.py -> build\lib\keystone
copying keystone\systemz_const.py -> build\lib\keystone
copying keystone\x86_const.py -> build\lib\keystone
copying keystone_init_.py -> build\lib\keystone
running build_clib
running custom_build_clib
building 'keystone' library
'..' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
running install_lib
running install_data
error: can't copy 'src\build\llvm\lib\libkeystone.so': doesn't exist or not a regular file
----------------------------------------
ERROR: Command errored out with exit status 1: 'd:\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\ADMINI1\AppData1\AppData\Local\Temp\pip-install-cbd15efl\keystone-engine\se
\Local\Temp\pip-install-cbd15efl\keystone-engine\setup.py'"'"'; file='"'"'C:\Users\ADMINI
tup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'
"'))' install --record 'C:\Users\ADMINI~1\AppData\Local\Temp\pip-record-zsmsjkxb\install-record.txt' --single-version-externally-managed --compile --install-headers 'd
:\python\python37\Include\keystone-engine' Check the logs for full command output.
maybe added in jni_env.py
but I am not sure, there is a big table under hooker.write_function_table but the index is not the same as JNIEnv's offset. how could I add EnsureLocalCapacity in it ?
Hi,
I follow the Readme file to run the example.py in Ubuntu 16.04 + python 3.7 but failed to load the dynamic library.
here is the log:
sudo python3.7 example.py
Traceback (most recent call last):
File "example.py", line 7, in
from androidemu.emulator import Emulator
File "/home/prudencemed/AndroidNativeEmu/samples/androidemu/emulator.py", line 12, in
from androidemu.hooker import Hooker
File "/home/prudencemed/AndroidNativeEmu/samples/androidemu/hooker.py", line 1, in
from keystone import Ks, KS_ARCH_ARM, KS_MODE_THUMB
File "/usr/local/lib/python3.7/dist-packages/keystone/init.py", line 4, in
from .keystone import Ks, ks_version, ks_arch_supported, version_bind, debug, KsError, version
File "/usr/local/lib/python3.7/dist-packages/keystone/keystone.py", line 75, in
raise ImportError("ERROR: fail to load the dynamic library.")
ImportError: ERROR: fail to load the dynamic library.
Could you help for this?
Thanks,
Wenhui
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.