- 博客(9)
- 收藏
- 关注
原创 重学数据结构【三】
树深度与高度深度:到根节点的路径的长高度:到叶子节点的路径的长树的实现每一个节点拥有两个链表,一个链表表示子节点,一个表示兄弟节点struct TreeNode{ Object value; TreeNode * firstchild; TreeNode * nextbronode;}树的遍历前序遍历和后序遍历二叉树定义:一个根节点最多有两个子节点,分为左子节点和右子节点struct BinaryTree{ Object value; BinaryTr
2020-06-11 00:19:01
156
原创 《游戏外挂攻防艺术》学习笔记【一】
1. R3隐藏模块断LDR 链+ 抹去PE头2. 如何防止通过call stack 检测调用的合法性跳过目标call内检测的代码,因为检测一般也是通过hook实现,所以我们可以直接跳过这段检测代码。建立假的栈帧 ,具体为我们先构造好我们自定义的栈帧,再通过jmp 指令跳到指定call 的内部,这样就避开了使用call导致自动创建栈帧。3.定位call1.虚函数差异调用定位...
2020-06-09 13:50:33
1225
1
原创 重学数据结构【二】
1.c++细节1.初始化列表 初始化列表用来直接初始化类的数据成员,在数据类型较复杂时可以节约时 间,此外当数据类型为const类型时那么就只有在初始化列表里面初始化变量。2.常量成员函数c++根据是否改变对象状态将成员函数分为访问函数和修改函数在函数的末尾加上const关键字就可以让函数成为访问函数,这样这个函数就不能改变对象状态。...
2020-06-09 13:46:07
161
原创 重学数据结构【一】
前言最近在面试的时候被问到一些逻辑题和算法题,发现自己是真的菜,于是打算重新学习一下,毕竟作为一名逆向程序员也是要写代码的,而且面试官也说过 一个人的开发水平会决定他的逆向水平上限。我选择的书籍是《数据构与算法分析-c++版》,希望复习完后能有在算法上能有一些提升 本小节是一些简单的数据知识,如下公式需要记忆:定理证明的两种方法1.归纳法2.反证法递归的四条基本法则...
2020-05-21 01:05:46
152
原创 MFC学习笔记【一】
MFC学习笔记<一>(1)MFC框架图(2)手动完成MFC初始过程(1)定义一个继承于CFrameWnd 的类,这个类用于窗口的创建,在类的构造函数中调用Create()函数来创建一个窗口框架并于当前类关联(2)定义一个继承于CWinAPP 的类并且重写InitInstance()函数。 InitInstance函数创建一个窗口作为主窗口并且赋值给m_pMainWnd成员...
2020-04-07 21:26:01
176
原创 超递增背包加密
超递增背包加密算法介绍算法类型:非对称加密公钥:常规背包私钥:超递增背包+转换因子乘数:m 模数:n gcd(m,n)=1 并且 n大于公钥中所有数的和私钥生成公钥过程:(私钥*m)mod n =公钥例如:公钥(82,123,287,83,248,373,10,471)私钥(2,3,7,14,30,57,120,251)明文:00101100b加密:C=82x0+12...
2019-12-07 19:15:03
1366
1
原创 c++底层逆向笔记
c++底层逆向笔记最近在学习c++的容器类和一般类的底层实现,写写博客整理一下。STL定义:标准模板库(英文:Standard Template Library,缩写:STL),是一个C++软件库,大量影响了C++标准程序库但并非是其的一部分。其中包含4个组件,分别为算法、容器、函数、迭代器。而这其中我主要逆的是容器的底层实现过程。vector**vector作为 一个重要的容器类在编...
2019-04-28 17:41:59
477
原创 各种移位
各种移位的总结SHL/SAL一样:逻辑/算术左移,最高位进到CF,最低位补0; SHR:逻辑右移,最低位进到CF,最高位补0; SAR:算术右移,最低位进到CF,最高位不变; ROL:循环左移,最高位进到CF的同时补到最低位; ROR:循环右移,最低位进到CF的同时补到最高位; RCL:带进位循环左移,最高位进到CF的,同时CF值补到最低位; RCR:带进位循环右移,最低位进到CF...
2018-08-28 20:05:59
371
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人