摘要:
1、将一个的exe文件读取到内存中,并返回读取后在内存中的地址 我写了一个c++的helloworld程序。然后通过文件流观察大小。 修改完后结果(与winhex对比完全相同) 代码部分。 2、将内存中的数据存储到文件中,双击打开,看能否使用 运行成功 阅读全文
摘要:
首先指针就是一个变量,这个变量中的内容存放的是内存中某个东西的地址。 此时在内存中,应该是这样存储的。 其实int *p这样写,不如int* p更好理解。有一个变量类型是int*,变量名为p。 在c/c++中,只要带*的变量在内存中统一占用4个字节(32位系统中)。因为带*便是地址,而32位系统的内 阅读全文
摘要:
MISC 第一题 (╯°□°)╯︵ ┻━┻ d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1b2e2e5e2b5b4e4b8b7e6e1e1b6b9e4b5e3b8b1b1e3e5b5b6b4b1b0e4 阅读全文
摘要:
在vc6.0编译器中,会自动为switch转换成4种情况的汇编语句。 case1: 当c语言源代码为 运行的结果可以看出,和if&else一样。 都是cmp&jcc的。 当case情况小于等于3时,ifelse和switch并没有什么区别。 case2: 当case情况大于等于4种时,且4种case 阅读全文
摘要:
本机尺寸 如果本机是32位的,那么对32位的支持是最好的 在很多的书上都能看到类似这样的代码 我们通过反汇编会发现 蓝色部分是传递进去的参数 然后我们发现,尽管定义的是char类型,压栈的却是eax而并不是al。 在32位的系统中,系统默认最合适的数据类型,就是32个bit,即4字节。同理,64位的 阅读全文
摘要:
裸函数 在函数名前面加上 __deplspec(naked),此时,编译器对该函数不会进行任何处理。 想要在c语言里面写汇编的语法,使用vc中输入__asm 对于一个裸函数而言,就是编译器不会为这个函数生成代码,想用汇编怎么写就怎么写,如果什么都不写,一定会报错,因为没有生成ret。 在上面的例子中 阅读全文
摘要:
数据在计算机中只是0和1而已 数据在我们的理论中可以无穷大,但是在计算机中并不是,毕竟硬盘是有大小的。 具体可以通过一张图来理解 例如,0-F的表示 上面是无符号数,那么有符号数则是 一个能存储16位的容器,存放了F后,再加一就变成0了,同样存放了7后,加一就变成-8了。 事实上,计算机中只有0和1 阅读全文
摘要:
进制就是查表。 根深蒂固的一张表。 N进制就是由N个字符组成,每逢N进一。 进制的字符我们可以随意定义,选取任意字符,甚至图片,文件,来代替。 学习进制的时候,忘记之前的那些东西,忘记那一个个数字。 从进制层面进行加密能够让破解工作更加难以进行。 自定义字符!,#,*,%;作为4进制。那么就有了以下 阅读全文
摘要:
首先下载一个斗鱼(不下载也可以,url都在这了对吧) 通过抓包,抓取到一个json的数据包,得到下面的地址 观察测试可知,通过修改offset值就是相当于app的翻页 访问这个url,返回得到的是一个大字典,字典里面两个索引,一个error,一个data。而data又是一个长度为20的数组,每个数组 阅读全文
摘要:
从youtube上当下来百来首mv,每个都需要去掉视频,这还挺好弄得,格式工厂一弄就完了,但是文件名,都带有乱七八糟的*啥的巴拉巴拉的,咋修改啊,几百首总不可能一个一个rename吧 或者这样 阅读全文