当前位置: 首页 » 黑客业务 » 黑客小软件源代码是什么_黑客小软件源代码

黑客小软件源代码是什么_黑客小软件源代码

作者:hacker 时间:2022-08-22 阅读数:233人阅读

文章栏目:

为什么无法获得软件源代码?

编译型软件的源代码几乎无法获取,可以这样子给你解释为什么从理论上无法获取:

源代码需要经过编译之后变成一连串的0和1,这一连串的0和1打包起来,就是我们日常所说的可执行文件,也就是你平时用的软件了。

OK,你想通过可执行文件,也就是这一连串的和0和1逆推回源代码,这几乎是不可能的事情,因为高级语言的源代码和最终生成的0和1不是死死的一一对应关系。高级语言需要先被转为汇编语言,然后汇编语言再转为0和1,汇编语言与0和1是一一对应关系的,但是高级语言和汇编语言就不一定了。

即便是同样的几句高级语言代码,在不同的编译器里面,也完全有可能是完全不同的汇编代码。而且同样逻辑的代码,即便是只有稍微几个关键字的不同,或者是变量的不同,都会产生不同的汇编代码。

所以,由二进制的0,1可执行文件,逆推高级语言,理论上可行,实际上不可行,因为工作量太大。类似大型软件,好几个G的,那是多少亿行的0和1,哪怕是全世界的程序员在一起逆推,都不知道需要多少年可以完全逆向出源代码。

那我们平时所说的逆向工程是什么呢?

OK,其实软件是可以逆向的,但是不是说逆向出真正的源代码,而是逆向出这个软件的汇编代码。但是需要注意,汇编代码在某种程度上并不能成为这个软件的源代码,因为汇编代码量极大,而且不具备良好的可读性,一句普通的高级语言源代码,可能就会生成好几十条汇编代码。所以汇编代码量是极大的。

同时,汇编代码几乎是不具备有架构性的,也就是说,即便你拿到了一个软件的汇编代码,你最多就是稍稍改改一些关键逻辑,比如说注册逻辑(用于破解)之类的,但是你要说通过汇编代码去改这个软件的功能,几乎就是不可能的事情。所以,汇编代码是无法用于开源的,你公开出来了,别人也没精力去看。

怎样查看和修改软件的源代码

exe文件信息一般不能直接更改,因为是编译好的,并且一般都加了壳。

想改的话,得用脱壳了吧。不同的文件有可能用了不同的软件加了壳。

用各类脱壳工具测试并脱壳后,再反编译,有可能得到相关文件信息并更改。

(一)壳的概念

作者编好软件后,编译成exe可执行文件。 1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。 2.需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩, 3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。实现上述功能,这些软件称为加壳软件。

(二)加壳软件最常见的加壳软件ASPACK ,UPX,PEcompact 不常用的加壳软件WWPACK32;PE-PACK ;PETITE NEOLITE

(三)侦测壳和软件所用编写语言的软件,因为脱壳之前要查他的壳的类型。 1.侦测壳的软件fileinfo.exe 简称fi.exe(侦测壳的能力极强) 2.侦测壳和软件所用编写语言的软件language.exe(两个功能合为一体,很棒) 推荐language2000中文版(专门检测加壳类型) 3.软件常用编写语言Delphi,VisualBasic(VB)---最难破,VisualC(VC)

(四)脱壳软件。 软件加壳是作者写完软件后,为了保护自己的代码或维护软件产权等利益所常用到的手段。目前有很多加壳工具,当然有盾,自然就有矛,只要我们收集全常用脱壳工具,那就不怕他加壳了。软件脱壳有手动脱和自动脱壳之分,下面我们先介绍自动脱壳,因为手动脱壳需要运用汇编语言,要跟踪断点等,不适合初学者,但我们在后边将稍作介绍。

