1.VB Decompiler Pro(VB反编译工具)v10.1中文版
2.前端需要哪些知识?
3.请大家ä»ç»ä¸ä¸åç§åç¼,源源码å¦ISO
4.VB Decompiler Pro(VB反编译工具) V10.1中文版
5.pythonå¨çº¿ç½ç«(pythonç½ç«)
6.Matlab图像处理系列——直方图均衡化和匹配(规定化)仿真
VB Decompiler Pro(VB反编译工具)v10.1中文版
VBDecompilerProVB反编译工具是一款针对使用VisualBasic5.0/6.0开发的程序的反编译软件。使用这款免费的码仿VBDecompiler可以被编译成伪代码p-code或nativecode模式。
VB Decompiler Pro(VB反编译工具)是源源码一款针对使用Visual Basic 5.0/6.0开发的程序的反编译软件。使用这款免费的码仿VB Decompiler可以被编译成伪代码p-code或native code模式。
基本简介
VB Decompiler是源源码一款针对使用Visual Basic 5.0/6.0开发的程序的反编译器。此类程序可以被编译成伪代码p-code或native code模式。码仿html5程序设计 第2版 源码由于伪代码是源源码由高级指令组成, 因此是很有可能反编译成源代码的(当然, 变量名,函数名等等是无法反编译的). VB Decompiler可以恢复众多伪代码指令,但要反编译成源代码还是有很多工作需要完成, 反编译器将帮助您更轻松的分析程序算法以及部分恢复源代码。
软件特色
如果一个程序被编译成native code,码仿 从机器码恢复源代码是几乎不可能的. 但即便是这种情形下VB Decompiler还是可以帮助你分析程序. VB Decompiler包含了一个强大的支持包含MMX和SSE的Pentium Pro指令集的反编译器. 它还包含一个代码分析器, 用于搜索所有API调用,汇编代码中的字符串引用并将结果修改为相应的注释。
软件亮点
加入一个程序被编译成.net汇编,源源码反编译器将恢复所有的码仿托管代码的数据表和模块,并且使用IL反汇编器反汇编所有的源源码方法,函数以及事件。码仿反编译并不需要.net framework并且支持所有的源源码位Windows操作系统。VB Decompiler也将反编译文件中的码仿所有的图形界面窗体以及控件。出于技术需要,源源码反编译器可能显示所有控件的编译地址。
功能介绍
1.通用脱壳(支持UPX, NSPack以及一些其他常见的可执行文件压缩壳);
2.反编译窗体(frm和frx)以及用户控制(ctl)对象文件;
3.完整的伪代码p-code反编译(解析操作码并转换为标准vb指令,反编译GUID对象);
4.两种伪代码反编译模式(包含堆栈解析或不包含堆栈解析);
5.反汇编native code过程(使用强大的Pentium Pro反汇编器,支持MMX及FPU指令集);
6.反汇编native code过程中的字符串引用以及API调用(使用强大的Pentium Pro反汇编器,支持MMX及FPU指令集);
7.部分反编译native code(使用代码仿真引擎);
8.在反编译的代码中根据语法显示不同的颜色;
9.字符串引用列表以及搜索引擎;
.快速反编译;
.VB5/6程序的混淆工具;
.VB5/6程序的修补工具;
.将反编译的数据保存入单个db文件;
.反编译.Net程序;
.将所有的过程列表保存入MAP文件;
.IDC脚本或是HIEW的Names文件;
更新日志
- 高亮显示“保存”操作符;
- 固定阿拉伯语。感谢lculator zaloom;
- 错误修复:使用语言,选择在安装程序;
- 错误修正:正确处理变量类型有3个数字(例如var_),但内容2个数字(例如var_FC);
- bug修复:反编译msvbvm。dll函数__vbaForEachVar(本机代码);
- bug修复:反编译msvbvmXX。python爬虫动态源码dll函数__vbaNextEachAry, __vbaLsetFixstrFree;
- bug修复:从未知dll (P-Code,本机代码)反编译函数调用;
- bug修复:正确处理fld命令的操作数(本机代码);
- bug修复:通过按“<”和“>”来向前/向后跳转;
前端需要哪些知识?
当然不能只会html、css和js了。怕你找不到工作的。我搜的还是html,都需要会框架啊。所以啊,一定要多学点东西。
第一阶段HTML+CSS核心基础
HTML,java家政app源码CSS核心基础;CSS过渡;HTML5语义化标签;线性渐变,径向渐变;HTML新增标签属性;CSS动画Animation;表单项新增属性;弹性盒模型;CSS选择器;经典布局练习(双飞翼,CSS3伪类 品字布局) + 案例;CSS伪元素;响应式布局
第二阶段JavaScript
JavaScript基础;JavaScript操作DOM;JavaScript面向对象(js高级)
第三阶段PC端整栈开发:
PC项目;jQuery;jQuery项目;less;bootStrap
第四阶段ES6+Node+工程化:
ES6/7/8;promise;npm常用命令;git基础(常用操作);git高级;Node.js基础;git基础(常用操作);piler Pro(VB反编译工具) V.1中文版
VB Decompiler Pro(VB反编译工具)是一款对于应用Visual Basic 5.0/6.0开发设计的程序的反编译软件。应用这款完全免费的VB Decompiler能够被编译成伪代码p-code或native code方式。
基础介绍
VB Decompiler是一款对于应用Visual Basic 5.0/6.0开发设计的程序的反编译器。该类程序能够被编译成伪代码p-code或native code方式。因为伪代码是由高级命令构成, 因而是很有可能反编译成源码的(自然, 用户标识符,涵数名这些是没法反编译的). VB Decompiler能够修复诸多伪代码命令,但要反编译成源码还是有很多工作中必须进行, 反编译器将协助您更轻轻松松的剖析程序优化算法及其一部分修复源码。
软件特点
假如一个程序被编译成native code, 从序列号修复源码是基本上不太可能的. 但就算是这类情况下VB Decompiler还是能够协助你剖析程序. VB Decompiler包含了一个强劲的适用包括MMX和SSE的Pentium Pro指令系统的反编译器. 它还包括一个编码解析器, 用以检索全部API启用,汇编代码中的字符串数组引入并将结果改动为相对的注解。
软件闪光点
添加一个程序被编译成.net选编,反编译器将修复全部的托管代码的数据分析表和控制模块,而且应用IL反汇编器反编译全部的基于ssh源码下载方式,涵数及其恶性事件。反编译并不一定.net framework而且适用全部的位系统Windows电脑操作系统。VB Decompiler也将反编译文档中的全部的用户界面文本框及其控制。出自于技术性必须,反编译器很有可能显示信息全部控制的编译程序详细地址。
功能介绍
1.通用性蜕壳(适用UPX, NSPack及其一些别的普遍的可执行程序缩小壳);
2.反编译文本框(frm和frx)及其客户操纵(ctl)目标文档;
3.详细的伪代码p-code反编译(分析操作码并变换为规范vb命令,反编译GUID目标);
4.二种伪代码反编译方式(包括局部变量分析或不包含局部变量分析);
5.反编译native code全过程(应用强劲的Pentium Pro反汇编器,适用MMX及FPU指令系统);
6.反编译native code全过程中的字符串数组引入及其API启用(应用强劲的Pentium Pro反汇编器,适用MMX及FPU指令系统);
7.一部分反编译native code(应用编码模拟仿真模块);
8.在反编译的编码中依据英语的语法显示信息不一样的色调;
9.字符串数组引入目录及其百度搜索引擎;
.迅速反编译;
.VB5/6程序的搞混专用工具;
.VB5/6程序的修补工具;
.将反编译的数据信息储存入单独db文件;
.反编译.Net程序;
.将全部的全过程目录储存入MAP文档;
.IDC脚本制作或者HIEW的Names文档;
版本更新
- 高亮显示“储存”操作符;
- 固定不动阿语。谢谢lculator zaloom;
- 不正确修复:应用语言,挑选在安装程序;
- 不正确调整:妥善处理变量类型有3个数据(比如var_),但内容两个数据(比如var_FC);
- bug修复:反编译msvbvm。dll涵数__vbaForEachVar(该设备编码);
- bug修复:反编译msvbvmXX。单页列表源码dll涵数__vbaNextEachAry, __vbaLsetFixstrFree;
- bug修复:从不明dll (P-Code,该设备编码)反编译调用函数;
- bug修复:妥善处理fld指令的操作数(该设备编码);
- bug修复:根据按“lt;”和“gt;”来往前/向后自动跳转;
pythonå¨çº¿ç½ç«(pythonç½ç«)
Pythonå¼åè¿åªäºç¥åç½ç«å游æï¼
è°·æï¼GoogleAppEngineããGoogleearthãè°·æç¬è«ãGoogle广åä¹ä¹æç项ç®é½å¨å¤§é使ç¨Pythonå¼å
CIAï¼ç¾å½ä¸æ å±ç½ç«å°±æ¯ç¨Pythonå¼åç
NASAï¼ç¾å½èªå¤©å±(NASA)大é使ç¨Pythonè¿è¡æ°æ®åæåè¿ç®ãç¾å½å®èªå±ä»å¹´èµ·æpythonä½ä¸ºä¸»è¦å¼åè¯è¨ã
YouTubeï¼ä¸çä¸æ大çè§é¢ç½ç«YouTubeå°±æ¯Pythonå¼åç
Dropboxï¼ç¾å½æ大çå¨çº¿äºåå¨ç½ç«ï¼å ¨é¨ç¨Pythonå®ç°ï¼æ¯å¤©ç½ç«å¤ç亿个æ件çä¸ä¼ åä¸è½½ã
Instagramï¼ç¾å½æ大çå¾çå享社交ç½ç«ï¼æ¯å¤©è¶ è¿3åå²æ©¡ä¸å¼ ç §ç被å享ï¼å ¨é¨ç¨Pythonå¼å
Facebookï¼å¤§éçåºç¡åºåéè¿Pythonå®ç°ç
Redhatï¼ä¸çä¸ææµè¡çLinuxåæ°çæ¬ä¸çyumå 管çå·¥å ·å°±æ¯ç¨é¡·è¡¡Pythonå¼åç
è±ç£ï¼å ¬å¸å ä¹ææçä¸å¡åæ¯éè¿Pythonå¼åç
ç¥ä¹ï¼å½å æ大çé®ç社åºï¼éè¿Pythonå¼å(Quora)
æ¥é¨å»çï¼å½å ç¥åçå¨çº¿å»çç½ç«æ¯ç¨Pythonå¼åç
é¤ä¸é¢ä¹å¤ï¼è¿ææçãéå±±ãè ¾è®¯ãç大ãç½æãç¾åº¦ãé¿éãæ·å®ãåè±ãæ°æµªãæ壳çå ¬å¸é½å¨ä½¿ç¨Pythonå®æåç§åæ ·çä»»å¡ã
æ±æ¯è¾å¥½çPythonç»ä¹ ç½ç«
éåPythonå ¥é¨é¥¥å å¦ä¹ ç5个ç½ç«
1.Pythonå®æ¹ç½ç«
ææå¨çPythonæç¨ã
2.èé¸æç¨Pythonæç¨
åºæ¬å ¥é¨çº§æç¨ï¼è¿æä¸äºç®åçè¿é¶çå³éæç¨ã
3.å»éªå³°çPythonæç¨
å»éªå³°èå¸ç²ççæç¨ç¸å½ä¸éï¼ç±æµ å ¥æ·±ï¼ç®æ¯è¿é¶æç¨ï¼ä¸æ¥æ¥æ·±å ¥ï¼åé¢è¿æä¾äºä¸ä¸ªå®ææç¨ã
4.Pythonä¸æå¦ä¹ 大æ¬è¥
è¿éæFlaskèµæå¤§å ¨ï¼å¦æä½ éè¦ï¼å¯ä»¥æ¾å°
ä½ æ³è¦çå ä¹æææç¨ã
5.github
å¸æ对å¨å¤§å¦éå¦ä¹ Python课ç¨çåå¦ï¼æè æ°æå¦ä¹ Pythonæä¾å¸®å©ã
å¦ä½ç¨Pythonæ建ä¸ä¸ªç½ç«ï¼Pythonæ建ç½ç«ï¼å©ç¨ç°æçæ¡æ¶è¿æ¯æºç®åçãå¨è¿æ»åé举ä¸ä¸ªä¾å-å©ç¨Flaskæ建ä¸ä¸ªç½ç«ã
Flask
Flaskæ¯ä¸ä¸ªä½¿ç¨Pythonç¼åçè½»é级Webåºç¨æ¡æ¶ãå ¶WSGIå·¥å ·ç®±éç¨Werkzeugï¼æ¨¡æ¿å¼æå使ç¨Jinja2ãFlaskå建ä¸ä¸ªåºç¨å¾ç®åï¼åªéè¦ä¸è¡ä»£ç å°±å¯ä»¥å建ä¸ä¸ªåºç¨ãä¸ä¸ªæå°çåºç¨çèµ·æ¥åè¿æ ·:
ç´æ¥æ§è¡pythonhello.pyï¼å°±å¯ä»¥çå°é¡µé¢å°±å¯ä»¥è®¿é®äºï¼è¿åªæ¯å®æ¹ç»åºçä¸ä¸ªç¤ºä¾ï¼æ¹ä¾¿å¦ä¹ ã
åºç¨åå§å
ææFlaskç¨åºé½å¿ é¡»å建ä¸ä¸ªç¨åºå®ä¾ãWebæå¡å¨ä½¿ç¨ä¸ç§å为Webæå¡å¨ç½å ³æ¥å£ï¼WebServerGatewayInterfaceï¼WSGIï¼çåè®®ï¼ææ¥æ¶èªå®¢æ·ç«¯çææ请æ±é½è½¬äº¤ç»è¿ä¸ªå¯¹è±¡å¤çãç¨åºå®ä¾æ¯Flaskç±»ç对象ï¼ç»å¸¸ä½¿ç¨ä¸è¿°ä»£ç å建ï¼
Flaskç±»çæé å½æ°åªæä¸ä¸ªå¿ é¡»æå®çåæ°ï¼å³ç¨åºä¸»æ¨¡åæå çååãå¨å¤§å¤æ°ç¨åºä¸ï¼Pythonç__name__åéå°±æ¯æéçå¼ã
è·¯ç±åè§å¾å½æ°
客æ·ç«¯ï¼ä¾å¦Webæµè§å¨ï¼æ请æ±åéç»Webæå¡å¨ï¼Webæå¡å¨åæ请æ±åéç»Flaskç¨åºå®ä¾ãç¨å¤ä½åºå®ä¾éè¦ç¥é对æ¯ä¸ªURL请æ±è¿è¡åªäºä»£ç ï¼æ以ä¿åäºä¸ä¸ªURLå°Pythonå½æ°çæ å°å ³ç³»ãå¤çURLåå½æ°ä¹é´å ³ç³»çç¨åºç§°ä¸ºè·¯ç±ãå¨Flaskç¨åºä¸å®ä¹ä»¿è®©æ»è·¯ç±çæç®ä¾¿æ¹å¼ï¼æ¯ä½¿ç¨ç¨åºå®ä¾æä¾çapp.route修饰å¨ï¼æ修饰çå½æ°æ³¨å为路ç±ãä¸é¢çä¾å说æäºå¦ä½ä½¿ç¨è¿ä¸ªä¿®é¥°å¨å£°æè·¯ç±ï¼
index()å½æ°æ³¨å为ç¨åºæ ¹å°åçå¤çç¨åºãå¦æé¨ç½²ç¨åºçæå¡å¨åå为ï¼å¨æµè§å¨ä¸è®¿é®p
å¯å¨æå¡å¨
ç¨åºå®ä¾ç¨runæ¹æ³å¯å¨Flaskéæçå¼åWebæå¡å¨ï¼
__name__=='__main__'æ¯Pythonçæ¯å¸¸ç¨æ³ï¼å¨è¿éç¡®ä¿ç´æ¥æ§è¡è¿ä¸ªèæ¬æ¶æå¯å¨å¼åWebæå¡å¨ãå¦æè¿ä¸ªèæ¬ç±å ¶ä»èæ¬å¼å ¥ï¼ç¨åºåå®ç¶çº§èæ¬ä¼å¯å¨ä¸åçæå¡å¨ï¼å æ¤ä¸ä¼æ§è¡app.run()ãæå¡å¨å¯å¨åï¼ä¼è¿å ¥è½®è¯¢ï¼çå¾ å¹¶å¤ç请æ±ã轮询ä¼ä¸ç´è¿è¡ï¼ç´å°ç¨åºåæ¢ï¼æ¯å¦æCtrl-Cé®ã
Flaskå¼åçç½ç«å®ä¾
æ¬ç¤ºä¾ä¸ç½ç«çç»æå¦ä¸
å¯å¨æå¡å¨çé¢
访é®WEB页é¢
æ´ä¸ªæ¯å©ç¨Flaskèªå·±æ建çä¸ä¸ªWEB页é¢ï¼æ°æ®åºè¯è¿mysqlåmongodbé½å¯ä»¥æ£å¸¸è®¿é®ãæ´ä½æè§Flaskçå¦ä¹ ææ¬ä¼æ¯Djangoä½ï¼èä¸ä¹æ¯Djangoæ´çµæ´»ã
pythonå¦ä¹ ç½ç«æ¨èï¼æ°æå ¥é¨1.Python.org
Pythonå®æ¹ç½ç«ãä½ å¯ä»¥ä»è¿éä¸è½½Pythonãéå¢ä½¿ç¨ãå¦ä¹ Pythonãå®æ¹ææ¡£èªç¶æ¯ææå¨çå¦ä¹ èµæï¼åªè¦ä½ è±ææ°´å¹³å¤ï¼å¦ä¹ èµ·æ¥åºè¯¥ä¸é¾ã
2.Pythonæç¨
Pythonæç¨ä»¥åä»¥å ¶ä¸ºä»£é¡·æ¸æ©è¡¨çä¸ç³»åä¸æPythonæç¨ãèèå°å¯è½é¨å人çè±ææ°´å¹³ä¼æ为é 读Pythonå®æ¹ææ¡£çéç¢ï¼æ以ä¸ææç¨ä¹æ¯å¿ é¡»çãç¸å¯¹äºå®æ¹ææ¡£ï¼è¿æ¹æç¨å¯è½æ´å éååå¦è ï¼ä¹æ¯è¾è½å¤å»ºç«ä½ç³»ã
3.StackOverflow
è±è¯ç«ç¹ï¼%çç¨åºåæ¥å¸¸å·¥ä½å°±æ¯ä»åæ°Googleå¤å¶ä»£ç ï¼å©ä¸ç%å°±æ¯ä»è¿ä¸ªç½ç«å¤å¶äºã
4.Django
以åå ¶ä»å¸¸ç¨çæææ¡æ¶çææ¡£ãä¸åçå¦ä¹ æ¹åä¼æä¸åçæ¡æ¶ï¼æ¯å¦tensorflowãFlaskãTornadoãRequestsãScrapyççã
5.CSDN
以CSDN为代表çä¸ä¼å½å å客ç«ï¼è¿æCTOãå¼æºä¸å½ãå客åççã
æ¨èå 个å¦ä¹ Pythonçå è´¹ç½ç«1ãPython@Coursera
è¿ä¸ªæ¸ æ©è¯¾ç¨æ¯ä¸ºä»æ¥æ²¡æ¥è§¦è¿ç¼ç¨ç人åå¤çãä½ åªéè¦å°å¦çæ°å¦æ°´å¹³å°±å¯ä»¥äºã
2ãIntrotoComputerScience@Udacity
Udacityæä¾äºä¸ä¸ªå¾æ£çå 费课ç¨ï¼å¼ä½ è¿å ¥Pythonç¼ç¨çæéåå¦ä¹ å ³äºæç´¢å¼æç许å¤ä¸è¥¿ï¼ä»¥åå¦ä½ç¼åä½ èªå·±çå°åç½ç»ç¬è«ã
3ãPythonspot
Pythonspotæ¯ä¸ä¸ªç»¼åæç¨ï¼ååäºå¾å¤ä¸åç±»å«çç¥è¯æ¿åï¼é¦å ä½ å°æ¥æåå¦è èµæºæ¥å¸®ä½ å¼å§è°¨éµPythonçå¦ä¹ ï¼ç¶åä½ ç»§ç»ä¿æåè¿ä½ è½å¦å°æ´å¤å ³äºä½¿ç¨Pythonå¼åwebçã
å¦ä½æ¾å°Pythonçå®æ¹ç½ç«ï¼ç¾åº¦æç´¢pythonï¼æå®æ¹æ å¿çå°±æ¯ã
å¦ä½æ¾å°Pythonçå®æ¹ç½ç«ï¼å¯ä»¥é 读ç¸å ³ä¹¦ç±ï¼ä¸è¿ï¼è¿ç±»åçé®é¢æ´ç´æ¥çæ¯ç´æ¥æç´¢ãä¸è±ææç´¢é½å¯ä»¥ï¼ç¾åº¦æç´¢å¯ä»¥ä½¿ç¨å ³é®è¯Pythonå®æ¹ç½ç«ï¼å¦ä¸å¾æ示å°å¯çï¼ç¬¬äºæ¡è®°å½å°±æ¯äºï¼è¦æ³¨æçæ¯ï¼å®æ¹ç½ç«æ¯å¸¦âå®æ¹âåæ ·çï¼è¿æ¯ç¾åº¦çä¿¡èªè®¤è¯ï¼è¯¦ç»æ åµå¯éè¿ç¾åº¦å®æ¹äºè§£ã
ç¸å ³æå±
Pythonç±è·å °æ°å¦å计ç®æºç§å¦ç 究å¦ä¼çGuidovanRossumäºå¹´ä»£å设计ï¼ä½ä¸ºä¸é¨å«ä½ABCè¯è¨çæ¿ä»£åãPythonæä¾äºé«æçé«çº§æ°æ®ç»æï¼è¿è½ç®åææå°é¢å对象ç¼ç¨ã
Python解汪桥éå¨æäºæ©å±ï¼å¯ä»¥ä½¿ç¨CæC++ï¼æè å ¶ä»å¯ä»¥éè¿Cè°ç¨çè¯è¨ï¼æ©å±æ°çåè½åæ°æ®ç±»åã?Pythonä¹å¯ç¨äºå¯å®å¶å软件ä¸çæ©å±ç¨åºè¯è¨ãPython丰å¯çæ ååºï¼æä¾äºéç¨äºå个主è¦ç³»ç»å¹³å°çæºç ææºå¨ç 没åã
å¹´æï¼è¯è¨æµè¡ææ°çç¼è¯å¨Tiobeå°Pythonå å为æå欢è¿çç¼ç¨è¯è¨ï¼å¹´æ¥é¦æ¬¡å°å ¶ç½®äºJavaãCåJavaScriptä¹ä¸ã
以ä¸å 容åèç¾åº¦ç¾ç§-Python
Matlab图像处理系列——直方图均衡化和匹配(规定化)仿真
本节内容
一、直方图均衡化
直方图均衡化是一种图像处理技术,主要目标是调整图像的灰度级分布,从而提高图像对比度和动态范围。通过将输入图像转换为每一灰度级上像素点数均匀分布的输出图像,达到增强图像效果的目的。具体而言,将原始图像的灰度分布映射到一个均匀分布的输出图像,使得图像的灰度级尽可能多地分布,并且均匀。直方图均衡化通常在灰度范围为0-1且连续的情况下进行,原始图像的归一化直方图即概率密度函数PDF,描述了原始图像中不同灰度值的概率。通过概率密度函数的性质可知,直方图均衡化后,图像的灰度分布会更均匀。转换关系为s=f(r),其中s为转换后图像的灰度值,r为转换前图像的灰度值。在处理[0 ]范围的图像时,需要进行灰度归一化。DB表示转换后的灰度值,DA表示转换前的灰度值。
二、直方图匹配
直方图匹配(规定化)是一种图像处理技术,旨在增强特定灰度范围内的对比度或使图像灰度值满足特定分布,以产生具有特定直方图的图像。它基于直方图均衡化原理,通过建立原始图像与期望图像之间的关系,使原始图像的直方图匹配至特定形状。与直方图均衡化不同,直方图匹配可以增强或抑制特定区域的灰度变化,从而弥补直方图均衡化在处理交互作用时的不足。
三、Matlab仿真源码
直方图均衡化与直方图匹配的Matlab仿真源码提供了具体实现这两种图像处理技术的代码,以帮助用户理解和应用这些技术。对于直方图均衡化,Matlab提供了histeq函数,可以实现图像的灰度级分布调整。而对于直方图匹配,同histeq函数一样,也可以使用该函数实现特定直方图的生成。这些源码为用户提供了实践与学习的工具,以便深入理解直方图均衡化和直方图匹配的原理与应用。
江苏南京:抽检夏季冷冻饮品210批次 合格率100%
站点统计 源码_站点统计 源码怎么弄
java打印源码_java的打印代码
易语言清理源码_易语言怎么做清理
小果源码_小果源码需要下载什么
微助力活动源码