首页
论坛
课程
招聘
[未解决,已结帖] [求助]Unidbg的Jnionload 加载出的类是乱码 1000.00元
2021-4-4 10:06 1816

[未解决,已结帖] [求助]Unidbg的Jnionload 加载出的类是乱码 1000.00元

2021-4-4 10:06
1816

最近在学习反ollvm 拿一个so练手, 发现只在特定SO出现 比如libcms.so lo 在Unidbg下 RegisterNative与FindClass 获取到的classname都是乱码!

 

 

有人遇见过并有解决方案吗?


[看雪官方培训] Unicorn Trace还原Ollvm算法!《安卓高级研修班》2021年6月班火热招生!!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_普贤 活跃值 2021-4-8 03:35
2
0
乱码产生的原因只有一种就是字符集与编码不一致,字符集用来查表,编码用于填充内存数据,编码是一个手拉手的过程,举个例子,A进程从数据库进程B拿到一条数据,经过输出打印到控制台出现乱码,排查的过程应该先查看数据库是否是乱码,如果数据库正常则查看数据库编码,再查看应用程序A采用什么编码进行解析,尤其是java这门语音,他不是原封不动的把字节数组保留在内存,当你用字符串String类型接收的时候,需要给他指定一个编码,如果没有指定则按照操作系统的编码进行解析,一般中文操作系统默认代码页都是936即GBK编码,也可以通过运行Java虚拟机时指定编码方式,通过参数-Dfile.encoding=xxx来指定,如果解析的编码仍然是对的,也不能保证输出就一定不乱码,输出这一步是通过流来完成的,仍然需要指定正确的编码方式,字节流在字符串解析成字节这一步已经做了编码解析,如果是字符流默认是以-Dfile.encoding=xxx指定的编码来解析文本内容到字节的,这里只是指出了一种排查思路,希望能对楼主有用
雪    币: 739
活跃值: 活跃值 (207)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
至尊小仙侠 活跃值 2021-4-8 10:35
3
0
wx_普贤 乱码产生的原因只有一种就是字符集与编码不一致,字符集用来查表,编码用于填充内存数据,编码是一个手拉手的过程,举个例子,A进程从数据库进程B拿到一条数据,经过输出打印到控制台出现乱码,排查的过程应该先查 ...
我把内存拿出来看了 跟编码没关系   而且这里面都是英文字符 不存在中文。  这个问题是so的字符串都被加密了 但是解密函数没有正确运行 导致字符串没有解密,  不过还是谢谢你了
游客
登录 | 注册 方可回帖
返回