能力值:
( LV6,RANK:90 )
|
-
-
26 楼
我发现可以不需要显式地load libc.so、libm.so等文件,\unidbg\unidbg-android\src\main\resources\android\ 这个地方自带了sdk19和sdk23,只要把AndroidResolver设为23,它就会自动加载所需的系统so
|
能力值:
( LV1,RANK:0 )
|
-
-
27 楼
大佬,有联系方式可以留个吗 请教下问题
|
能力值:
( LV3,RANK:20 )
|
-
-
28 楼
大佬,有没有研究过java平坦流混淆去除?
|
能力值:
( LV9,RANK:160 )
|
-
-
29 楼
alds
大佬,有没有研究过java平坦流混淆去除?
没有
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
写的很好,大佬能多详细的分享一些基础的内容吗?让新人学习学习。
|
能力值:
( LV1,RANK:0 )
|
-
-
31 楼
大牛,请问一下学习路线是怎样的
|
能力值:
( LV3,RANK:20 )
|
-
-
32 楼
大佬这个AntiOllvm.java 下载过期了,可以在分享一次吗
|
能力值:
( LV1,RANK:0 )
|
-
-
33 楼
感谢分享
|
能力值:
( LV1,RANK:0 )
|
-
-
34 楼
赞,感谢分享!
|
能力值:
( LV2,RANK:10 )
|
-
-
35 楼
请教一下大佬,第一次跑完BR X9,之后,这些分支没有执行到,根据提示修改寄存器w8的值跳转 这里的这个跳转实际测试来看,好像没有跳转到,不知道是不是版本不一样的原因
是否有其他思路这里让没有执行到的分支执行一下
|
能力值:
( LV3,RANK:20 )
|
-
-
36 楼
bluth
请教一下大佬,第一次跑完BR X9,之后,这些分支没有执行到,根据提示修改寄存器w8的值跳转这里的这个跳转实际测试来看,好像没有跳转到,不知道是不是版本不一样的原因是否有其他思路这里让没有执行到的分支 ...
你将62144 的w8改为0,会执行62158
|
能力值:
( LV3,RANK:20 )
|
-
-
37 楼
bluth
请教一下大佬,第一次跑完BR X9,之后,这些分支没有执行到,根据提示修改寄存器w8的值跳转这里的这个跳转实际测试来看,好像没有跳转到,不知道是不是版本不一样的原因是否有其他思路这里让没有执行到的分支 ...
按照我说的,加入造成死循环,那么就按照楼主说的,标志当前位置,下次调用procBr时就patch,退出
|
能力值:
( LV1,RANK:0 )
|
-
-
38 楼
大佬,像getRegValue,readInt64是哪个库的
|
能力值:
( LV1,RANK:0 )
|
-
-
39 楼
大佬,String condBr = "b"+cond.toLowerCase(Locale.ROOT) + " 0x"+ Integer.toHexString((int) (offset1 - addinstaddr)); 这个地方为什么还需要 减去 addinstaddr
|
能力值:
( LV9,RANK:160 )
|
-
-
40 楼
wx_justght
大佬,像getRegValue,readInt64是哪个库的[em_85]
我自己写的hh
|
能力值:
( LV2,RANK:10 )
|
-
-
41 楼
支持一下 不过使用frida stalker效果也不错
|
能力值:
( LV1,RANK:0 )
|
-
-
42 楼
memory.setLibraryResolver(new AndroidResolver(26)); 26版本这么来的有吗? unidbg原码里只有19,23
|
能力值:
( LV1,RANK:0 )
|
-
-
43 楼
想问下代码里面的libtprt5.so和libtprt6.so是怎么来的,原apk里面就是这样的名字吗
|
能力值:
( LV2,RANK:10 )
|
-
-
44 楼
写的真好 高级帖
|
能力值:
( LV1,RANK:0 )
|
-
-
45 楼
厉害了
|
能力值:
( LV1,RANK:0 )
|
-
-
46 楼
你好,冒昧问一句,这个地方你是不是写错了。
文章第一张截图可知W11=0x6E221A17,W12=0x6E142EC8
文章说用unidbg修改0x5E5AC处W8的值为1
可是
如果上面一条指令w8等于0,那么W8=W11>W12,下面会执行B loc_5E678
如果W8不等于0,那么W8=W12,依然会执行B loc_5E678,
b.lt是小于才会跳转,无论W8等于W11还是W12始终无法是进入B.LT loc_5E5CC,
你是怎么进入loc_5E5CC分支的。
另外感觉你这里面,好多值都是肉眼观察然后硬编码上去的,
你是不是看了程序运行流程,然后肉眼剔除掉多的部分,然后实现的还原,
那这样好像没多少意义了,想问一下目前有没有通用一点的办法。
|
能力值:
( LV1,RANK:0 )
|
-
-
47 楼
qdesy
请问reorderblock()函数中最后的这段代码里,toend和0x5E674L都是怎么得到的。toend被硬编码成private static final long toend = 0x5E6B ...
兄弟,能大家一起探讨下吗
|
能力值:
( LV1,RANK:0 )
|
-
-
48 楼
|
能力值:
( LV1,RANK:0 )
|
-
-
49 楼
秋狝
感谢分享
大哥,能请教下问题吗
|
能力值:
( LV1,RANK:0 )
|
-
-
50 楼
感谢大佬的分享,在还原平坦化的时候,代码中的tbs.add(new TrueBlock(0x6e142ec8L,0x5E6B0)); 这个 0x5E6B0,不知道怎么来的,要是上传在分析时的样本就好了,这样我们便能分析 猜这些值怎么来的,或者大佬在文中解释下。感谢
|
|
|