加壳一般属于软件加密,现在越来越多的软件经过压缩处理,给汉化带来许多不便,软件汉化爱好者也不得不学习掌握这种技能。现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,就需要UNASPACK对付,好处是简单,缺点是版本更新了就没用了。另外脱壳就是用专门的脱壳工具来对付,最流行的是PROCDUMP v1.62 ,可对付目前各种压缩软件的压缩档。在这里介绍的是一些通用的方法和工具,希望对大家有帮助。我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。下面是我们常常会碰到的加壳方式及简单的脱壳措施,供大家参考: 脱壳的基本原则就是单步跟踪,只能往前,不能往后。脱壳的一般流程是:查壳-寻找OEP-Dump-修复 找OEP的一般思路如下: 先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常,找到对应的popad后就能到入口,跳到入口的方式一般为。 我们知道文件被一些压缩加壳软件加密,下一步我们就要分析加密软件的名称、版本。因为不同软件甚至不同版本加的壳,脱壳处理的方法都不相同。

常用脱壳工具: 1、文件分析工具(侦测壳的类型):Fi,GetTyp,peid,pe-scan, 2、OEP入口查找工具:SoftICE,TRW,ollydbg,loader,peid 3、dump工具:IceDump,TRW,PEditor,ProcDump32,LordPE 4、PE文件编辑工具PEditor,ProcDump32,LordPE 5、重建Import Table工具:ImportREC,ReVirgin 6、ASProtect脱壳专用工具:Caspr(ASPr V1.1-V1.2有效),Rad(只对ASPr V1.1有效),loader,peid(1)Aspack: 用的最多,但只要用UNASPACK或PEDUMP32脱壳就行了 (2)ASProtect+aspack:次之,国外的软件多用它加壳,脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识,但最新版现在暂时没有办法。 (3)Upx: 可以用UPX本身来脱壳,但要注意版本是否一致,用-D 参数 (4)Armadill: 可以用SOFTICE+ICEDUMP脱壳,比较烦 (5)Dbpe: 国内比较好的加密软件,新版本暂时不能脱,但可以破解 (6)NeoLite: 可以用自己来脱壳 (7)Pcguard: 可以用SOFTICE+ICEDUMP+FROGICE来脱壳 (8)Pecompat: 用SOFTICE配合PEDUMP32来脱壳,但不要专业知识 (9)Petite: 有一部分的老版本可以用PEDUMP32直接脱壳,新版本脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识 (10)WWpack32: 和PECOMPACT一样其实有一部分的老版本可以用PEDUMP32直接脱壳,不过有时候资源无法修改,也就无法汉化,所以最好还是用SOFTICE配合 PEDUMP32脱壳 我们通常都会使用Procdump32这个通用脱壳软件,它是一个强大的脱壳软件,他可以解开绝大部分的加密外壳,还有脚本功能可以使用脚本轻松解开特定外壳的加密文件。另外很多时候我们要用到exe可执行文件编辑软件ultraedit。我们可以下载它的汉化注册版本,它的注册机可从网上搜到。ultraedit打开一个中文软件,若加壳,许多汉字不能被认出 ultraedit打开一个中文软件,若未加壳或已经脱壳,许多汉字能被认出 ultraedit可用来检验壳是否脱掉,以后它的用处还很多,请熟练掌握例如,可用它的替换功能替换作者的姓名为你的姓名注意字节必须相等,两个汉字替两个,三个替三个,不足处在ultraedit编辑器左边用00补。

常见的壳脱法:

