Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

调用so时出现unicorn.UnicornException: Invalid argument (UC_ERR_ARG)错误 #79

Open
weechatfly opened this issue Jan 6, 2020 · 1 comment

Comments

@weechatfly
Copy link

作者,你好,我在调用一个so的函数的时出现以下错误,请教下如何解决:
[10:55:10 266] DEBUG [cn.banny.unidbg.linux.ARMSyscallHandler] (ARMSyscallHandler:1493) - prctl addr=unicorn@0x40013000[libc++.so]0x1000, len=4096, pointer=unicorn@0x4028fec8[libcms.so]0x8fec8, name=czl-file
[10:55:10 267] DEBUG [cn.banny.unidbg.linux.ARMSyscallHandler] (ARMSyscallHandler:1616) - mprotect address=0x40013000, alignedAddress=0x40013000, offset=0, length=4096, alignedLength=4096, prot=0x1
[10:55:10 268] DEBUG [cn.banny.unidbg.linux.ARMSyscallHandler] (ARMSyscallHandler:1790) - close fd=10
[10:55:10 270] DEBUG [cn.banny.unidbg.unix.UnixSyscallHandler] (UnixSyscallHandler:330) - fstat fd=0, stat=unicorn@0xbfffe5e0
[10:55:10 270] DEBUG [cn.banny.unidbg.unix.UnixSyscallHandler] (UnixSyscallHandler:339) - fstat file=cn.banny.unidbg.linux.file.Stdin@2ef5e5e3, stat=unicorn@0xbfffe5e0
[10:55:10 272] DEBUG [cn.banny.unidbg.linux.ARMSyscallHandler] (ARMSyscallHandler:1637) - mmap2 start=0x0, length=-1073741824, prot=0x3, flags=0x22, fd=-1, offset=0
[10:55:10 273] DEBUG [cn.banny.unidbg.spi.AbstractLoader] (AbstractLoader:117) - mmap2 addr=0x40006000, mmapBaseAddress=0x40292000, start=0, fd=-1, offset=0, aligned=-1073737728, LR=unicorn@0x400c57a3[libc.so]0x1e7a3
[10:55:10 274] WARN [cn.banny.unidbg.linux.ARMSyscallHandler] (ARMSyscallHandler:403) - handleInterrupt intno=2, NR=192, svcNumber=0x0, PC=unicorn@0x400e7bf8[libc.so]0x40bf8, syscall=null
unicorn.UnicornException: Invalid argument (UC_ERR_ARG)
at unicorn.Unicorn.mem_map(Native Method)
at cn.banny.unidbg.spi.AbstractLoader.mmap2(AbstractLoader.java:118)
at cn.banny.unidbg.linux.ARMSyscallHandler.mmap2(ARMSyscallHandler.java:1640)
at cn.banny.unidbg.linux.ARMSyscallHandler.hook(ARMSyscallHandler.java:271)
at unicorn.Unicorn.invokeInterruptCallbacks(Unicorn.java:123)
at unicorn.Unicorn.emu_start(Native Method)
at cn.banny.unidbg.AbstractEmulator.emulate(AbstractEmulator.java:302)
at cn.banny.unidbg.AbstractEmulator.eFunc(AbstractEmulator.java:400)
at cn.banny.unidbg.arm.AbstractARMEmulator.eFunc(AbstractARMEmulator.java:205)
at cn.banny.unidbg.linux.LinuxModule.emulateFunction(LinuxModule.java:203)
at cn.banny.unidbg.linux.android.dvm.DvmClass.callStaticJniMethod(DvmClass.java:209)
at cn.banny.unidbg.android.dx.DxSoUtilTest.Xgor(DxSoUtilTest.java:1347)
at cn.banny.unidbg.android.dx.DxSoUtilTest.main(DxSoUtilTest.java:1106)
unicorn.UnicornException: Invalid argument (UC_ERR_ARG)
at unicorn.Unicorn.mem_map(Native Method)
at cn.banny.unidbg.spi.AbstractLoader.mmap2(AbstractLoader.java:118)
at cn.banny.unidbg.linux.ARMSyscallHandler.mmap2(ARMSyscallHandler.java:1640)
at cn.banny.unidbg.linux.ARMSyscallHandler.hook(ARMSyscallHandler.java:271)
at unicorn.Unicorn.invokeInterruptCallbacks(Unicorn.java:123)
at unicorn.Unicorn.emu_start(Native Method)
at cn.banny.unidbg.AbstractEmulator.emulate(AbstractEmulator.java:302)
at cn.banny.unidbg.AbstractEmulator.eFunc(AbstractEmulator.java:400)
at cn.banny.unidbg.arm.AbstractARMEmulator.eFunc(AbstractARMEmulator.java:205)
at cn.banny.unidbg.linux.LinuxModule.emulateFunction(LinuxModule.java:203)
at cn.banny.unidbg.linux.android.dvm.DvmClass.callStaticJniMethod(DvmClass.java:209)
at cn.banny.unidbg.android.dx.DxSoUtilTest.Xgor(DxSoUtilTest.java:1347)
at cn.banny.unidbg.android.dx.DxSoUtilTest.main(DxSoUtilTest.java:1106)
debugger break at: 0x400e7bf8
=> [ libc.so][0x40bf8]*[ f0 00 bd e8 ]*0x400e7bf8:*pop {r4, r5, r6, r7}
[ libc.so] [0x40bfc] [ 01 0a 70 e3 ] 0x400e7bfc: cmn r0, #0x1000
[ libc.so] [0x40c00] [ 1e ff 2f 91 ] 0x400e7c00: bxls lr
[ libc.so] [0x40c04] [ 00 00 60 e2 ] 0x400e7c04: rsb r0, r0, #0
[ libc.so] [0x40c08] [ 5d 86 00 ea ] 0x400e7c08: b #0x40109584
[ libc.so] [0x40c0c] [ 07 c0 a0 e1 ] 0x400e7c0c: mov ip, r7
[ libc.so] [0x40c10] [ eb 70 a0 e3 ] 0x400e7c10: mov r7, #0xeb
[ libc.so] [0x40c14] [ 00 00 00 ef ] 0x400e7c14: svc #0
[ libc.so] [0x40c18] [ 0c 70 a0 e1 ] 0x400e7c18: mov r7, ip
[ libc.so] [0x40c1c] [ 01 0a 70 e3 ] 0x400e7c1c: cmn r0, #0x1000

@spacehehe1
Copy link

你好,请问问题解决了么?遇到了相同的问题

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants