![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程语言
iamsongyu
一个研究僧,酷爱编程,喜欢web安全,专业为网络安全。欢迎大家一起交流进步,有问题请联系QQ:1528736192
展开
-
逆向与破解-操作数定位方式实例
汇编指令时逆向的基本,我们看到的最基本的都是汇编指令,存在部分反汇编工具支持将代码转换为类C代码。前文已经转载过一篇涉及操作码和对应的功能的文章,这次则是操作数的定位方式。以下为原文。计算机只容许使用bx、si、di、bp寄存器做间接和相对寻址其中bx为基址存储器,si、di为变址存储器内存寻址方式:确定访问内存存储单元偏移地址的方式称为寻址方式。直接寻址:[偏移地址]...转载 2019-11-01 17:34:53 · 982 阅读 · 0 评论 -
逆向与破解-汇编指令
在转载之前补充两句,在汇编指令中几个大类是计算指令,转移指令和标记指令。其中计算是大头,包括加减乘除移位,与或非,异或等,其次是多种跳转方式,根据计算结果导致的标志位变化不同,跳转也有多种方式,以下是几个有关的提示。不是所有的寻址方式都可以用到每个指令中,有很多指令仅支持部分的寻址方式。 其中DST,SRC分别是目的操作数和源操作数的缩写,OPR则是operand即操作数的意思 <...转载 2019-10-31 18:09:31 · 1464 阅读 · 0 评论 -
Java-第七章 多线程和异步操作
先说大概有三种方法,一个是继承thread类 一个是Runable接口 另一个是继承继承Callable接口。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。但其实从理解来讲,如果我们需要做很多的事情时,一个事情耗时,那么其他的任务就需要等待,造成了堵塞。最明显的就是在当前界面编程模型中,界面是在主线程中的,当你在主线程处理费事的东西,那么界...原创 2019-05-31 23:16:42 · 5183 阅读 · 1 评论 -
Java-第六章 异常处理
编程执行过程中很可能出现错误,比如文件不存在,除以0等问题都有可能影响程序的正常运行导致非常规终止,通常将可能出现异常的语句放入try{}语句中,将出现错误后需要执行的语句放入到catch{}语句中,将无论是否发生异常都要执行的语句放在finally{}语句中。当程序执行出现异常的时候,系统会抛出一个异常,从try{}中跳出到catch{}中进行捕捉。不过不管有没有异常产生,finall...原创 2019-05-31 23:12:22 · 286 阅读 · 0 评论 -
Java-第五章 操作符
常规的运算符都有自加自减的前后区别是先使用在改变 还是先改变在使用。逻辑运算符位运算逻辑运算这个赋值运算有多种缩写形式三目运算符 表达式?语句1:语句2当表达式成立执行第一个语句或者赋值 否则执行语句2public class Test { public static void main(String args[]) { ...原创 2019-04-28 08:30:27 · 315 阅读 · 0 评论 -
Java-第四章 特殊结构与控制
不了解这里是否有结构体这样的特殊结构,但是for while循环和if判断 分支语句应该是素有语言必备的,可能就是写法稍微不同所以就稍微提一下就好~ 与c和c#是一样的 不同于python和matlab。例子如下public class Test { public static void main(String args[]) { int x = 3; ...原创 2019-04-28 08:27:48 · 311 阅读 · 0 评论 -
Java-第三章 关键字与作用范围
作用范围 数据的作用范围也是全局变量 和两类的局部变量,测试一下类变量:独立于方法之外的变量,用 static 修饰。实例变量:独立于方法之外的变量,不过没有 static 修饰。局部变量:类的方法中的变量。没有全局变量的定义,但是可以自己组合出来,其他关键字对作用的范围影响是public:Java语言中访问限制最宽的修饰符,"公共的"其修饰的类、属性以及方法不 ...原创 2019-04-28 08:23:58 · 972 阅读 · 0 评论 -
java学习笔记 使用eclipse创建java程序
首先打开需要设置工程目录而后创建java工程出来设置信息 设置名字 使用的jre完成之后显示如下填写名字 类型然后可以开始编写了编写简单的小程序public class learn { public static void main(String []args) { System.out.print("hello world"); }...原创 2019-03-24 18:24:52 · 319 阅读 · 0 评论 -
python界面编程-PyQT5安装和使用 界面设计器
按道理来说python不应该拿来设计界面,本来他也不是这个擅长的,完全可以用WPF等使用python封装代码,但是也是实际用到了,就想一整套下来全用python。据了解主流的界面库有pyqt和tkinter,但是看pyqt内置界面编辑器,控件布局很方便,所以这里就记录一下。我们分四个步骤说明:pyqt库下载和安装 界面设计器和布局 py生成器 界面原理1pyqt库下载和安装...原创 2019-08-31 20:58:45 · 2566 阅读 · 2 评论 -
python界面编程-PyQT5界面编程简单原理
PyQT5作为一个界面库,使用起来确实很方便,它是类似于基于对象的编程方法,通过创建对象,控制对象属性,绑定事件等完成一个完整的界面设计我们已经看过他的设计器,再次介绍一下:左侧的控件时现成的,可以拖到主界面直接用控件可以通过属性控制大小,位置,图标,文字等。对于这种面向对象的界面设计方法,界面时非常容易的弄的,关键是背后的代码。我们先随意布局一个按钮 一个列表 一个...原创 2019-09-03 23:40:10 · 7702 阅读 · 0 评论 -
Python编程-五种常用的字符串连接方式
字符串是我们在python中非常常用的,输入输出,显示,保存等都会用到。在Python中支持多种字符串的拼接方式,甚至还有意想不到的乘法方式,我们接下来逐个演示这些方法1. 直接+str1 = "Hello "str2 = "World"str1+str2# 'Hello World'这是最常见的,如果一个是字符串一个是数字,那么需要str转换一下:str1 =...原创 2019-09-06 09:54:08 · 575 阅读 · 0 评论 -
Python编程-当前时间的获取,显示和计算操作
python一般来说随意搞点小东西是不需要涉及到时间的,一般用到的地方可能是界面显示或者提示 文件保存的名字或日志内容Python的时间可以按照自己的任意格式要求进行调整,不仅如此它还支持日期之间的计算。相关库 import datetime演示的程序如下:import datetime# 获取当前时间datetime.datetime.now()# date...原创 2019-09-07 20:21:08 · 1557 阅读 · 0 评论 -
Python编程-随机数和随机数组生成, list和array的互相转换
在python编程中,随机数是一个某些时候非常有用的功能。随机数的产生涉及numpy.random模块和random模块本文可能无法涉及所有的情况,但是常用的情况都会简单说一下:首先是random模块,注意引用import random1 随机单个数字随机范围的整数 上界和下界import randomrandom.randint(12, 20)# 14...原创 2019-09-09 18:06:38 · 4449 阅读 · 0 评论 -
Python编程-连接和操作mdb accdb数据库,pypyodbc的安装和使用
对于我们需要存储服务的编程来说,数据库是一个可靠的伙伴。数据库提供了非常便利的存储功能,并且可以通过sql语句快捷的增删改查。在python中有多种方法可以操作数据库,例如MySQLdb,pymysql,pypyodbc等,其实操作起来都差不多。一般操作数据库的流程为:我们连接后打开数据库,就可以使用sql语句操作数据库,切记不要忘记关闭,否则操作可能无法保存。在众多库中,这个流程...原创 2019-09-23 18:55:40 · 7919 阅读 · 2 评论 -
Python编程-pypyodbc无驱动和无法打开注册表等错误的解决办法
在使用pypyodbc过程中,可能发生以下几个错误,解决办法记录如下:1. 没有Microsoft Access Driver(*.mdb)等驱动网上常见的解决办法是创建数据源,使用控制面板-管理工具-数据源管理器添加和创建数据库打开之后,添加对应的驱动和数据库就可以选择现有的和创建新的都可以这个方法有时候并不一定可行,因为我们可能没有这个驱动,最好的办...原创 2019-09-23 19:35:49 · 1977 阅读 · 0 评论 -
正则表达式-进阶之定位与断言(python使用re模块及注意事项)
换一个高级点的在线工具(http://tool.chinaz.com/regex/),包含常用匹配和着色显示,很不错。python中的调用方法import retxt = u'<a href="//csdn.net/488732" title="首页" class=""></a>'par = re.compile(pattern=u"href=\"(\/...原创 2019-09-25 20:10:17 · 2027 阅读 · 0 评论 -
c# 防止闪烁之双缓冲和虚拟模式
在C#界面编程中,通常在大量的绘制和添加控件的过程中出现闪烁的问题,常见的闪烁的原因很容易理解:当我们添加控件时触发WM_PAINT消息,导致窗体需要重绘。步骤大致如下:使用窗体的背景色擦除窗口表面 绘制窗体图像 绘制其上的控件和图像当我们的主窗口的内容或大小改变,都会触发Paint事件重绘。该操作会使画面重新刷新一次,而每次刷新过程中,每一个图元(跟图像显示有关的元器件)都会重绘...原创 2019-10-05 09:50:23 · 1086 阅读 · 0 评论 -
移动安全-第一天 安卓基本原理
安卓这个系统是基于linux的,安卓端应用使用java语言编程本次冬令营的学习目标是:掌握基本逆向分析方法,应用的漏洞原理 掌握apk中java层分析 掌握apk中native层分析 通过对apk分析发现问题,实现利用JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分 modle层就是对应的数据库表的实体类。 Dao层是使用了Hib...原创 2019-02-10 11:08:03 · 792 阅读 · 0 评论 -
c# 异步调用 Thread
异步调用中的方法还有就是直接操控线程,可以使用自己创建的线程,也可以使用线程池,线程池的好处就是可以复用,节省线程创建销毁的时间,另外还有排队 控制数量等的方便,下面就简答介绍一下用法。对了线程方法一般使用的是无参数或者一个参数的方法,具体的例子也是转载别的人,看着也很通俗易懂 转载内容:首先是无参数的class Program { static vo...转载 2019-01-06 18:17:29 · 1345 阅读 · 1 评论 -
python学习进阶--2 数字日期和时间
基础的大概懂了,剩下的就是那些比较奇特的,有用的用法,这也是一本火热的进阶书籍上一点一点学的,也有些年头了# region 3.1 四舍五入数字# round(value, ndigits)函数返回离它最近的偶数 可以控制位数round(1.23, 1)round(1.25361, 3)# ndigits为负数时 代表在个十百千等位上进行四舍五入a = 1627731round...原创 2018-09-17 15:54:09 · 415 阅读 · 0 评论 -
python学习进阶--3 python的数据结构及操作
基础的大概懂了,剩下的就是那些比较奇特的,有用的用法,这也是一本火热的进阶书籍上一点一点学的,也有些年头了# region 1.1 序列的拆分# 迭代的元组,数组都可以拆分,还可以使用_代表无用的拆分变量data = ['song', '50', '1.76', {'2012', '12', '3'}]name, weight, tall, time = datakewen = 'H...原创 2018-09-17 15:56:01 · 175 阅读 · 0 评论 -
matlab-线性卷积与圆周卷积
matlab 线性卷积与圆周卷积给出序列x=[3,11,7,0,-1,4,2],h=[2,3,0,-5,2,1];用两种方法求两者的线性卷积y,对比结果。a) 直接调用matlab内部函数conv来计算。b) 根据线性卷积的步骤计算。实验源程序:(a)clcclear allx=[3,11,7,0,-1,4,2];nx=[0:length(x)-1];h=[2,3,0,-5...原创 2018-09-18 10:06:18 · 35956 阅读 · 2 评论 -
python学习笔记--1.变量类型与基本运算
这是在学习Python的时候做的笔记,有些时间了,大概是按照一本挺实用的入门书籍学的,我学习编程的思路一般是掌握基础的变量类型,语法-分支结构 函数调用 类创建 结构体定义,记录一些简单的实例,剩下的就是需要用什么百度现学。对我来说python的优势是,没有类型要求,不用声明,没有指针,万能数组,库很强大。一,python的变量类型# 变量的类型与操作 注释 # 折叠 # regio...原创 2018-09-13 08:28:18 · 224 阅读 · 0 评论 -
python学习笔记--2.类的定义 继承和重构
这是在学习Python的时候做的笔记,有些时间了,大概是按照一本挺实用的入门书籍学的,我学习编程的思路一般是掌握基础的变量类型,语法-分支结构 函数调用 类创建 结构体定义,记录一些简单的实例,剩下的就是需要用什么百度现学。对我来说python的优势是,没有类型要求,不用声明,没有指针,万能数组,库很强大。二.类的定义 继承和重构# 定义类 方法 变量 继承和重构# 数字和字符转换麻...原创 2018-09-13 08:30:38 · 719 阅读 · 0 评论 -
python学习笔记--3.request基本用法与正则匹配
这是在学习Python的时候做的笔记,有些时间了,大概是按照一本挺实用的入门书籍学的,我学习编程的思路一般是掌握基础的变量类型,语法-分支结构 函数调用 类创建 结构体定义,记录一些简单的实例,剩下的就是需要用什么百度现学。对我来说python的优势是,没有类型要求,不用声明,没有指针,万能数组,库很强大。import requestsfrom bs4 import Beautifu...原创 2018-09-14 08:31:34 · 1173 阅读 · 0 评论 -
python学习笔记--4.基本文件读写与目录操作
这是在学习Python的时候做的笔记,有些时间了,大概是按照一本挺实用的入门书籍学的,我学习编程的思路一般是掌握基础的变量类型,语法-分支结构 函数调用 类创建 结构体定义,记录一些简单的实例,剩下的就是需要用什么百度现学。对我来说python的优势是,没有类型要求,不用声明,没有指针,万能数组,库很强大。import os# 获取当前路径pwd = os.getcwd()fat...原创 2018-09-14 08:33:41 · 170 阅读 · 0 评论 -
python学习笔记--5.绘图
这是在学习Python的时候做的笔记,有些时间了,大概是按照一本挺实用的入门书籍学的,我学习编程的思路一般是掌握基础的变量类型,语法-分支结构 函数调用 类创建 结构体定义,记录一些简单的实例,剩下的就是需要用什么百度现学。对我来说python的优势是,没有类型要求,不用声明,没有指针,万能数组,库很强大。python可以绘制多种多样并且很好看的图# 单曲线import nump...原创 2018-09-14 08:37:00 · 737 阅读 · 0 评论 -
python学习笔记--6.python中的matlab矩阵
这是在学习Python的时候做的笔记,有些时间了,大概是按照一本挺实用的入门书籍学的,我学习编程的思路一般是掌握基础的变量类型,语法-分支结构 函数调用 类创建 结构体定义,记录一些简单的实例,剩下的就是需要用什么百度现学。对我来说python的优势是,没有类型要求,不用声明,没有指针,万能数组,库很强大。以前已知使用matlab做矩阵的运算,现在没想到python中也有这个库,功能还挺全...原创 2018-09-15 12:47:21 · 1111 阅读 · 0 评论 -
python学习笔记--7.python中的多线程
这是在学习Python的时候做的笔记,有些时间了,大概是按照一本挺实用的入门书籍学的,我学习编程的思路一般是掌握基础的变量类型,语法-分支结构 函数调用 类创建 结构体定义,记录一些简单的实例,剩下的就是需要用什么百度现学。对我来说python的优势是,没有类型要求,不用声明,没有指针,万能数组,库很强大。多线程可以说是一个强大的功能,并行使得效率极大的提高,python中也有好几种多线程...原创 2018-09-15 12:50:24 · 159 阅读 · 0 评论 -
python学习笔记--8.函数的定义与使用
这是在学习Python的时候做的笔记,有些时间了,大概是按照一本挺实用的入门书籍学的,我学习编程的思路一般是掌握基础的变量类型,语法-分支结构 函数调用 类创建 结构体定义,记录一些简单的实例,剩下的就是需要用什么百度现学。对我来说python的优势是,没有类型要求,不用声明,没有指针,万能数组,库很强大。我这个顺序有点差,应该先说函数定义的,这是最基础的,关于如何定义函数,参数和返回值...原创 2018-09-15 12:52:55 · 149 阅读 · 0 评论 -
c学习笔记--1基本输入输出与操作符
好久之前的了,学习c语言的笔记。依旧是老套路,从基础的变量类型,到函数定义一步步学起#include <string.h>#include <stdio.h>//printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。//但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件//c语言的常用输入输出与操作符voi...原创 2018-09-29 12:19:58 · 259 阅读 · 0 评论 -
c学习笔记--2变量类型与基本操作
好久之前的了,学习c语言的笔记。依旧是老套路,从基础的变量类型,到函数定义一步步学起#include <stdio.h>#include <string.h>//c语言的变量类型与基本操作void test2(){ //数字型 int a = 45, b = 34; float fa = 123; double da = 32.5; printf("...原创 2018-09-29 12:22:20 · 145 阅读 · 0 评论 -
c学习笔记--3关键字 宏与函数定义
好久之前的了,学习c语言的笔记。依旧是老套路,从基础的变量类型,到函数定义一步步学起#include <stdio.h>#include <string.h>//函数定义 与关键字//define用于宏定义 程序中不能更改数值#define mynaem "1234" #define age 10;//数据类型就不仔细说了//1 数据类型关...原创 2018-09-29 12:24:37 · 217 阅读 · 0 评论 -
c学习笔记--4 循环控制语句 if for while do
好久之前的了,学习c语言的笔记。依旧是老套路,从基础的变量类型,到函数定义一步步学起#include <stdio.h>#include <string.h>//控制语句 这个在不同语言里几乎都不变void test5(){ int a = 4; //if判断语句 if (0 < a < 2) printf("var is level ...原创 2018-09-29 12:25:44 · 166 阅读 · 0 评论 -
c学习笔记--5 结构体实现动态链表
这里不得不多说一句,对于c来说指针我认为最好用的就是链表,有很多实用的地方#include<string.h>#include<stdio.h>//C语言 链表篇//结构体实现单向链表struct MyStruct{ char name[20]; struct MyStruct *before;};void test6(){ int a = 0...原创 2018-09-29 12:28:16 · 1215 阅读 · 0 评论 -
c# 异步调用 Begininvoke Endinvoke
在c#中实现异步调用的方法有几种,首先想到的就是多线程或线程池,另外一个就是BeginInvoke和EndInvoke方法。这次是转载的别人的关于BeginInvoke和EndInvoke方法,实际上是通过定义委托,然后使用BeginInvoke和EndInvoke异步实现。控件也有invoke事件,当然也是基于委托,多了也不说,我把别人的转载过来,这个还是很简洁易懂的。 转载内容:...转载 2019-01-06 18:04:03 · 1411 阅读 · 0 评论 -
python学习进阶--1 字符串个文本
基础的大概懂了,剩下的就是那些比较奇特的,有用的用法,这也是一本火热的进阶上一点一点学的,也有些年头了# region 2.1 任意多分隔符拆分# split只能处理简单的状况 使用re.splitimport reline = "dsk hfde;fdsd.gfde,ghte"re.split(r"[;,.\s]", line)re.split(r"(\.|;|,|\s)", ...原创 2018-09-17 15:51:51 · 246 阅读 · 0 评论