Search Results

Search found 19446 results on 778 pages for 'naive machine learner'.

Page 150/778 | < Previous Page | 146 147 148 149 150 151 152 153 154 155 156 157  | Next Page >

  • OpenVPN and brouting issue

    - by JavierMartinz
    I have a Guest XEN Machine in which I want to connect by OpenVPN to other network. But I have this problem: when I want to connect to that OpenVPN I get a lot of TLS handshake errors because I think that the packages did not come rightly. When, at the end, the guest machine achieve to connect (after several tries) I can't ping the other machines of the OpenVPN network. Except sometimes, where if I ping 20 times MAYBE i get ping-answer in 1-2 times. I think that this problem is related about how the HOST Xen machine 'filters' the packages to the bridge. I mean, I think that all the outgoing guest machines packages are good but the incoming traffic to the guests is not recognized well. How could I detect/solve the problem? Im using Debian Linux in both machines

    Read the article

  • How to copy a file to a remote server using the command line?

    - by cool_cs
    I am trying to copy a file from my desktop to my remote server using the sudo command. I am doing this from the remote machine since I know the password for this machine and I do not have a password for my local machine. sudo scp donj@localhost:/Desktop/my.cnf user@remotemachine:/app/MySQL/my.cnf This does not work however. I want to overwrite the my.cnf file in the MySQL directory. I tried the su command but I do not have the password to become a super user.

    Read the article

  • How can I view my remote desktop that is on a subnet

    - by Noremac
    I have my ubuntu machine at work and I'd like to use remote desktop to work from home. However the remote machine is on a subnet and not directly connected to the internet. I am able to remotely connect through ssh to a server, from which I then ssh to my remote machine. This has been beneficial, however I am currently working on a GUI application so just the command line doesn't work so well. Any ideas? I have tried using ssh with the -X flag on both sessions, but this doesn't work. I am trying to connect from Windows Vista through a Mac server (isn't it a great setup?).

    Read the article

  • What does the red x icon mean next to a user in folder permissions (Windows 7)

    - by Scott Szretter
    In trying to debug various strange issues on a machine, I found something strange - when I go to C:\Users\administrator and get properties, security tab, it lists the users (the local admin account, system, and 'administrator' which is the domain administrator account). It all looks fine in terms of permissions (full control, etc.) compared to other machines. The one difference is there is a small red circle with an X to the left of the user icon/name. Additionally, there are various folders where it says access denied under there - for example, my documents! Even logged in as the local machine administrator account (which is not named administrator), I am unable to change the permissions - it says access denied. Any ideas what this means and how to fix it? I even tried re-joining the machine to the domain.

    Read the article

  • Hyper-V with a single host NIC

    - by Cylindric
    I'm trying to create a simple Hyper-V test machine, and am having more problems than expected with the basic networking. All other hypervisors I've used (vmware server, vmware player, virtualbox) allow me to use the default single NIC in my machine, and then create guests with "bridged" mode so they appear like a normal machine on the network. With the Hyper-V server, when I create a Virtual Switch and set it to "external", I lose all network access from the host. The solutions I've seen online seem to rely on complex configurations requiring multiple vSwitches and RRAS on the host to get it going. Is it really that complex to get a simple, single-NIC Hyper-V server going, in such a way that I can still use the host? The host is Windows 8.

    Read the article

  • Setting a mapped drive in Virtual hosts causes apache to not start

    - by darksoulsong
    I´m trying to set a virtual host on my windows 7 machine. The folder I want to point to is located on a centOS machine and the folder path is Z:\Websites\Online\MyClient\Site. But something strange happens when I set the document root like this: DocumentRoot "Z:\Websites\Online\MyClient\Site" Apache do not restarts after that. When I take a look at the log, there is an error pointing to that line, where I added the path to the folder: Syntax error on line 48 of C:/Program Files/Zend/Apache2/conf/extra/httpd-vhosts.conf: DocumentRoot must be a directory. There must be a way to make it work like this, by setting an Apache Installation on a machine and pointing it to a folder located on another computer, right? My hosts file is set like this: 172.17.10.1\Data\Websites\Online\MyClient\Site MyClient.local ANY HELP would be VERY appreciated.

    Read the article

  • Setting up central git repo on local Mac network

    - by Dashman
    We are a team of three, all working on our local machines on the same internal network. We will all be working on websites in local working copies of the same Git repo hosted on Github. We have an internal staging machine here (dev.internal), and I am looking for a way for us to be able to push to this machine. At each milestone in the development cycle. In essence, all I really want us to be able to do is add the dev.internal machine as a remote, and push to this whenever we are ready. Could somebody please point me in the right direction to get this set up?

    Read the article

  • rsync: files copied with hidden attribute

    - by haritan
    I run a backup from Windows 7 machine to Mac machine running Mountain Lion using rsync that is packaged in DeltaCopy application. I can't use DeltaCopy interface because the destination is a mapped drive (Mac's samba drive). So here is my setup: I have a folder in Mac that is the destination folder and I share this folder via Samba share. On windows machine, I map this samba share to a drive (let's say M:/) I run rsync: rsync -arv --delete "/cygdrive/C//origin/" "/cygdrive/M//mybackup/" it runs fine except that all files on the destination are hidden. Anyone has an idea on what's happening here? I really appreciate any feedback. Thank you.

    Read the article

  • How to make your apache application accessible within network

    - by guest
    I have a Windows XP machine where I have installed WAMP and made a PHP based web application. I can access the web application from within this machine by using the browser and pointing to: http://localhost/myApp/ --- and the page loads fine. Now I want this site (http://localhost/myApp) to be accessible to all machines within the network (and may be later, to the general public as well). I am quite new to this, how do I make my site accessible to all machines within the network and to the general public in the internet? I tried modifying the httpd.conf file in Apache (WAMP) by changing Listen 80 to Listen 10.10.10.10:80 (where I replaced 10.10.10.10 with the actual IP of this windows xp machine). I also tried "Put Online" feature in WAMP. None seem to work though. How do I make it accessible?

    Read the article

  • vmware takes too much time to shut down

    - by user33754
    Each time I shuting down my virtual machine - it takes like 30 minutes for VM Ware to complete the process. The shut down is done, but it shows a black screen and doesn't respond to any command. I can't do a Power Power OFF or Power Suspend. When I click it - nothing changes. When trying to close - it says "still busy". This happens only when using a Virtual Machine stored on an external hard drive. When Virtual Machine files are stored on a local drive - everything is OK. Hard drive is working good. Any suggestions how can I investigate the issue?

    Read the article

  • Clients can make maximum only 15 connections to ubuntu custom server

    - by gtan
    I have a custom server in C# being run on Ubuntu 9 under mono. I can make up to 15 silverlight clients connect to the server. When I make the 16th, it just waits. And if I close one of the established connections, the 16th client is able to connect. I am making the connections from one machine. I am also not exceeding any file handle limit. The limit is 1024 and I am having around 300. Any ideas how to make more connections? Also why the number 15? Is it something linux-specific? EDIT: I have run the same server on an Ubuntu 11.10 virtual machine and was able to make more than 15 connections. I presume it's a configuration problem on the Ubuntu 9 machine then. Any help on that?

    Read the article

  • Mounting external usb harddisk (ext4) in virtual box in windows

    - by twall
    I would like to mount my external linux formatted usb harddrive in a virtual machine. The host is windows 7. Unfortunately virtual box doesn't enumerate the external harddrive in the options menu of the virtual machine, even though it shows all other devices connected to the host. Windows can find the harddrive, but obviously just gives me the option to reformat it, because it doesn't support ext4. (ext2fsd or Ext2Read are no options, as I need newer ext4 features) How can I add a filter for my external harddrive so it is recognized by my virtual machine?

    Read the article

  • can power supply affect I/O

    - by user101289
    I have a dev server machine running Ubuntu 12.04. For a long while it's been throwing intermittent errors where it would suddenly tell me "File system is read only" or drop into a GRUB error console on boot. I've done disk checks, bad blocks, etc. and no real problems with the main SATA drive were detected. Finally the drive would not be detected at all-- but neither would other drives I plugged in (via SATA). I plugged the supposedly "bad" drive into another server and it worked fine, no issues, for days-- so I assumed the motherboard had a bad SATA controller, and replaced the motherboard with an identical model. I replaced the drive into the original machine with the new motherboard, rebooted-- and the same issues-- I/O errors, failure to read the drive at all, dropping into GRUB, etc. I'm wondering if there could be some other issue with this machine, that's not related to the drive-- possibly power supply? Thanks for ideas

    Read the article

  • How do I fix the Dash search not being able to find "additional drivers" nor "update"?

    - by Dronz
    I am a fairly new user of Ubuntu, and currently have two 12.04 installations, one of which seems to work ok but I have two problems. The problem I'm asking about in this question, is that the Dash search seems unable to find things, such as "additional drivers" or "update". On my working machine, searching for "additional drivers" there finds an icon for the driver program, but on the problem machine, it gives "Sorry, there is nothing that matches your search." Dash also only shows sections for Recent Files, and Downloads, on that machine. The account I'm running is an admin account. This installation also has a stuck Ubuntu Software Center (it loads and hangs) as in threads like this one. I don't think I've done very much to this computer that could cause a problem. I installed g++ and Wt to do some programming. The biggest change I can remember is uninstalling the newfangled scrollbars with "sudo apt-get remove liboverlay-scrollbar3-0.2-0", but re-installing that module seems to have no effect on these issues. Anyone have any ideas? Both machines have been updated with all recommended updates and say they are up to date.

    Read the article

  • Best way to log internet traffic for office network via remote IP

    - by buzzmonkey
    We have a network of about 40 machines running either Win XP or 7 in our office via LAN switches into 1 x Netgear Router (WNDR3700). We have noticed recently that our local network has been added to the CBL Blacklist due to one of our machines being infected with Torpig. I have attempted to use Kaspersky's TDSSKiller Antirootkit Utility to find the infected machine but all appear to be clear. The CBL register advises to find the local machine which is connection to the remote IP address (CBL has provided the range). However, our router does not have the ability to block remote IP addresses - does anyone know of a software which can log all the internet traffic, which we can then use to find the infected machine.

    Read the article

  • Converted VmWare Image does not boot in Virtual Box

    - by vBox Question
    I have a .vddx virtual image which boots in VmWare, but I'm having trouble getting it to work with Sun Virtual Box. In Sun Virtual Box, I created a new Virtual Machine and pointed it at the vddx file from VmWare. When I try to boot the virtual machine, Sun Virtual Box says that the volume is not bootable. VmWare is able to boot from this virtual machine. Does anyone have any suggestions about what might be causing the problem? Is there a conversion utility that I need to run? Any debugging options that I could turn on?

    Read the article

  • Making application listen to port

    - by dplanet
    I am running an Ubuntu guest machine through my Windows 7 host machine (with Virtualbox), and on the Ubuntu system running an application that uses port 6969. Through configuring the Virtualbox port forwarding settings I have made it possible that I can go to 127.0.0.1:6969 in my browser and see the application's default page. However, I'm wondering how I can port forward from my Windows 7 machine to the whole network. My local network (IPv4) address is 192.168.0.5. I want to be able to go to 192.168.0.5:6969 from any computer on the network and see the application. I've searched Google but can only seem to find solutions in Linux, not Windows. How can I do this?

    Read the article

  • [CLOSED] IIS 6 is no longer installed after computer restart.

    - by jarrettcoggin
    [CLOSED] I was doing some maintenance on a build server at work and I changed some various settings (registry settings for custom applications, user permissions, etc.), then I restarted the machine. When the machine came back up, I couldn't access a website that is hosted on this machine, so I went digging around. It seems as if IIS6 was somehow uninstalled, which I know I didn't do. My question is: What would cause this? I've tried to reinstall it, uninstall it, reinstall it again, and nothing has changed. I still have a blank IIS Manager application (inetmgr), and no way to access these websites. BTW, the computer is running Windows Server 2003 R2 x64 Service Pack 2.

    Read the article

  • Best Linux distro for media server on older box

    - by fauxpride
    I have an older machine with these specs: CPU: AMD Athlon X2 @ 2,8 Ghz, 2MB L2 RAM: 4 GB DDR2@ 800 Mhz GPU: Asus 4890 TOP 1 GB I want to turn the machine into a media server via XBMC (so good video and wireless peripherial driver support would also be a plus), but I also want to use it as an OpenVPN server so I can tunnel RDP to my other Windows machine in the network. I mostly want to use a Debian based distro (for the convenience of apt) and right now my options are: Ubuntu, Xubuntu or Mint. Which one do you think is more fitting? Thanks in advance.

    Read the article

  • The best cross platform (portable) arbitrary precision math library

    - by Siu Ching Pong - Asuka Kenji
    Dear ninjas / hackers / wizards, I'm looking for a good arbitrary precision math library in C or C++. Could you please give me some advices / suggestions? The primary requirements: It MUST handle arbitrarily big integers (my primary interest is on integers). In case that you don't know what the word arbitrarily big means, imagine something like 100000! (the factorial of 100000). The precision MUST NOT NEED to be specified during library initialization / object creation. The precision should ONLY be constrained by the available resources of the system. It SHOULD utilize the full power of the platform, and should handle "small" numbers natively. That means on a 64-bit platform, calculating 2^33 + 2^32 should use the available 64-bit CPU instructions. The library SHOULD NOT calculate this in the same way as it does with 2^66 + 2^65 on the same platform. It MUST handle addition (+), subtraction (-), multiplication (*), integer division (/), remainder (%), power (**), increment (++), decrement (--), gcd(), factorial(), and other common integer arithmetic calculations efficiently. Ability to handle functions like sqrt() (square root), log() (logarithm) that do not produce integer results is a plus. Ability to handle symbolic computations is even better. Here are what I found so far: Java's BigInteger and BigDecimal class: I have been using these so far. I have read the source code, but I don't understand the math underneath. It may be based on theories / algorithms that I have never learnt. The built-in integer type or in core libraries of bc / Python / Ruby / Haskell / Lisp / Erlang / OCaml / PHP / some other languages: I have ever used some of these, but I have no idea on which library they are using, or which kind of implementation they are using. What I have already known: Using a char as a decimal digit, and a char* as a decimal string and do calculations on the digits using a for-loop. Using an int (or a long int, or a long long) as a basic "unit" and an array of it as an arbitrary long integer, and do calculations on the elements using a for-loop. Booth's multiplication algorithm What I don't know: Printing the binary array mentioned above in decimal without using naive methods. Example of a naive method: (1) add the bits from the lowest to the highest: 1, 2, 4, 8, 16, 32, ... (2) use a char* string mentioned above to store the intermediate decimal results). What I appreciate: Good comparisons on GMP, MPFR, decNumber (or other libraries that are good in your opinion). Good suggestions on books / articles that I should read. For example, an illustration with figures on how a un-naive arbitrarily long binary to decimal conversion algorithm works is good. Any help. Please DO NOT answer this question if: you think using a double (or a long double, or a long long double) can solve this problem easily. If you do think so, it means that you don't understand the issue under discussion. you have no experience on arbitrary precision mathematics. Thank you in advance! Asuka Kenji

    Read the article

  • JRuby wrong element type class java.lang.String(array contains char) related to JAVA_HOME

    - by Daryl
    I am on Ubuntu x64 bit running: java version "1.6.0_18" OpenJDK Runtime Environment (IcedTea6 1.8) (6b18-1.8-0ubuntu1) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) and jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2010-02-11 6586) (OpenJDK 64-Bit Server VM 1.6.0_18) [amd64-java] I have this code running on my Windows 7 computer at home. I recently copied over my whole folder over to Ubuntu, installed java, jruby, and associated gems but I get this error when I run my main file: jruby run.rb test =================Processing FREDERICKSBURG_1.1======================= ERROR IN TESTING wrong element type class java.lang.String(array contains char) /home/daryl/Desktop/work/Code/geografikos/lib/sentence_splitter/splitter.rb:21:in `to_java' /home/daryl/Desktop/work/Code/geografikos/lib/sentence_splitter/splitter.rb:21:in `split' /home/daryl/Desktop/work/Code/geografikos/lib/models/page.rb:103:in `sentences' /home/daryl/Desktop/work/Code/geografikos/lib/extractor/lingpipe_svm.rb:34:in `extract' /home/daryl/Desktop/work/Code/geografikos/lib/extractor/geo_controller.rb:9:in `process' /home/daryl/Desktop/work/Code/geografikos/lib/extractor/geo_controller.rb:8:in `each' /home/daryl/Desktop/work/Code/geografikos/lib/extractor/geo_controller.rb:8:in `process' /home/daryl/Desktop/work/Code/geografikos/lib/extractor/geo_controller.rb:6:in `each' /home/daryl/Desktop/work/Code/geografikos/lib/extractor/geo_controller.rb:6:in `process' /home/daryl/Desktop/work/Code/geografikos/lib/statistics.rb:111:in `generate_all' /home/daryl/Desktop/work/Code/geografikos/lib/statistics.rb:105:in `each' /home/daryl/Desktop/work/Code/geografikos/lib/statistics.rb:105:in `generate_all' run.rb:56 The focus of the error is: ERROR IN TESTING wrong element type class java.lang.String(array contains char) Everything works fine on my windows machine. I figured I was getting this error because I did not have JAVA_HOME set however I added this to bashrc as: export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk and have confirmed: echo $JAVA_HOME /usr/lib/jvm/java-1.6.0-openjdk I can produce a similar error by removing my JAVA_HOME variable on windows: =================Processing FREDERICKSBURG_1.3======================= ERROR IN TESTING cannot convert instance of class org.jruby.RubyString to char C:/work/Code/geografikos/lib/sentence_splitter/splitter.rb:21:in `to_java' C:/work/Code/geografikos/lib/sentence_splitter/splitter.rb:21:in `split' C:/work/Code/geografikos/lib/models/page.rb:103:in `sentences' C:/work/Code/geografikos/lib/extractor/lingpipe_svm.rb:34:in `extract' C:/work/Code/geografikos/lib/extractor/geo_controller.rb:9:in `process' C:/work/Code/geografikos/lib/extractor/geo_controller.rb:8:in `each' C:/work/Code/geografikos/lib/extractor/geo_controller.rb:8:in `process' C:/work/Code/geografikos/lib/extractor/geo_controller.rb:6:in `each' C:/work/Code/geografikos/lib/extractor/geo_controller.rb:6:in `process' C:/work/Code/geografikos/lib/statistics.rb:111:in `generate_all' C:/work/Code/geografikos/lib/statistics.rb:105:in `each' C:/work/Code/geografikos/lib/statistics.rb:105:in `generate_all' run.rb:56 It is obviously not exactly the same but I have a feeling this has to do with the java path. You can probably derive from the error that I am just trying to convert a ruby variable to java using to_java. This works fine on my windows machine and I have confirmed the gems are the same but I don't think this has to do with gems. I lied. I changed my JAVA_HOME back on my windows machine and this error still occurs. So now the code doesn't run on either machine. I recently installed git on my windows machine and added the code to a repository. But I haven't really done anything with it. All it said was it will convert all LF to CRLF...That shouldn't change anything though should it? Any ideas on why I am now getting these errors? I haven't changed anything on my windows machine in months except for installing git.

    Read the article

  • Java Refuses to Start - Could not reserve enough space for object heap

    - by Randyaa
    Background We have a pool of aproximately 20 linux blades. Some are running Suse, some are running Redhat. ALL share NAS space which contains the following 3 folders: /NAS/app/java - a symlink that points to an installation of a Java JDK. Currently version 1.5.0_10 /NAS/app/lib - a symlink that points to a version of our application. /NAS/data - directory where our output is written All our machines have 2 processors (hyperthreaded) with 4gb of physical memory and 4gb of swap space. We limit the number of 'jobs' each machine can process at a given time to 6 (this number likely needs to change, but that does not enter into the current problem so please ignore it for the time being). Some of our jobs set a Max Heap size of 512mb, some others reserve a Max Heap size of 2048mb. Again, we realize we could go over our available memory if 6 jobs started on the same machine with the heap size set to 2048, but to our knowledge this has not yet occurred. The Problem Once and a while a Job will fail immediately with the following message: Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine. We used to chalk this up to too many jobs running at the same time on the same machine. The problem happened infrequently enough (MAYBE once a month) that we'd just restart it and everything would be fine. The problem has recently gotten much worse. All of our jobs which request a max heap size of 2048m fail immediately almost every time and need to get restarted several times before completing. We've gone out to individual machines and tried executing them manually with the same result. Debugging It turns out that the problem only exists for our SuSE boxes. The reason it has been happening more frequently is becuase we've been adding more machines, and the new ones are SuSE. 'cat /proc/version' on the SuSE boxes give us: Linux version 2.6.5-7.244-bigsmp (geeko@buildhost) (gcc version 3.3.3 (SuSE Linux)) #1 SMP Mon Dec 12 18:32:25 UTC 2005 'cat /proc/version' on the RedHat boxes give us: Linux version 2.4.21-32.0.1.ELsmp ([email protected]) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-52)) #1 SMP Tue May 17 17:52:23 EDT 2005 'uname -a' gives us the following on BOTH types of machines: UTC 2005 i686 i686 i386 GNU/Linux No jobs are running on the machine, and no other processes are utilizing much memory. All of the processes currently running might be using 100mb total. 'top' currently shows the following: Mem: 4146528k total, 3536360k used, 610168k free, 132136k buffers Swap: 4194288k total, 0k used, 4194288k free, 3283908k cached 'vmstat' currently shows the following: procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 0 610292 132136 3283908 0 0 0 2 26 15 0 0 100 0 If we kick off a job with the following command line (Max Heap of 1850mb) it starts fine: java/bin/java -Xmx1850M -cp helloworld.jar HelloWorld Hello World If we bump up the max heap size to 1875mb it fails: java/bin/java -Xmx1875M -cp helloworld.jar HelloWorld Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine. It's quite clear that the memory currently being used is for Buffering/Caching and that's why so little is being displayed as 'free'. What isn't clear is why there is a magical 1850mb line where anything higher means Java can't start. Any explanations would be greatly appreciated.

    Read the article

  • How might maven's buildNumber metadata become inconsistent across multiple build agents?

    - by Brian Laframboise
    We recently added a second build machine to our build environment and began experiencing very odd occasional build failures. I have two separate Maven build machines, A and B, each running Maven 2.2.1 and communicating to a shared Nexus 1.5.0 repository manager. My problem is that builds on B will occasionally fail because it refuses to download a newer version of a common dependency 'acme-1.0.0-SNAPSHOT' previously built by A and uploaded to Nexus. Looking inside the local repositories on both machines I noticed some oddities in the repository metadata. Machine A's acme\1.0.0-SNAPSHOT\maven-metadata-nexus.xml: <metadata> <groupId>acme</groupId> <artifactId>acme</artifactId> <version>1.0.0-SNAPSHOT</version> <versioning> <snapshot> <buildNumber>1</buildNumber> </snapshot> <lastUpdated>20100525173546</lastUpdated> </versioning> </metadata> Machine B's acme\1.0.0-SNAPSHOT\maven-metadata-nexus.xml: <metadata> <groupId>acme</groupId> <artifactId>acme</artifactId> <version>1.0.0-SNAPSHOT</version> <versioning> <snapshot> <buildNumber>2</buildNumber> </snapshot> <lastUpdated>20100519232317</lastUpdated> </versioning> </metadata> In Nexus's acme/1.0.0-SNAPSHOT/maven-metadata.xml: <metadata> <groupId>acme</groupId> <artifactId>acme</artifactId> <version>1.0.0-SNAPSHOT</version> <versioning /> </metadata> If I'm interpreting the metadata files correctly (documentation online is scant), it appears machine B believes it has a newer version of the acme dependency (based on buildNumber) despite the fact that machine A last built it 6 days after machine B did (based on timestamp). Nexus also appears to be unaware of a universally correct buildNumber. How could this situation possibly arise? What could I do to prevent my builds from failing due to inconsistent metadata? Have you experienced anything similar? Important notes: Both build machines have settings.xml files where the updatePolicy is "always". Nexus does indeed have the newer version of acme that was built by A. B simply refuses to download it. A and B are the only machines uploading to Nexus. Both servers share the same system time. All processes involved have write privileges to the metadata files so that they can be updated as necessary. I was unable to find any open Maven or Nexus issues describing this behaviour. Our CI server (Atlassian Bamboo) prevents builds of the same artifact from happening concurrently, so some race condition while uploading to Nexus is rather unlikely.

    Read the article

  • Dynamic obfuscation by self-modifying code

    - by Fallout2
    Hi all, Here what's i am trying to do: assume you have two fonction void f1(int *v) { *v = 55; } void f2(int *v) { *v = 44; } char *template; template = allocExecutablePages(...); char *allocExecutablePages (int pages) { template = (char *) valloc (getpagesize () * pages); if (mprotect (template, getpagesize (), PROT_READ|PROT_EXEC|PROT_WRITE) == -1) { perror (“mprotect”); } } I would like to do a comparison between f1 and f2 (so tell what is identical and what is not) (so get the assembly lines of those function and make a line by line comparison) And then put those line in my template. Is there a way in C to do that? THanks Update Thank's for all you answers guys but maybe i haven't explained my need correctly. basically I'm trying to write a little obfuscation method. The idea consists in letting two or more functions share the same location in memory. A region of memory (which we will call a template) is set up containing some of the machine code bytes from the functions, more specifically, the ones they all have in common. Before a particular function is executed, an edit script is used to patch the template with the necessary machine code bytes to create a complete version of that function. When another function assigned to the same template is about to be executed, the process repeats, this time with a different edit script. To illustrate this, suppose you want to obfuscate a program that contains two functions f1 and f2. The first one (f1) has the following machine code bytes Address Machine code 0 10 1 5 2 6 3 20 and the second one (f2) has Address Machine code 0 10 1 9 2 3 3 20 At obfuscation time, one will replace f1 and f2 by the template Address Machine code 0 10 1 ? 2 ? 3 20 and by the two edit scripts e1 = {1 becomes 5, 2 becomes 6} and e2 = {1 becomes 9, 2 becomes 3}. #include <stdlib.h> #include <string.h> typedef unsigned int uint32; typedef char * addr_t; typedef struct { uint32 offset; char value; } EDIT; EDIT script1[200], script2[200]; char *template; int template_len, script_len = 0; typedef void(*FUN)(int *); int val, state = 0; void f1_stub () { if (state != 1) { patch (script1, script_len, template); state = 1; } ((FUN)template)(&val); } void f2_stub () { if (state != 2) { patch (script2, script_len, template); state = 2; } ((FUN)template)(&val); } int new_main (int argc, char **argv) { f1_stub (); f2_stub (); return 0; } void f1 (int *v) { *v = 99; } void f2 (int *v) { *v = 42; } int main (int argc, char **argv) { int f1SIZE, f2SIZE; /* makeCodeWritable (...); */ /* template = allocExecutablePages(...); */ /* Computed at obfuscation time */ diff ((addr_t)f1, f1SIZE, (addr_t)f2, f2SIZE, script1, script2, &script_len, template, &template_len); /* We hide the proper code */ memset (f1, 0, f1SIZE); memset (f2, 0, f2SIZE); return new_main (argc, argv); } So i need now to write the diff function. that will take the addresses of my two function and that will generate a template with the associated script. So that is why i would like to compare bytes by bytes my two function Sorry for my first post who was not very understandable! Thank you

    Read the article

  • C++ pimpl idiom wastes an instruction vs. C style?

    - by Rob
    (Yes, I know that one machine instruction usually doesn't matter. I'm asking this question because I want to understand the pimpl idiom, and use it in the best possible way; and because sometimes I do care about one machine instruction.) In the sample code below, there are two classes, Thing and OtherThing. Users would include "thing.hh". Thing uses the pimpl idiom to hide it's implementation. OtherThing uses a C style – non-member functions that return and take pointers. This style produces slightly better machine code. I'm wondering: is there a way to use C++ style – ie, make the functions into member functions – and yet still save the machine instruction. I like this style because it doesn't pollute the namespace outside the class. Note: I'm only looking at calling member functions (in this case, calc). I'm not looking at object allocation. Below are the files, commands, and the machine code, on my Mac. thing.hh: class ThingImpl; class Thing { ThingImpl *impl; public: Thing(); int calc(); }; class OtherThing; OtherThing *make_other(); int calc(OtherThing *); thing.cc: #include "thing.hh" struct ThingImpl { int x; }; Thing::Thing() { impl = new ThingImpl; impl->x = 5; } int Thing::calc() { return impl->x + 1; } struct OtherThing { int x; }; OtherThing *make_other() { OtherThing *t = new OtherThing; t->x = 5; } int calc(OtherThing *t) { return t->x + 1; } main.cc (just to test the code actually works...) #include "thing.hh" #include <cstdio> int main() { Thing *t = new Thing; printf("calc: %d\n", t->calc()); OtherThing *t2 = make_other(); printf("calc: %d\n", calc(t2)); } Makefile: all: main thing.o : thing.cc thing.hh g++ -fomit-frame-pointer -O2 -c thing.cc main.o : main.cc thing.hh g++ -fomit-frame-pointer -O2 -c main.cc main: main.o thing.o g++ -O2 -o $@ $^ clean: rm *.o rm main Run make and then look at the machine code. On the mac I use otool -tv thing.o | c++filt. On linux I think it's objdump -d thing.o. Here is the relevant output: Thing::calc(): 0000000000000000 movq (%rdi),%rax 0000000000000003 movl (%rax),%eax 0000000000000005 incl %eax 0000000000000007 ret calc(OtherThing*): 0000000000000010 movl (%rdi),%eax 0000000000000012 incl %eax 0000000000000014 ret Notice the extra instruction because of the pointer indirection. The first function looks up two fields (impl, then x), while the second only needs to get x. What can be done?

    Read the article

< Previous Page | 146 147 148 149 150 151 152 153 154 155 156 157  | Next Page >