当前位置:首页 » 编程软件 » lib反编译

lib反编译

发布时间: 2022-01-11 05:26:27

‘壹’ 如何看懂lib文件里的东西

想用一个静态库必须要里面函数的声明,就是头文件。有些动态库都需要头文件呢~没有头文件绝对不可能。

完全看懂是不可能的。要是看懂了相当于反编译了!
如果只要使用,找出一部分函数是有可能的。
你去网上搜索一下“lib 文件结构”

其实可以看到一部分,看到一些函数,你用记事本打开lib。可以看到
xxx@yyy@@zzz 之类的东西。
zzz代表函数名,yyy代表该函数所在的类名,zzz代表参数类型。

可以猜到一部分`~,这个是C++写成的库,C语言写的库是没有类名和参数名的(因为不支持类也不支持重载)。

你再把相映的头文件自己补写上,

再#include "头文件"
#pragma comment(lib,"lib文件");

祝你好运了~~

‘贰’ 如何从lib中破译出代码

很简单,直接解压,用java 开发工具,idea ,MyEclipse 什么的,打开就可以看到代码了。也可以用反编译打开。

‘叁’ C语言lib文件用什么工具反编译

反汇编 ,基本要按汇编去看待的了

‘肆’ 如何把.LIB文件反编译成C

目前的做法是转换成汇编,然后自己翻译成C语言。我之前做过PIC的机器码核心算法用翻译成了C语言

‘伍’ 如何对一个lib静态库保护起来不被反编译

这个太麻烦了吧,除非他反编译成汇编,读懂全部汇编语言,然后用c去实现。逆向工程量太大。我们做一般是加花指令,迷宫函数来混淆代码。

‘陆’ 如何对VC中的lib进行反编译

反编译vc的程序几乎是不可能的,,因为vc编译的程序,用的是C/C++,里面可能调用了好多指针,编译的原理不一样,反编译的结果也不同的

‘柒’ 安卓app360加固怎么反编译

1 对比

上传demo进行加固,解包后对比下原包和加固包,发现加固包在assets文件夹下多了libjiagu.so,libjiagu_x86,lib文件夹下多了libjiagu_art.so,同时修改了dex文件和AndroidManifest文件

打开manifest文件,看到xxx加固对Application标签做了修改,添加了壳入口,也就是我们反编译后看到的StubApplication.smali这个文件。

相比于之前版本的加固,自从1.x.x.x加固版本之后,多了几次反调试,使得动态难度稍微增大了一些,不过针对脱壳机脱壳,再多了反调试也是无用。或者通过修改系统源码,也能达到消除反调试的作用。


2 动态调试

(1)把app安装到手机,以调试模式打开app

(2)以shell模式root权限打开IDA的android_server监听

(3)tcp转发

(4)打开IDA,修改配置为在进程开始时下断

(5)搜索到进程后jdwp转发,pid值即为我们进程号,并在命令行下附加。

成功附加后,可以下段了,打开Debugger Option

我们选择在线程开始和库加载时下断,修改成功后,jdb附加,点击运行

程序会断在elf头处,按下G键,搜索mmap,在mmap函数的段首和断尾下段

F9运行,来到断尾时F8单步,

来到此处时,在 BLunk_5C999C2C下断,F9一下,F7跟进去

跟进去今后在BLX LR处进行下断,此处就是进行反调试的地方,原理依然是获取TracePid的值判断当前是不是处于调试状态,建议第一次调试的人在fgets和fopen处下断,再f7跟进此调用就可以看到TracePid的值了。

跟进去之后,我们直接把方法移到最下方,就可以看到kill符号了,这就是杀进程的地方,如果当前处于调试状态,则直接结束进程。

我们在此函数的所有cmpR0,#0处下断,F9一下后即断在断点处,观察寄存器窗口的R0值,实质就是当前的TracePid的16进制的值

不确定的可以使用cat /proc/pid/status进行对比一下,我们直接把R0置0,右键选择Zero Value即可清0,继续F9

我们看到程序又来到了mmap处,继续f9

当继续断在调用反调试功能的方法时,继续F7跟进,依然在所有的cmp R0,#0处下断,断下后把R0清0后继续F9运行

目前的规律是,调用BLXLR的第一次,第二次和第四次是进行反调试判断的,第三次并不影响,可以直接f9跳过去,三次反调试搞定后,就可以愉快的F9运行并观察堆栈窗口了

当看到出现如下所示时:

说明壳已经开始解密并释放dex文件了,我们直接F8单步十几步,最后F9一下就可以看到我们需要的dex头了

直接脚本mp出来即可,最后把libjiagu的所有文件删除,并修复下Application标,如果存在则修复,不存在删除即可

‘捌’ 如何在linux中反编译java源代码

之前看同事使用JD-GUI来反编译java
.class文件,觉得很爽,不过一直以来也没有再次接触到这个问题,所以也没有对这个工具进行深入的了解。

今天无聊看了些技术文档,忽然想起这个工具来,上网一找。呼呼果真也有Linux的版本。
不过我网上资料显示主页上下载的gz包是32位的程序,我在64位的Fedora
12下可能有些问题,程序在运行时会调用不到关键的32位库而失败。幸运的是只要安装几个包即可:

yum install
libcanberra-gtk2.i686 PackageKit-gtk-mole.i686
gtk2-engines.i686

下载后:
tar -xzvf
jd-gui-0.3.2.linux.i686.tar.gz
sudo mv jd-gui
/usr/local/bin

至此jd-gui便可以在linux下运行,对于class或者jar文件都可以使用这个工具打开查看反编译源码
转载,仅供参考。

‘玖’ 反编译设置有成功的吗

一、dexmp方法dexmp是emulator自带提供的查看dex文件的工具,可使用类似这样的命令将dex文件mp到txt文件中:D:\ProgramFiles\android-sdk-windows-1.6_r1\platforms\android-1.6\tools>dexmp.exe-dclasses.dex>spk.mp.txt得到的文件内容,描述了类的信息,但实在是不好读啊~~~~二、dex2jar+XJad方法该方法是使用dex2jar.jar包,将classes.dex文件解包成jar,在通过XJad(或者其他class反编译工具)进行java反编译。如:1、dex2jar.batd:\play\classes.dex默认的输出路径同classes.dex,生成的文件名为classes.dex.dex2jar.jar2、使用XJad反编译该jar包之后的使用方法,大家都懂的:)该方法的好处在于,通过XJad反编译后,大家可直接开到java源文件,缺点在于只能反编译出开发时的java文件,而开发时使用的lib包不能反编译出来。三、AXMLPrinter2.jar+baksmali.jar+smali.jar方法这个方法就强大了,AXMLPrinter2是还原AndroidManifest.xml和main.xml的工具,直接打开这两个xml文件是乱码,而通过还原之后,可以很明白的看到里面的内容(我猜测还是使用了字节异或的方式加的密)。

‘拾’ 怎么打开lib中的包

lib下的包是.jar文件,改为。rar或者。zip就好了就能解压了,或者直接导到eclipse里打开,不过都是经过反编译过的

热点内容
单片机android 发布:2024-09-20 09:07:24 浏览:760
如何提高三星a7安卓版本 发布:2024-09-20 08:42:35 浏览:660
如何更换服务器网站 发布:2024-09-20 08:42:34 浏览:308
子弹算法 发布:2024-09-20 08:41:55 浏览:285
手机版网易我的世界服务器推荐 发布:2024-09-20 08:41:52 浏览:813
安卓x7怎么边打游戏边看视频 发布:2024-09-20 08:41:52 浏览:158
sql数据库安全 发布:2024-09-20 08:31:32 浏览:90
苹果连接id服务器出错是怎么回事 发布:2024-09-20 08:01:07 浏览:503
编程键是什么 发布:2024-09-20 07:52:47 浏览:655
学考密码重置要求的证件是什么 发布:2024-09-20 07:19:46 浏览:479