(一)aspack壳 脱壳可用unaspack或caspr 1.unaspack ,使用方法类似lanuage,傻瓜式软件,运行后选取待脱壳的软件即可. 缺点:只能脱aspack早些时候版本的壳,不能脱高版本的壳 2.caspr第一种:待脱壳的软件(如aa.exe)和caspr.exe位于同一目录下,执行windows起始菜单的运行,键入 caspr aa.exe脱壳后的文件为aa.ex_,删掉原来的aa.exe,将aa.ex_改名为aa.exe即可。使用方法类似fi 优点:可以脱aspack任何版本的壳,脱壳能力极强缺点:Dos界面。第二种:将aa.exe的图标拖到caspr.exe的图标上***若已侦测出是aspack壳,用unaspack脱壳出错,说明是aspack高版本的壳,用caspr脱即可。 (二)upx壳 脱壳可用upx待脱壳的软件(如aa.exe)和upx.exe位于同一目录下,执行windows起始菜单的运行,键入upx -d aa.exe (三)PEcompact壳 脱壳用unpecompact 使用方法类似lanuage傻瓜式软件,运行后选取待脱壳的软件即可 (四)procdump 万能脱壳但不精,一般不要用 使用方法:运行后,先指定壳的名称,再选定欲脱壳软件,确定即可脱壳后的文件大于原文件由于脱壳软件很成熟,手动脱壳一般用不到。

三、压缩与脱壳

现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求。而自动就稍好些,用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,就需要UNASPACK对付。很多文件使用了一些压缩加壳软件加密过,这就需要对文件进行解压脱壳处理后,才能汉化。这种压缩与我们平时接触的压缩工具如winzip,winrar等压缩不同,winzip和winrar等压缩后的文件不能直接执行,而这种 EXE 压缩软件,EXE文件压缩后,仍可以运行。这种压缩工具把文件压缩后,会在文件开头一部分,加了一段解压代码。执行时该文件时,该代码先执行解压还原文件,不过这些都是在内存中完成的,由于微机速度快,我们基本感觉不出有什么不同。这样的程序很多,如 The bat,Acdsee,Winxfile等等。

要脱壳就应先了解常用压缩工具有哪些,这样知己知彼,如今越来越多的软件商喜欢用压缩方式发行自己的产品,如The bat!用UPX压缩,ACDSEE3.0用ASPACK压缩等。它有以下因素:一是:微机性能越来越好,执行过程中解压使人感觉不出来,用户能接受(给软件加壳,类似WINZIP 的效果,只不过这个加壳压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么异常。因为软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。)。 二是:压缩后软件体积缩小,便于网络传输。三是:增加破解的难度。首先,加壳软件不同于一般的winzip,winrar等压缩软件.它是压缩exe可执行文件的,压缩后的文件可以直接运行.而winzip,winrar等压缩软件可压缩任何文件,但压缩后不能直接运行。很多站点不允许上传可执行文件,而只能上传压缩的文件,一方面处于速度考虑,也是为了安全性考虑。用加壳软件压缩的文件就是体积缩小,别的性质没改变。还是EXE文件,仍可执行,只是运行过程和以前不一样了。压缩工具把文件压缩后,在文件开头一部分,加了一段解压代码。执行时该文件时,该代码先执行解压还原文件,不过这些都是在内存中完成的,由于微机速度快,我们基本感觉不出有什么不同。

不开源的软件的源代码可以被强行破译出来吗?

看情况,绝大多数情况下不太可能,能破译的一般都是反向到机器码,源码是不太可能还原

黑客动画吧记事本源代码

VB.net编程方法:

'新建文件

Private Sub mnuNew_Click()

RichTextBox1.Text = "" '清空文本框

FileName = "未命名"

Me.Caption = FileName

End Sub

'打开文件

Private Sub mnuOpen_Click()

CommonDialog1.Filter="文本文档(*.txt) *.txt RTF文档(*.rtf) *.rtf 所有文件(*.*) *.*"

CommonDialog1.ShowOpen

RichTextBox1.Text = "" '清空文本框

FileName = CommonDialog1.FileName

RichTextBox1.LoadFile FileName

Me.Caption = "超级记事本:" FileName

End Sub

'保存文件

Private Sub mnuSave_Click()

CommonDialog1.Filter="文本文档(*.txt) *.txt RTF文档(*.rtf) *.rtf 所有文件(*.*) *.*"

CommonDialog1.ShowSave

FileType = CommonDialog1.FileTitle

FiType = LCase(center(FileType, 3))

FileName = CommonDialog1.FileName

Select Case FiType

Case "txt"

