Skip to main content

程序保护中的问题汇总

1.保护中,提示"部分被保护的函数设置了不支持的保护方式"?

答:出现这个弹错的原因是函数选择了不支持的保护方式,可以点击“添加函数”,然后勾选“仅显示不支持的函数”,然后修改显示出的函数保护方式,例如从代码加密修改为混淆。

2.添加函数如何能显示函数名称?

答:将生成的map或pdb文件同待保护程序放到同一个目录下,则可以解析出函数名称,参考显示程序的函数名文档。

特别提醒

特别提醒:如果是BSJS和C/C++ program database这种pdb格式,工具不支持无法解析出函数名称。如果不确定可以使用notepad++打开pdb,截图最开头显示内容发给客服确认。

3.如何实现批量文件的加密操作呢?

答:加密工具支持多个文件批量加密,参考多个文件批量保护的使用流程文档。

4.什么情况下函数不能加密只能混淆?

答:1)函数列表中没有名称的函数,存在从函数外部跳转到函数内部时,不能加密;

2)函数过小,则既不能加密也不能混淆;

加密:arm32/arm64指令要求最小4字节,Thumb指令要求最小12字节,x86/x64要求最小10字节

混淆:arm32/arm64/thumb指令最小4字节, x86/x64最小5字节

5.加密后软件的输出如何指定目录?

答:可以单独设置 , 如下图:

native-1

6.加壳工具解析出来的函数数量跟实际数量不符?

答:编译的时候不要去掉符号表,加完壳会自动去掉符号表,符号表能帮助加壳工具解析函数。

7.出现“请输入合法的输出文件名” 如下图,如何处理?

native-2

答:出现该错误说明设置的输出路径有问题,建议将配置文件ssp删除,重新解析程序即可。

8.为什么有些函数虚拟化或混淆不支持?

答:编译器有时会把有些小函数优化(比如没有任何函数调用),局部变量的内存访问不分配栈直接访问;我们的混淆和虚拟化都是基于栈的,这种函数无法混淆。

9.多个文件如何可以批量加密和指定保存目录?

答:操作流程如下

1)设置一个dll的加密选项;2)全选dll,然后右键第一个dll,选择复用加密选项;3)全选dll,右键设置保护输出目录;4)点击【保护所有选中项目】。

10.arx为什么不显示压缩?

答:导入目录中含有ACAD.exe中,代码中会直接将压缩过滤掉了,不显示。