-
Notifications
You must be signed in to change notification settings - Fork 978
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
svcNumber=0x103 这个找不到在哪,麻烦看下样本链接 aHR0cHM6Ly93d3cud2FuZG91amlhLmNvbS9hcHBzLzYyMzM3MzkvaGlzdG9yeV92ODQzMTE0MQ== #699
Comments
哥们 解决了吗?我也遇到了; |
@createnewdemo 没,要不要一起研究研究,我问了下其它人说都不行 |
q320783214 一起研究一下 |
这问题解决了吗 |
@airqj 暂无方法 |
你们的xhs是什么版本,为啥我没遇到这样的问题 |
@2382323268 8+以上都有 |
为什么我是直接返回null,是有哪里没补到吗 |
@2382323268 截图看看 |
// 1.创建设备(32位或64位模拟器), 具体看so文件在哪个目录。 在armeabi-v7a就选择32位
emulator = AndroidEmulatorBuilder
.for64Bit()
.addBackendFactory(new Unicorn2Factory(true))
.setProcessName(unidbgSoEnum.getPackageName()).build();
// 2.获取内存对象(可以操作内存)
memory = emulator.getMemory();
// 3.设置安卓sdk版本(只支持19、23)
memory.setLibraryResolver(new AndroidResolver(23));
// 4.创建虚拟机(运行安卓代码需要虚拟机,就想运行py代码需要python解释器一样)
vm = emulator.createDalvikVM(new File(path + unidbgSoEnum.getApk()));
function.apply(emulator, vm, memory);
vm.setJni(this);
//是否展示调用过程的细节
vm.setVerbose(true);
emulator.getSyscallHandler().addIOResolver(this);
// 5.加载so文件
DalvikModule dm = }vm.loadLibrary(unidbgSoEnum.getSo(), true);
// traceCode()可以查看so文件中的调用过程
// emulator.traceCode();
// 6.dm代表so文件,dm.getModule()得到module对象,基于module对象可以访问so中的成员。
module = dm.getModule();
dm.callJNI_OnLoad(emulator);
public Object a() {
DvmClass cls = vm.resolveClass("com/xxx/tiny/internal/t");
String method = "a(I[Ljava/lang/Object;)Ljava/lang/Object;";
ArrayObject arrayObject = new ArrayObject(new StringObject(vm, "POST"), new StringObject(vm, "https://xxx.xxx.com/test"), new ByteArray(vm, "test".getBytes(StandardCharsets.UTF_8)));
DvmObject<?> dvmObject = cls.callStaticJniMethodObject(emulator, method, 0, arrayObject);
System.out.println("dvmObject = " + dvmObject);
return null;
} 下面是控制台输出
|
@sign-cc 要不要留个q或者v交流一下,我这啥错都不报 |
@2382323268 你没有跑初始化 |
啥意思,我看源码只有一个native方法呀 |
|
@2382323268 frida hook 下面的函数 |
这个参数是828356434,但是还是不行 |
@2382323268 你根据函数偏移地址来hook so方法,打印int参数你就知道了 在 828356434 还有俩初始化 |
偏移地址hook还没学,我直接hook方法发现被调用了好多次,是少了154082137和816426162吗 |
@2382323268 不是,你先学学吧 |
找到函数地址了 hook不了, 可能是我用模拟器的原因,,, |
@2382323268 libmasao的过检测方式,你去搜搜 |
public abstract java.io.File android.content.Context.getSharedPreferencesPath(java.lang.String)。 这个问题解决了吗。应该怎么构造呢 |
@2382323268 你图片上传失败了 |
@wucaizi 暂无解决方法 |
你哪个反射的可以解决,你有开多线程吗 我卡在哪里了 |
@2382323268 反射你怎么解决掉的 |
留个微信交流呗,我卡住了 看看能不能一起解决 |
看见直接加我v吧 wxw991203 |
@2382323268 加了 |
call JNIOnLoad @sign-cc 哥能不能一块研究一下,Wan9xyo我的v |
list 0 :-1534962946
[14:48:53 785] DEBUG [com.github.unidbg.linux.android.dvm.BaseVM] (BaseVM:146) - addObject hash=0x76f84423, global=true
[14:48:53 785] DEBUG [com.github.unidbg.linux.android.dvm.BaseVM] (BaseVM:146) - addObject hash=0xffffffff857edf86, global=true
[14:48:53 785] DEBUG [com.github.unidbg.linux.android.dvm.BaseVM] (BaseVM:146) - addObject hash=0x6737fd8f, global=true
JNIEnv->CallStaticObjectMethodV(class com/xingin/tiny/internal/t, b(0xa48252fe, [class android/content/Context, "getSharedPreferencesPath", ["String"]]) => java.lang.reflect.Method@6737fd8f) was called from RX@0x1219c934[libtiny.so]0x19c934
[14:48:53 786] DEBUG [com.github.unidbg.linux.android.dvm.BaseVM] (BaseVM:146) - addObject hash=0x6737fd8f, global=false
[14:48:53 786] DEBUG [com.github.unidbg.linux.android.dvm.DalvikVM64] (DalvikVM64$225:3563) - ExceptionCheck throwable=null
[14:48:53 786] DEBUG [com.github.unidbg.linux.android.dvm.DalvikVM64] (DalvikVM64$234:3901) - GetEnv vm=unidbg@0xfffe0080, env=unidbg@0x799e72a69aeb4952, version=0x10006
[14:48:53 786] DEBUG [com.github.unidbg.linux.android.dvm.DalvikVM64] (DalvikVM64$20:309) - DeleteLocalRef object=unidbg@0x63e2203c
[14:48:53 786] DEBUG [com.github.unidbg.linux.android.dvm.DalvikVM64] (DalvikVM64$234:3901) - GetEnv vm=unidbg@0xfffe0080, env=unidbg@0xfffe1640[libmediandk.so]0x640, version=0x10006
[14:48:53 786] DEBUG [com.github.unidbg.linux.android.dvm.DalvikVM64] (DalvikVM64$20:309) - DeleteLocalRef object=unidbg@0x3b084709
[14:48:53 786] WARN [com.github.unidbg.linux.ARM64SyscallHandler] (ARM64SyscallHandler:410) - handleInterrupt intno=2, NR=-130880, svcNumber=0x103, PC=unidbg@0xfffe00c4, LR=RX@0x12249e28[libtiny.so]0x249e28, syscall=null
java.lang.UnsupportedOperationException
at com.github.unidbg.linux.android.dvm.DalvikVM64$4.handle(DalvikVM64.java:96)
at com.github.unidbg.linux.ARM64SyscallHandler.hook(ARM64SyscallHandler.java:119)
at com.github.unidbg.arm.backend.Unicorn2Backend$11.hook(Unicorn2Backend.java:352)
at com.github.unidbg.arm.backend.unicorn.Unicorn$NewHook.onInterrupt(Unicorn.java:109)
at com.github.unidbg.arm.backend.unicorn.Unicorn.emu_start(Native Method)
at com.github.unidbg.arm.backend.unicorn.Unicorn.emu_start(Unicorn.java:312)
at com.github.unidbg.arm.backend.Unicorn2Backend.emu_start(Unicorn2Backend.java:389)
at com.github.unidbg.AbstractEmulator.emulate(AbstractEmulator.java:378)
at com.github.unidbg.thread.Function64.run(Function64.java:39)
at com.github.unidbg.thread.MainTask.dispatch(MainTask.java:19)
at com.github.unidbg.thread.UniThreadDispatcher.run(UniThreadDispatcher.java:165)
at com.github.unidbg.thread.UniThreadDispatcher.runMainForResult(UniThreadDispatcher.java:97)
at com.github.unidbg.AbstractEmulator.runMainForResult(AbstractEmulator.java:341)
at com.github.unidbg.arm.AbstractARM64Emulator.eFunc(AbstractARM64Emulator.java:262)
at com.github.unidbg.Module.emulateFunction(Module.java:163)
at com.github.unidbg.linux.android.dvm.DvmObject.callJniMethod(DvmObject.java:135)
at com.github.unidbg.linux.android.dvm.DvmClass.callStaticJniMethodObject(DvmClass.java:316)
at com.xhs._8431.Tiny.init1(Tiny.java:1122)
at com.xhs._8431.Tiny.main(Tiny.java:1167)
debugger break at: 0xfffe00c4 @ Runnable|Function64 address=0x120d2544, arguments=[unidbg@0xfffe1640[libmediandk.so]0x640, -1733448322, 1184568860, 36333492]
The text was updated successfully, but these errors were encountered: