SlideShare una empresa de Scribd logo
1 de 39
检查类 cppcheck共有15个检查类实现了其检查功能
自动变量检查 自动变量问题 自动变量也就是局部变量,存储空间在栈stack中,函数结束时空间被释放,如果此时变量地址被外部空间的函数使用,将会引起错误。 自动变量暴露到外部窗口 从参数(指向地址变量指针即指向指针的指针)    return 全局指针变量… 其他 ….
自动变量检查 错误举例:
自动变量检查 实现类 class CheckAutoVariables
Class CheckAutoVariables autoVariables(); 检查自动变量 returnPointerToLocalArray();  检查是否返回了指向局部数组的指针 returnReference()   检查是否返货了指向局部变量的引用 returncstr()  检查是否返回局部字符串
CheckAutoVariables.autoVariables() 实现: 关键变量: std::set<std::string> fp_list; 函数参数中指向指针的指针参数集合     std::set<unsigned int> vd_list;    自动变量集合     std::set<unsigned int> vda_list;   自动变量数组集合 std::set<unsigned int> unknown_type; boolbegin_function = false;         进入函数的标志 boolbegin_function_decl = false    进入函数参数声明部分标志 函数
CheckAutoVariables.autoVariables() 错误捕获特征 自动变量地址被赋给函数参数 “[;{}] %var% = & %var%"  %var%是fp_list . %var% in vd_list "[;{}] * %var% = & %var%"  %var%是fp_list . %var% in vd_list "[;{}] %var% [ %any% ] = & %var%“ %var%是fp_list . %var% in vd_list   自动变量地址返回 "return & %var% ;"  %var% in vd_list 无效空间释放  "free ( %var% ) ;" isAutoVarArray  %var% in vda_list
.returnPointerToLocalArray() 提取数组特征 "[;{}] %type% %var% [“ 将所有数组变量加入到        std::set<unsigned int>arrayVar 错误特征 “return %var%” 且 %var% 在集合arrayVar中
返回引用函数的问题 当f()运行结束时 str_local其实已经被释放了。  *好消息是 gcc就能查出此类问题
.returnReference() 描述:检查返回自动变量引用的函数 (error) Returning reference to auto variable 关键数据  std::set<unsigned int> localvar; 存储所有发现的自动变量 寻找目标函数——返回引用的函数 函数特征 "%type% & %var% (“ 或"> & %var% ("
.returnReference() 提取数组特征 “[;{}] %type% %var% [”  或“%type% < %any% > %var%”; 将所有自动变量 加入到localvar   错误特征 “return %var% ; ” 且 %var% 在集合calvar中
.returncstr() 描述:检查返回字符串自动地址的函数 	(error) Returning pointer to auto variable 关键数据 std::set<unsigned int> localvar; 存储所有发现的自动变量 寻找目标函数——返回字符串的函数 特征 "const char *"  或"> & %var% ("
.returncstr() 提取变量特征   "%type% %var% [;=]" localvar.insert(tok2->next()->varId());   将所有自动变量 加入到localvar 错误特征 "return %var% . c_str ( ) ;“且 %var% 在集合localvar中
存在问题 没有处理指针传递 识别不精确 错误检查不精确
缓冲区溢出检查 缓冲区溢出问题 缓冲区也就是一块内存空间,它可以是在栈中的局部变量(例如,静态数组),也可以是堆中的内存区域,程序中动态产生(例如,malloc,C++支持的动态数组)变量也就是局部变量。 所谓溢出也就是访问的地址空间超出了缓冲区内存区域,常见有两种方式导致溢出,一是显示的index越界,如数组越界,另外就是一些内存操作函数使用不当引发,如memcpy,memset…等内存操作函数
缓冲区溢出检查 错误举例:
缓冲区溢出检查 实现类class CheckBufferOverrun
缺陷 不支持指针传递 识别缓冲区精确度不高 动态数组,malloc固定空间等缓冲区不能识别 字符串常量 char* p=“hello”           (注:这段空间不是缓冲区,不可写哦) 内存操作函数检查的覆盖面不光,及一些双内存空间操作检查的不好 如memcpy(void *destin, void *source, unsigned n);
类检查 面向对象编程问题 c++的面向对象编程存在一些安全隐患,一些经典的c++编程书籍都有提到,cppcheck实现了《effective c++》中提到的一些安全隐患检查 如:多态基类需要实现vitual的析构函数 不在构造和析构函数中使用vitual函数 		operator = 必须返回*this 	    operator = 需处理自我赋值的情况 		…… 这些特性要加 –s  才启动
类检查 实现类class CheckClass
类检查 主要实现函数 checkClass.constructors(); checkClass.operatorEq(); checkClass.privateFunctions(); checkClass.thisSubtraction(); checkClass.checkConst(); checkClass.virtualDestructor(); checkClass.operatorEqToSelf(); checkClass.operatorEqRetRefThis();
其他检查
检查扩充 Cppcheck预留接口class checkother
内存泄露检查 内存泄露问题  内存泄露指的是在程序运行时,动态的申请了内存(堆),但是使用过后没有释放,导致一些内存永远得不到收回。 这是cppcheck最有价值的检查功能,也是实现代码最长的一块检查
内存泄露检查 实现类 class CheckMemoryLeakStructMember class CheckMemoryLeakInFunction class CheckMemoryLeakInClass class CheckMemoryLeakNoVar
CheckMemoryLeakStructMember 检查内容: 在一个函数内、检查结构成员结构体被释放(返回)时,其成员不释放空间 返回错误 (error) Memory leak: STRUCT.MEMBER   中间点表示成员
典型错误类型
Class CheckMemoryLeakStructMember 实现接口(runSimplifiedChecks) 核心函数 check() 辅助函数 getAllocType()  getDeallocationType()
Class CheckMemoryLeakInClass 检查 ,[object Object]
 2 成员变量在函数(所有函数,不单单是一个函数中)中分配空间,与释放空间函数不成匹配(malloc – free , new -delete)出现算法描述: 两个变量:AllocDealloc 一但对成员变量被分配空间,Alloc被置值,如果发现对变量释放空间函数,Dealloc置值,并立即对比,是否是同一类内存申请释放函数,如果不是,则立即报dismatch错,遍历完所有类的函数
典型错误类型
错误输出 否存在有Alloc无Dealloc的情况,有则报错memleak,(有函数中有申请,必须有函数释放,不一定在同一函数中申请释放) (error) Memory leak: CLASSNAME ::MEMBER 发现不匹配  (error) Mismatching allocation and deallocation CLASSNAME ::MEMBER 检查构造函数,析构函数中是否成对(申请,释放)(如果构造中有内存申请,析构中必须有释放,) (error) Memory leak: CLASSNAME ::MEMBER
Class CheckMemoryLeakInClass 实现接口(runSimplifiedChecks) 核心函数 check() , variable() 辅助函数 getAllocType()  getDeallocationType()
典型错误类型
Class CheckMemoryLeakNoVar 检查 函数的参数部分有无内存泄露 报错信息: (error) Allocation with FUNCNAME, FUNCNAME doesn't release it.
Class CheckMemoryLeakNoVar 实现接口(runSimplifiedChecks) 核心函数 check() 辅助函数 getAllocType()  getDeallocationType()
Class CheckMemoryLeakInFunction 检查 以函数为单位的检查,参数,局部变量指针的检查 ,[object Object],[object Object]
Class CheckMemoryLeakInFunction 实现接口(runSimplifiedChecks) 核心函数 check() parseFunctionScope() checkScope() getcode() findLeak() 辅助函数 getAllocType()  getDeallocationType()
内存泄露新增 重写了新的函数检查类 Class CheckMemoryLeakInFunction_new

Más contenido relacionado

Destacado

Dynamo cassandra
Dynamo cassandraDynamo cassandra
Dynamo cassandraWu Liang
 
Bst svn专项培训
Bst svn专项培训Bst svn专项培训
Bst svn专项培训Wu Liang
 
向量空间模型与动态规划分享
向量空间模型与动态规划分享 向量空间模型与动态规划分享
向量空间模型与动态规划分享 Wu Liang
 
Trie树分享
Trie树分享Trie树分享
Trie树分享Wu Liang
 
Smart pointer
Smart pointerSmart pointer
Smart pointerWu Liang
 
An Efficient Language Model Using Double-Array Structures
An Efficient Language Model Using Double-Array StructuresAn Efficient Language Model Using Double-Array Structures
An Efficient Language Model Using Double-Array StructuresJun-ya Norimatsu
 

Destacado (7)

Dynamo cassandra
Dynamo cassandraDynamo cassandra
Dynamo cassandra
 
Hmaster
HmasterHmaster
Hmaster
 
Bst svn专项培训
Bst svn专项培训Bst svn专项培训
Bst svn专项培训
 
向量空间模型与动态规划分享
向量空间模型与动态规划分享 向量空间模型与动态规划分享
向量空间模型与动态规划分享
 
Trie树分享
Trie树分享Trie树分享
Trie树分享
 
Smart pointer
Smart pointerSmart pointer
Smart pointer
 
An Efficient Language Model Using Double-Array Structures
An Efficient Language Model Using Double-Array StructuresAn Efficient Language Model Using Double-Array Structures
An Efficient Language Model Using Double-Array Structures
 

Similar a 检查实现类

千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7javatwo2011
 
异步编程与浏览器执行模型
异步编程与浏览器执行模型异步编程与浏览器执行模型
异步编程与浏览器执行模型keelii
 
Scala function-and-closures
Scala function-and-closuresScala function-and-closures
Scala function-and-closureswang hongjiang
 
第六章 函數與巨集
第六章 函數與巨集第六章 函數與巨集
第六章 函數與巨集shademoon
 
Ecma script edition5-小试
Ecma script edition5-小试Ecma script edition5-小试
Ecma script edition5-小试lydiafly
 
Asp.net mvc 培训
Asp.net mvc 培训Asp.net mvc 培训
Asp.net mvc 培训lotusprince
 
所谓闭包
所谓闭包所谓闭包
所谓闭包ilovey4
 
所谓闭包
所谓闭包所谓闭包
所谓闭包youzitang
 
PHPUnit + Xdebug 单元测试技术
PHPUnit + Xdebug 单元测试技术PHPUnit + Xdebug 单元测试技术
PHPUnit + Xdebug 单元测试技术hoopchina
 
Java Script 引擎技术
Java Script 引擎技术Java Script 引擎技术
Java Script 引擎技术bigqiang zou
 
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013Hazem Saleh
 
基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程zhangdaiping
 
Java华为面试题
Java华为面试题Java华为面试题
Java华为面试题yiditushe
 
从问题开始,谈前端架构
从问题开始,谈前端架构从问题开始,谈前端架构
从问题开始,谈前端架构裕波 周
 
1 C入門教學
1  C入門教學1  C入門教學
1 C入門教學Sita Liu
 

Similar a 检查实现类 (19)

千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
 
异步编程与浏览器执行模型
异步编程与浏览器执行模型异步编程与浏览器执行模型
异步编程与浏览器执行模型
 
Scala function-and-closures
Scala function-and-closuresScala function-and-closures
Scala function-and-closures
 
第六章 函數與巨集
第六章 函數與巨集第六章 函數與巨集
第六章 函數與巨集
 
Python變數與資料運算
Python變數與資料運算Python變數與資料運算
Python變數與資料運算
 
Ecma script edition5-小试
Ecma script edition5-小试Ecma script edition5-小试
Ecma script edition5-小试
 
Sun java
Sun javaSun java
Sun java
 
Asp.net mvc 培训
Asp.net mvc 培训Asp.net mvc 培训
Asp.net mvc 培训
 
所谓闭包
所谓闭包所谓闭包
所谓闭包
 
所谓闭包
所谓闭包所谓闭包
所谓闭包
 
PHPUnit + Xdebug 单元测试技术
PHPUnit + Xdebug 单元测试技术PHPUnit + Xdebug 单元测试技术
PHPUnit + Xdebug 单元测试技术
 
Dev307
Dev307Dev307
Dev307
 
Java Script 引擎技术
Java Script 引擎技术Java Script 引擎技术
Java Script 引擎技术
 
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
 
基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程
 
并发控制
并发控制并发控制
并发控制
 
Java华为面试题
Java华为面试题Java华为面试题
Java华为面试题
 
从问题开始,谈前端架构
从问题开始,谈前端架构从问题开始,谈前端架构
从问题开始,谈前端架构
 
1 C入門教學
1  C入門教學1  C入門教學
1 C入門教學
 

Último

【創業簡報練習】當一個人吃飯會想起誰: (A)I-DOLL 陪吃娃娃|科技創業與營運實務
【創業簡報練習】當一個人吃飯會想起誰:(A)I-DOLL 陪吃娃娃|科技創業與營運實務【創業簡報練習】當一個人吃飯會想起誰:(A)I-DOLL 陪吃娃娃|科技創業與營運實務
【創業簡報練習】當一個人吃飯會想起誰: (A)I-DOLL 陪吃娃娃|科技創業與營運實務sardinesaying
 
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptx
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptxJAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptx
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptxCHANSUITNEEMoe
 
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...ggbob1
 
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdfshanshanhui1
 
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...黑客 接单【TG/微信qoqoqdqd】
 
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制kathrynalvarez364
 
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制bairnshajjes
 
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制gravestomas0
 
Grade 6 Lesson 7 Environment Protection.pptx
Grade 6 Lesson 7 Environment Protection.pptxGrade 6 Lesson 7 Environment Protection.pptx
Grade 6 Lesson 7 Environment Protection.pptxPriscilleXu
 
GPA低怎么办? | 身份黑后回复方案 | 出入境激活 身份恢复美本GPA太低了怎么办黑客服务,黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修...
GPA低怎么办? | 身份黑后回复方案 | 出入境激活 身份恢复美本GPA太低了怎么办黑客服务,黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修...GPA低怎么办? | 身份黑后回复方案 | 出入境激活 身份恢复美本GPA太低了怎么办黑客服务,黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修...
GPA低怎么办? | 身份黑后回复方案 | 出入境激活 身份恢复美本GPA太低了怎么办黑客服务,黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修...黑客 接单【TG/微信qoqoqdqd】
 
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...ggbob1
 

Último (11)

【創業簡報練習】當一個人吃飯會想起誰: (A)I-DOLL 陪吃娃娃|科技創業與營運實務
【創業簡報練習】當一個人吃飯會想起誰:(A)I-DOLL 陪吃娃娃|科技創業與營運實務【創業簡報練習】當一個人吃飯會想起誰:(A)I-DOLL 陪吃娃娃|科技創業與營運實務
【創業簡報練習】當一個人吃飯會想起誰: (A)I-DOLL 陪吃娃娃|科技創業與營運實務
 
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptx
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptxJAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptx
JAWAPAN BUKU AKTIVITI BAHASA CINA TAHUN 3.pptx
 
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...
 
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
 
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
 
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
 
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
 
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
 
Grade 6 Lesson 7 Environment Protection.pptx
Grade 6 Lesson 7 Environment Protection.pptxGrade 6 Lesson 7 Environment Protection.pptx
Grade 6 Lesson 7 Environment Protection.pptx
 
GPA低怎么办? | 身份黑后回复方案 | 出入境激活 身份恢复美本GPA太低了怎么办黑客服务,黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修...
GPA低怎么办? | 身份黑后回复方案 | 出入境激活 身份恢复美本GPA太低了怎么办黑客服务,黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修...GPA低怎么办? | 身份黑后回复方案 | 出入境激活 身份恢复美本GPA太低了怎么办黑客服务,黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修...
GPA低怎么办? | 身份黑后回复方案 | 出入境激活 身份恢复美本GPA太低了怎么办黑客服务,黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修...
 
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...
 

检查实现类