RichTextBox1.SaveFile FileName, rtfText

Case "rtf"

RichTextBox1.SaveFile FileName, rtfRTF

Case "*.*"

RichTextBox1.SaveFile FileName

End Select

Me.Caption = "超级记事本:" FileName

End Sub

'退出

Private Sub mnuExit_Click()

End

End Sub

'复制

Private Sub mnuCopy_Click()

Clipboard.Clear

Clipboard.SetText RichTextBox1.SelText

End Sub

'剪切

Private Sub mnuCut_Click()

Clipboard.Clear

Clipboard.SetText RichTextBox1.SelText

RichTextBox1.SelText = ""

End Sub

'全选

Private Sub mnuSelectAll_Click()

RichTextBox1.SelStart = 0

RichTextBox1.SelLength = Len(RichTextBox1.Text)

End Sub

'粘贴

Private Sub mnuPaste_Click()

RichTextBox1.SelText = Clipboard.GetText

End Sub

'查找

Private Sub mnuFind_Click()

sFind = InputBox("请输入要查找的字、词:", "查找内容", sFind)

RichTextBox1.Find sFind

End Sub

'继续查找

Private Sub mnuFindOn_Click()

RichTextBox1.SelStart = RichTextBox1.SelStart+RichTextBox1.SelLength + 1

RichTextBox1.Find sFind, , Len(RichTextBox1)

End Sub

'使用说明

Private Sub mnuReadme_Click()

On Error GoTo handler

RichTextBox1.LoadFile "Readme.txt",rtfText'请写好Readme.txt文件并存入程序所在文件夹中

Me.Caption = "超级记事本:" "使用说明"

Exit Sub

handler:

MsgBox "使用说明文档可能已经被移除,请与作者联系。", vbOKOnly, " 错误信息"

End Sub

VC++编程方法:

首先用VC++创建一个MFC AppWizard(exe)单文档工程,名字Notepad。在Advanced里面File extension(文件扩展名)里面写txt就是关联txt文件,在Base class里面要选CEditView类(意思是基于这个类派生出你用的类)

其实这样生成的就是一个记事本了,但是和原来的记事本还是有区别的

所以我们还要添加点功能,这样才能起到让新人了解VC++的目的

1、我们先加一个设置字体

在 CNotepadView类里面定义字体(就是public) CFont m_Font;

定义消息处理函数:

void CNotepadView::OnFormatFont()

{

// TODO: Add your command handler code here

LOGFONT lf;

CFont *font=this-GetEditCtrl().GetFont();

if(font==NULL)

{

font =new CFont;

font-CreatePointFont(120,"Fixedsys");

font-GetLogFont(lf);

delete font;

}

else

{

font-GetLogFont(lf);

}

CFontDialog cf(lf);

if(cf.DoModal()==IDOK)

{

this-m_Font.DeleteObject();

this-m_Font.CreateFontIndirect(lf);

this-SetFont(this-m_Font);

}

}

2、设置字体

在 CNotepadView类里面定义 BOOL bChk;

消息处理函数

void CNotepadView::OnFormatReturn()

{

// TODO: Add your command handler code here

bChk=!bChk;

if(!bChk)

{

ShowScrollBar(SB_HORZ,true);

}

else

{

ShowScrollBar(SB_HORZ,false);

}

}

下面是源代码RAR压缩包

黑客动画吧记事本源代码不会轻易公开的,那个记事本也不太好,界面也不好,其实破解也很容易的,但是意义不大。

黑客中的代码指什么

每个程序,每个病毒都是由代码构成的,黑客的代码有很多,比如:免杀,过杀毒软件等等。

  • 评论列表
  •  
    发布于 2022-08-17 10:11:07  回复
  • 也就是说,即便你拿到了一个软件的汇编代码,你最多就是稍稍改改一些关键逻辑,比如说注册逻辑(用于破解)之类的,但是你要说通过汇编代码去改这个软件的功能,几乎就是不可能的事情。所

发表评论: