📄 subject_37492.htm
字号:
<p>
序号:37492 发表者:REMEX1980 发表日期:2003-04-25 11:27:11
<br>主题:[请教高手]关于直接修改EXE文件
<br>内容:问题: 编一个可执行程序,在它里面作打开文件操作,那么如何不通过修改原代码,而去掉它的这些操作呢?<BR>如何去理解可执行文件?<BR><BR>反汇编吗?<BR>--------------------------------<BR>请各位编程高手不吝赐教!!!<BR>Thanks ......................<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:理文 回复日期:2003-04-25 11:35:26
<br>内容:看来很难吧,解密可不容易。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:西北狼 回复日期:2003-04-25 11:40:14
<br>内容:很难很难,看看PE文件结构吧,如果想改的话,看看下面的文章吧:http://www.csdn.net/Develop/Read_Article.asp?Id=9827
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:REMEX1980 回复日期:2003-04-25 15:00:18
<br>内容:希望高手们尽快加入搞定这个问题!<BR><BR> 再详细说明这个问题一次:只知道该EXE文件将打开的文件名如[abc.dat] 如何 让它不打开呢?<BR><BR>--------------------------------------------------------<BR>先谢谢大家了~~
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-04-25 19:09:44
<br>内容:把文件abc.dat删掉
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:REMEX1980 回复日期:2003-04-25 19:30:34
<br>内容:哈哈,你这个办法好,那要是程序规定,没这个文件或格式不对,就不让你运行怎么办呢?:)<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-04-25 19:35:11
<br>内容:从别的地方拷贝一个过来
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:REMEX1980 回复日期:2003-04-25 19:39:26
<br>内容:那这样和保留原文件又有什么区别呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-04-25 19:46:54
<br>内容:拷贝一个好用的文件过来
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:REMEX1980 回复日期:2003-04-25 19:59:57
<br>内容:呵呵,脱离我的本意了:)<BR>我们不应该逃避问题,你说是不?<BR>我的目的就是要改他的EXE文件,<BR>尽管我现在不会,但我会努力的,当然我很希望高手门能够给我一些帮助!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-04-26 09:36:37
<br>内容:看来只好反编译了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:憨豆先生 回复日期:2003-04-26 10:03:36
<br>内容:试试用EXEScope这样的软件关闭一些对话框,把你的EXE给我,也许我可以帮你搞定:)<BR>直接修改代码很难,那是高手中的高手,要懂汇编吧?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:憨豆先生 回复日期:2003-04-26 17:07:43
<br>内容:西北狼提供的地址http://www.csdn.net/Develop/Read_Article.asp?Id=9827 <BR>说到了这个问题<BR>那里说“修改资源段中的东西最为简单。那些对话框、字符串、位图等等。修改这些资源很容易,因为有很多这方面的软件,最常见的就是VC++,只要用VC用资源修改方式打开程序文件,所有这个程序相关的资源就会很容易的修改了。大家可以随便找几个程序来试试手,挪挪对话框,改改属性,编辑文字,画画位图,很容易上手和熟悉。<BR> 修改程序文件的其他地方就没有修改资源段容易了,程序当然都是汇编机器代码,数据也是未知的结构。”<BR>我说的是修改资源,如eXeScope就能方便的修改资源<BR>VC也可以修改资源啊,File->Open,记住最下面的Open As要选Resources,这样打开EXE文件,哈哈,会有意外发现<BR>有两个问题<BR>1.你的问题可能不只是修改资源的问题,修改代码,就要懂汇编,反汇编了,<BR>2.你给我的程序加密了,VC打不开它,eXeScope勉强能打开,也不能修改,呵呵难咯!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:1.414 回复日期:2003-04-26 20:48:47
<br>内容:试试看,用win32dasm打开它,查看与文件操作相关的api,找到后让它跳到其他api,如消息框,或者用nop(即空指令)取代它。(难度:巨难)<BR>或者直接查找字符串或资源“abc.dat”,把它用null(即空值)代替,不过这么做可能会出错,具体要看它是怎么调用的,怎么错误处理的。(难度:特别难)<BR>如果无法定位,可以试试用ollydbg跟踪它。<BR>文件如果加了壳,先用language2k,loadpe,这类软件先分析,找到壳的类型,用相应的脱壳软件脱壳,然后……<BR>如果它用了“花指令”,SMC等,没有现成的软件,那你可能就要,先学学汇编,再学学加密与解密,再试试了……<BR>反正都是很难就是了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:REMEX1980 回复日期:2003-04-26 20:55:35
<br>内容:关于汇编,我是学了的,不过怎么知道那些有关文件操作的api的汇编指令呢?<BR><BR><BR>=------------------------------------------=<BR>在这里先谢谢各位大侠了;)<BR>真的希望能够有机会成为大家这样的高手:)<BR>我会努力的·!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dr0 回复日期:2003-04-26 21:22:56
<br>内容:在WindowsNT上所有的文件都是 CreateFile / ReadFile / WriteFile, 不管上面的函数是什么. 除非直接进入ntdll.dll.<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:REMEX1980 回复日期:2003-04-27 09:10:11
<br>内容:可是这个软件是很早出现的,估计是用C编写的,那么用反汇编后应该会是什么样的指令的!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:1.414 回复日期:2003-04-27 20:07:30
<br>内容:如果是dos下的,看它调用的中断,如:<BR>以下的中断调用都是以DS:DX 是文件名的字符串的首地址<BR>打开文件:<BR>mov ah,3dh<BR>int 21h<BR>读文件:<BR>mov ah,3fh<BR>int 21h<BR>关闭文件:<BR>mov ah,3eh<BR>int 21h
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:REMEX1980 回复日期:2003-04-28 08:00:56
<br>内容:好,我先试试看,<BR>[高]
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -