火龙果软件工程技术中心摘要:所谓SMC(SelfModifyingCode)技术,就是一种将可执行文件中的代码或数据进行加密,防止别人使用逆向工程工具(比如一些常见的反汇编工具)对程序进行静态分析的方法,只有程序运行时才对代码和数据进行解密,从而正常运行程序和访问数据。
计算机病毒通常也会采用SMC技术动态修改内存中的可执行代码来达到变形或对代码加密的目的,从而躲过杀毒软件的查杀或者迷惑反病毒工作者对代码进行分析。
由于该技术需要直接读写对内存中的机器码,所以多采用汇编语言实现,这使得很多想在自己的程序中使用SMC技术进行软件加密的C/C++程序员望而却步。
针对这种现状,本文提出了几种基于C/C+
1
SRILM源代码阅读笔记。
主要针对SRILM的ngram的训练,即ngram-count。
7个文件:1.类图.jpg:与ngram-count相关的主要类的静态图(使用了starUML的逆向工程工具);
2.ngram-count.jpg:从语料训练出模型的主要流程;
3.lmstats.countfile.jpg:ngram-count的子流程,用于构建词汇表和统计ngram的频度;
4.ngram.estimate.jpg:ngram-count的子流程,在词汇表和ngram频度的基础上计算ngram条件概率以及backoff权值的过程;
5.ngram.read.jpg:与训练无关,读取ARPA格式的语言模型的过程;
6.SRILM.uml:以上5个文件的原始图,以StarUML绘制(利用StarUML可直接编辑)7.SRILM.vsd:ngram-count相关的主要数据结构的内存布局+ngram条件概率计算公式的参数说明,以visio绘制(利用visio可直接编辑)
2024/7/15 8:41:17 4.87MB SRILM 源代码 分析 ngram
1
本人最近学习了传智播客的一个电商项目,把里面用到的工具和大家分享一下,方便大家的javaweb的学习。
-Mybatis分页插件-PageHelper,Mybatis的逆向工程工具类
2024/4/25 6:35:58 6.42MB javaee
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